commit 40ef8c3ee6cab71708f830b24ab6decf7540aac0 Author: Gary Sherman Date: Sat Jul 6 00:33:05 2002 +0000 Initial revision git-svn-id: http://svn.osgeo.org/qgis/trunk@4 c8812cc2-4d05-0410-92ff-de0c093fc19c diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000000..3fcb237b4f7 --- /dev/null +++ b/INSTALL @@ -0,0 +1,7 @@ +To build Qgis: +1. Make sure your QTDIR environment variable is set to your Qt directory +2. Set PGSQL environment variable to point to your PostgresQL installation and make sure the libpq++ + headers are available in $(PGSQL)/include +3. Build qgis by typing: make + +The qgis executable will be built in the ./qgis/src directory \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 00000000000..79bd352e9d1 --- /dev/null +++ b/Makefile @@ -0,0 +1,40 @@ +############################################################################# +# Makefile for building: qgis +# Generated by qmake (1.02a) on: Fri Jul 5 00:35:22 2002 +# Project: qgis.pro +# Template: subdirs +# Command: $(QMAKE) -nocache qgis.pro +############################################################################# + +MAKEFILE = Makefile +QMAKE = qmake +SUBDIRS = src +SUBTARGETS = \ + sub-src + +first: all + +all: Makefile $(SUBTARGETS) + +src/$(MAKEFILE): + cd src && $(QMAKE) -nocache -o $(MAKEFILE) +sub-src: src/$(MAKEFILE) FORCE + cd src && $(MAKE) -f $(MAKEFILE) + +Makefile: qgis.pro $(QTDIR)/mkspecs/default/qmake.conf + $(QMAKE) -nocache qgis.pro +qmake: qmake_all + @$(QMAKE) -nocache qgis.pro + +qmake_all: src/$(MAKEFILE) + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; grep "^qmake_all:" $(MAKEFILE) 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) qmake_all || true; fi; ) ; done + +clean: qmake_all FORCE + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) clean; fi; ) ; done +uninstall install uiclean mocclean: qmake_all FORCE + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) $@; fi; ) ; done +distclean: qmake_all FORCE + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) $@ ; rm -f $(MAKEFILE) ; fi; ) ; done + +FORCE: + diff --git a/README b/README new file mode 100644 index 00000000000..cd15dd47fd2 --- /dev/null +++ b/README @@ -0,0 +1,5 @@ +This code is preliminary and really has no true functionality other than +the ability to define a PostGIS connection and display the spatially enabled +tables that could be loaded. + +This is the initial import of the code base into CVS on Sourceforge.net. \ No newline at end of file diff --git a/doxygen.conf b/doxygen.conf new file mode 100644 index 00000000000..e31acbab16b --- /dev/null +++ b/doxygen.conf @@ -0,0 +1,921 @@ +# Doxyfile 1.2.14 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "Quantum GIS" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 0.1 + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = qgis_api + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, +# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, +# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish. + +OUTPUT_LANGUAGE = English + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these class will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower case letters. If set to YES upper case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are adviced to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consist of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ./src /opt/postgresql-7.2.1/src/interfaces/libpq++ + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse. + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 4 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = Qgs + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the Html help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, +# or Internet explorer 4.0+). Note that for large projects the tree generation +# can take a very long time. In such cases it is better to disable this feature. +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line and do not end with a semicolon. Such function macros are typically +# used for boiler-plate code, and will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tagfiles. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yield more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are gif, jpg, and png +# If left blank gif will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermedate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/local/bin/ + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/qgis.pro b/qgis.pro new file mode 100644 index 00000000000..8646d614d19 --- /dev/null +++ b/qgis.pro @@ -0,0 +1,8 @@ +###################################################################### +# Automatically generated by qmake (1.02a) Thu Jul 4 08:57:41 2002 +###################################################################### +CONFIG += qt thread debug +TEMPLATE = subdirs + +# Directories +SUBDIRS = src diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 00000000000..bcc0667150b --- /dev/null +++ b/src/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building: qgis +# Generated by qmake (1.02a) on: Fri Jul 5 16:15:03 2002 +# Project: src.pro +# Template: app +# Command: $(QMAKE) src.pro +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +LEX = flex +YACC = yacc +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS = -pipe -Wall -W -g -D_REENTRANT -DQT_THREAD_SUPPORT +LEXFLAGS = +YACCFLAGS= -d +INCPATH = -I$(PGSQL)/include -I$(QTDIR)/include -I$(QTDIR)/mkspecs/default +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) -Wl,-rpath,$(QTDIR)/lib -L$(QTDIR)/lib -L/usr/X11R6/lib -L$(PGSQL)/lib -lpq++ -lqt-mt -lpthread -lXext -lX11 -lm +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic +QMAKE = qmake +TAR = tar -cf +GZIP = gzip -9f +COPY = cp -f +COPY_FILE= $(COPY) -p +COPY_DIR = $(COPY) -pR +DEL_FILE = rm -f +DEL_DIR = rmdir +MOVE = mv + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +HEADERS = qgsdbsourceselectbase.ui.h \ + qgisapp.h \ + QgisAppBase.ui.h \ + qgsdatabaselayer.h \ + qgsdatasource.h \ + qgsmapcanvas.h \ + qgsmaplayer.h \ + qgsrasterlayer.h \ + qgsshapefilelayer.h \ + qgstable.h \ + qgsdbsourceselect.h \ + qgsnewconnection.h +SOURCES = main.cpp \ + qgisapp.cpp \ + qgsdatabaselayer.cpp \ + qgsdatasource.cpp \ + qgsmapcanvas.cpp \ + qgsmaplayer.cpp \ + qgsrasterlayer.cpp \ + qgsdbsourceselect.cpp \ + qgsnewconnection.cpp +OBJECTS = main.o \ + qgisapp.o \ + qgsdatabaselayer.o \ + qgsdatasource.o \ + qgsmapcanvas.o \ + qgsmaplayer.o \ + qgsrasterlayer.o \ + qgsdbsourceselect.o \ + qgsnewconnection.o \ + qgsdbsourceselectbase.o \ + QgisAppBase.o \ + qgsnewconnectionbase.o +FORMS = qgsdbsourceselectbase.ui \ + QgisAppBase.ui \ + qgsnewconnectionbase.ui +UICDECLS = qgsdbsourceselectbase.h \ + QgisAppBase.h \ + qgsnewconnectionbase.h +UICIMPLS = qgsdbsourceselectbase.cpp \ + QgisAppBase.cpp \ + qgsnewconnectionbase.cpp +SRCMOC = moc_qgsmapcanvas.cpp \ + moc_qgsdbsourceselectbase.cpp \ + moc_QgisAppBase.cpp \ + moc_qgsnewconnectionbase.cpp +OBJMOC = moc_qgsmapcanvas.o \ + moc_qgsdbsourceselectbase.o \ + moc_QgisAppBase.o \ + moc_qgsnewconnectionbase.o +DIST = +QMAKE_TARGET = qgis +DESTDIR = +TARGET = qgis + +first: all +####### Implicit rules + +.SUFFIXES: .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +mocables: $(SRCMOC) + +$(MOC): + ( cd $(QTDIR)/src/moc ; $(MAKE) ) + +Makefile: src.pro $(QTDIR)/mkspecs/default/qmake.conf + $(QMAKE) src.pro +qmake: + @$(QMAKE) src.pro + +dist: + @mkdir -p .tmp/qgis && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/qgis/ && ( cd `dirname .tmp/qgis` && $(TAR) qgis.tar qgis && $(GZIP) qgis.tar ) && mv `dirname .tmp/qgis`/qgis.tar.gz . && rm -rf .tmp/qgis + +mocclean: + -rm -f $(OBJMOC) + -rm -f $(SRCMOC) + +uiclean: + -rm -f $(UICIMPLS) $(UICDECLS) + +clean: mocclean uiclean + -rm -f $(OBJECTS) + -rm -f *~ core *.core + + +####### Sub-libraries + +distclean: clean + -rm -f $(TARGET) $(TARGET) + + +FORCE: + +####### Compile + +main.o: main.cpp qgisapp.h \ + QgisAppBase.h + +qgisapp.o: qgisapp.cpp qgsmapcanvas.h \ + qgsdbsourceselect.h \ + qgisapp.h \ + qgsdbsourceselectbase.h \ + QgisAppBase.h + +qgsdatabaselayer.o: qgsdatabaselayer.cpp qgsdatabaselayer.h \ + qgsmaplayer.h \ + qgsdatasource.h + +qgsdatasource.o: qgsdatasource.cpp qgsdatasource.h + +qgsmapcanvas.o: qgsmapcanvas.cpp qgsmaplayer.h \ + qgsmapcanvas.h \ + qgsdatasource.h + +qgsmaplayer.o: qgsmaplayer.cpp qgsmaplayer.h \ + qgsdatasource.h + +qgsrasterlayer.o: qgsrasterlayer.cpp qgsrasterlayer.h \ + qgsmaplayer.h \ + qgsdatasource.h + +qgsdbsourceselect.o: qgsdbsourceselect.cpp qgsdbsourceselect.h \ + qgsnewconnection.h \ + qgsdbsourceselectbase.h \ + qgsnewconnectionbase.h + +qgsnewconnection.o: qgsnewconnection.cpp qgsnewconnection.h \ + qgsnewconnectionbase.h + +qgsdbsourceselectbase.h: qgsdbsourceselectbase.ui qgsdbsourceselectbase.ui.h + $(UIC) qgsdbsourceselectbase.ui -o qgsdbsourceselectbase.h + +qgsdbsourceselectbase.cpp: qgsdbsourceselectbase.h qgsdbsourceselectbase.ui qgsdbsourceselectbase.ui.h + $(UIC) qgsdbsourceselectbase.ui -i qgsdbsourceselectbase.h -o qgsdbsourceselectbase.cpp + +QgisAppBase.h: QgisAppBase.ui QgisAppBase.ui.h + $(UIC) QgisAppBase.ui -o QgisAppBase.h + +QgisAppBase.cpp: QgisAppBase.h QgisAppBase.ui QgisAppBase.ui.h + $(UIC) QgisAppBase.ui -i QgisAppBase.h -o QgisAppBase.cpp + +qgsnewconnectionbase.h: qgsnewconnectionbase.ui + $(UIC) qgsnewconnectionbase.ui -o qgsnewconnectionbase.h + +qgsnewconnectionbase.cpp: qgsnewconnectionbase.h qgsnewconnectionbase.ui + $(UIC) qgsnewconnectionbase.ui -i qgsnewconnectionbase.h -o qgsnewconnectionbase.cpp + +qgsdbsourceselectbase.o: qgsdbsourceselectbase.cpp qgsdbsourceselectbase.h + +QgisAppBase.o: QgisAppBase.cpp QgisAppBase.h + +qgsnewconnectionbase.o: qgsnewconnectionbase.cpp qgsnewconnectionbase.h + +moc_qgsmapcanvas.o: moc_qgsmapcanvas.cpp qgsmapcanvas.h + +moc_qgsdbsourceselectbase.o: moc_qgsdbsourceselectbase.cpp qgsdbsourceselectbase.h + +moc_QgisAppBase.o: moc_QgisAppBase.cpp QgisAppBase.h + +moc_qgsnewconnectionbase.o: moc_qgsnewconnectionbase.cpp qgsnewconnectionbase.h + +moc_qgsmapcanvas.cpp: $(MOC) qgsmapcanvas.h + $(MOC) qgsmapcanvas.h -o moc_qgsmapcanvas.cpp + +moc_qgsdbsourceselectbase.cpp: $(MOC) qgsdbsourceselectbase.h + $(MOC) qgsdbsourceselectbase.h -o moc_qgsdbsourceselectbase.cpp + +moc_QgisAppBase.cpp: $(MOC) QgisAppBase.h + $(MOC) QgisAppBase.h -o moc_QgisAppBase.cpp + +moc_qgsnewconnectionbase.cpp: $(MOC) qgsnewconnectionbase.h + $(MOC) qgsnewconnectionbase.h -o moc_qgsnewconnectionbase.cpp + +####### Install + +install: all + +uninstall: + diff --git a/src/QgisAppBase.cpp b/src/QgisAppBase.cpp new file mode 100644 index 00000000000..0a92a42af7a --- /dev/null +++ b/src/QgisAppBase.cpp @@ -0,0 +1,678 @@ +/**************************************************************************** +** Form implementation generated from reading ui file 'QgisAppBase.ui' +** +** Created: Fri Jul 5 08:49:38 2002 +** by: The User Interface Compiler (uic) +** +** WARNING! All changes made in this file will be lost! +****************************************************************************/ +#include "QgisAppBase.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "QgisAppBase.ui.h" +static const char* const image0_data[] = { +"16 13 5 1", +"# c #040404", +"c c #808304", +". c #bfc2bf", +"a c #f3f704", +"b c #f3f7f3", +".........###....", +"........#...#.#.", +".............##.", +".###........###.", +"#aba#######.....", +"#babababab#.....", +"#ababababa#.....", +"#baba###########", +"#aba#ccccccccc#.", +"#ba#ccccccccc#..", +"#a#ccccccccc#...", +"##ccccccccc#....", +"###########....."}; + +static const char* const image1_data[] = { +"22 22 165 2", +"Qt c None", +".f c #000000", +"aq c #090909", +"aI c #0b0b0b", +"#l c #0c0c0c", +".o c #1d1d1d", +"#w c #232323", +".T c #29292a", +"aA c #313131", +"aE c #323233", +"aG c #343434", +"aH c #363636", +"ar c #363637", +"ap c #373738", +"au c #39393a", +"#C c #398491", +"aB c #3a3a3a", +"ax c #3a3f40", +".a c #3b3b3c", +"aw c #3c3c3c", +".c c #3c3c3d", +"aC c #3d3d3e", +"#t c #3d8996", +".b c #3e3e3f", +"a. c #404040", +".d c #404041", +"#E c #404647", +"#Y c #414648", +"ag c #414748", +"af c #424849", +"#B c #4298a7", +".A c #434343", +"#m c #434344", +"#j c #4399a8", +".K c #444444", +".q c #444445", +"#N c #4496a5", +"#s c #449aa9", +"#c c #454545", +".p c #474747", +"#G c #484848", +"#D c #489ead", +"#Q c #494949", +".h c #49494a", +"ak c #4a4a4a", +".B c #4c4c4d", +"#A c #4cb7cb", +"a# c #4d4d4e", +"#r c #4dbace", +"aj c #4f4f4f", +"#O c #50a3b5", +"## c #50a6b9", +"#M c #52a7b3", +"#k c #54acb9", +".e c #585859", +"aa c #595959", +".# c #59595a", +"#0 c #5b5b5b", +"#i c #5bb1c4", +".V c #5c5c5c", +"#T c #5c5d5c", +".g c #5d5d5e", +"#L c #60b3c5", +".5 c #626262", +"#9 c #635920", +"#u c #63b5c4", +"al c #686868", +"#z c #68bdcf", +"#a c #6ab5c3", +"av c #6b6b6b", +"#7 c #6b7274", +"#x c #6c6c6c", +"#1 c #6c6d6c", +".2 c #6cbacb", +"#. c #6cc3d9", +".U c #6d6d6d", +".z c #6f6f70", +"ae c #707071", +"ai c #717171", +"ad c #717172", +"ay c #727273", +"ab c #737374", +"an c #747475", +"#h c #74c8dd", +"ac c #757576", +"ao c #767677", +"as c #777778", +"#y c #78c3d3", +"#H c #797a79", +"#3 c #79989c", +"#K c #79bfcc", +".n c #7a7a7b", +".r c #7b7879", +"#2 c #7b7c7b", +".3 c #7bc4d4", +".C c #7d7e7d", +"aF c #7f7f80", +".Q c #81c9d6", +".i c #868787", +".9 c #86d1e1", +"#F c #878787", +"#W c #87cad6", +".1 c #87cddc", +"#6 c #88a8ad", +".P c #8acdd9", +"#P c #8acfe1", +"#S c #8e8e8e", +"am c #928237", +"#q c #96d5e5", +"#g c #96d7e7", +"#V c #99d4e0", +".0 c #99d8e6", +"#R c #9b9b9b", +".I c #9bd6e2", +".4 c #9da2a1", +".O c #9dd9e6", +".W c #a2a7a7", +"#J c #a4dbe9", +".H c #a5dcea", +"#n c #a6abaa", +"#f c #a8e1eb", +"#4 c #a9c7ce", +"aD c #aaaaaa", +"#v c #abdfea", +"#Z c #ac993f", +".Z c #ace0eb", +".j c #afb4b4", +".R c #afe1ec", +"#p c #b1dbe4", +".N c #b1e2ec", +".m c #b2b7b7", +"#b c #b2c7cb", +"#5 c #b3cad0", +".L c #bababa", +".6 c #bac0c1", +"#U c #bae4ef", +".k c #bbc4c6", +".l c #bbc5c6", +".J c #bbe7ee", +"ah c #bda44c", +"#X c #bde6f0", +".G c #bde7f0", +".Y c #c3e9f0", +".M c #c5cfd2", +"#e c #c5e7ec", +".F c #c6edf5", +".8 c #cbe9f2", +".x c #cceff7", +"az c #cecece", +".S c #ced9d9", +".s c #cfdada", +"#I c #d7f0f4", +".w c #d7f3f8", +"#o c #d8edf1", +".y c #dce7e9", +".u c #dcf2f5", +".v c #ddf4fa", +"#8 c #dece9d", +"at c #e1e1e1", +"#d c #e3f2f4", +".t c #e5f0f2", +".X c #e5f4f8", +".7 c #e7f3f6", +".D c #e9f8fa", +".E c #ffffff", +"QtQtQtQtQt.#.a.b.c.d.e.f.fQtQtQtQtQtQtQtQtQt", +"QtQtQt.g.h.i.j.k.l.m.n.o.p.f.fQtQtQtQtQtQtQt", +"QtQt.q.r.s.t.u.v.w.x.v.y.z.A.f.fQtQtQtQtQtQt", +"Qt.B.C.y.D.E.D.F.G.H.I.J.y.C.K.f.fQtQtQtQtQt", +".L.h.M.D.E.E.E.D.N.O.P.Q.R.S.T.U.f.fQtQtQtQt", +".V.W.y.u.X.E.D.Y.Z.0.1.2.3.R.4.5.f.fQtQtQtQt", +".h.6.7.8.8.D.Y.R.0.9#.###a.N#b#c.f.f.fQtQtQt", +".h.k#d#e.J.N#f#g.9#h#i#j#k#f#b#l.f.f.fQtQtQt", +"#m#n#o#p.I.0#q.9#h#r#s#t#u#v.W#w.f.f.fQtQtQt", +"#x.C.s.R.P.Q#y#z#A#B#C#D#q.s#E.p.f.f.fQtQtQt", +"#F#G#H#I#J#K#L#M#N#t#O#P#o.4.f#Q.f.f.fQtQtQt", +"#R#S#T.C#o#U#V#W#y.1#X#o.C#Y.f#Z.f.f.fQtQtQt", +"#G.f#0#1#2#3#4#e#e#5#6#7#Y.f.E#8#9.f.fQtQtQt", +".f.fa..Va#aaabacadaeafag.fah#8.Eab.b.f.fQtQt", +".f.f.f.f.faia#ajak#Qal#l#9amafan.Eaoap.f.fQt", +"Qt.f.f.f.f.f.f.f.f.faq.f.f#9arafasat.nau.f.f", +"QtQtavaw.f.f.f.f.f.f.f.f.f.fararaxayaz.zaA.f", +"QtQtavaB.f.f.f.f.f.f.f.f.f.f.f.farafaeazaeaC", +"avavaDaBavav.f.f.f.f.f.f.f.f.f.faEarafaeaF.d", +"aGaGaH.f.f.fQtQtQtQtQtQtQt.f.f.f.f.farafaI.d", +"QtQtal.fQtQtQtQtQtQtQtQtQtQt.f.f.f.f.f.f.d.f", +"QtQtav.fQtQtQtQtQtQtQtQtQtQtQt.f.f.f.f.f.f.f"}; + +static const char* const image2_data[] = { +"22 22 83 2", +"Qt c None", +".b c #000000", +".E c #060504", +".L c #070605", +".D c #080605", +".h c #0a0807", +".a c #0f0d0a", +".i c #100d0b", +".o c #110e0b", +"#e c #120e0c", +"#l c #13100d", +".p c #14100d", +".# c #14110d", +".Q c #15110e", +"#n c #17120f", +".9 c #191511", +"#b c #1b1612", +"#j c #1c1713", +".T c #1f1a15", +".W c #201a15", +".V c #231c17", +".Z c #241d18", +".2 c #241e18", +".K c #251f19", +".c c #261f19", +"#q c #27201a", +".R c #28201a", +"#k c #28211b", +".P c #2b231c", +".v c #2b231d", +".U c #2d241e", +".8 c #2d251e", +"#o c #2e261f", +"#i c #302720", +".g c #322921", +".1 c #332a22", +"#p c #342b23", +".S c #352b24", +"#d c #372d25", +".d c #392f27", +"#h c #3a2f27", +"#f c #3b3027", +"#m c #3c3128", +".j c #3e3229", +"#. c #3e332a", +".5 c #40342a", +".7 c #40342b", +"#g c #41352b", +".q c #42362c", +"## c #44372d", +".C c #44382d", +"#a c #45392f", +".0 c #46392e", +".N c #46392f", +".X c #483b30", +".F c #493c31", +".O c #4a3c31", +".M c #4a3c32", +".k c #4b3d31", +".6 c #4b3d32", +".B c #4c3e32", +".G c #4c3e33", +".4 c #4c3f33", +".n c #4d3f33", +".Y c #4d3f34", +"#c c #4d4034", +".J c #4e4034", +".r c #4f4035", +".H c #514236", +".x c #524337", +".e c #544438", +".m c #554538", +".f c #554539", +".u c #564639", +".l c #57473a", +".3 c #57483a", +".y c #58483b", +".s c #5a4a3c", +".I c #5e4c3e", +".A c #5e4e3f", +".t c #615041", +".z c #645243", +".w c #ffffff", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.aQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQt.b.c.d.e.f.g.hQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQt.i.j.k.l.m.n.n.oQtQtQtQt", +"QtQtQtQtQtQtQtQtQt.p.q.r.s.t.m.u.v.wQtQtQtQt", +"QtQtQtQtQtQtQtQtQt.c.x.y.z.A.B.C.DQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.E.F.G.H.I.n.J.K.wQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.L.M.N.G.O.P.o.wQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQt.w.Q.R.S.T.w.wQtQtQtQtQtQtQt", +"QtQtQtQtQtQt.U.VQt.w.w.w.wQtQtQtQt.b.bQtQtQt", +"QtQtQtQtQt.W.X.Y.ZQtQtQtQtQtQt.b.b.0.1.bQtQt", +"QtQtQtQtQt.2.M.3.4.bQtQtQtQt.b.C.5.6.7.bQtQt", +"QtQtQtQtQt.w.8.b.9.wQtQtQt.b.6.F#..N##.bQtQt", +"QtQtQtQtQtQt.w.w.wQtQtQtQt.b#a.G.n.x#b.wQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.Z#c.N.q.G#d#eQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.b.6#f#g.N.v.bQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.b###h.7#i.b.wQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt#j.7.7.b.b.wQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQt.hQt.w.b.b.w.wQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQt#k.O#lQt.w.wQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQt.b.H#m#nQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQt#o#p#q.iQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQt.w.b.b.wQtQtQtQtQtQtQtQtQt"}; + +static const char* const image3_data[] = { +"22 22 163 2", +"Qt c None", +".f c #000000", +"av c #060606", +"aq c #090909", +"aG c #0b0b0b", +"#l c #0c0c0c", +".o c #1d1d1d", +"#w c #232323", +".T c #29292a", +"az c #313131", +"aC c #323233", +"aE c #343434", +"aF c #363636", +"ar c #363637", +"ap c #373738", +"au c #39393a", +"#C c #398491", +"aw c #3a3f40", +".a c #3b3b3c", +".c c #3c3c3d", +"aA c #3d3d3e", +"#t c #3d8996", +".b c #3e3e3f", +"a. c #404040", +".d c #404041", +"#E c #404647", +"#Y c #414648", +"ag c #414748", +"af c #424849", +"#B c #4298a7", +".A c #434343", +"#m c #434344", +"#j c #4399a8", +".K c #444444", +".q c #444445", +"#N c #4496a5", +"#s c #449aa9", +"#c c #454545", +".p c #474747", +"#G c #484848", +"#D c #489ead", +"#Q c #494949", +".h c #49494a", +"ak c #4a4a4a", +".B c #4c4c4d", +"#A c #4cb7cb", +"a# c #4d4d4e", +"#r c #4dbace", +"aj c #4f4f4f", +"#O c #50a3b5", +"## c #50a6b9", +"#M c #52a7b3", +"#k c #54acb9", +".e c #585859", +"aa c #595959", +".# c #59595a", +"#0 c #5b5b5b", +"#i c #5bb1c4", +".V c #5c5c5c", +"#T c #5c5d5c", +".g c #5d5d5e", +"#L c #60b3c5", +".5 c #626262", +"#9 c #635920", +"#u c #63b5c4", +"al c #686868", +"#z c #68bdcf", +"#a c #6ab5c3", +"aB c #6b6b6b", +"#7 c #6b7274", +"#x c #6c6c6c", +"#1 c #6c6d6c", +".2 c #6cbacb", +"#. c #6cc3d9", +".U c #6d6d6d", +".z c #6f6f70", +"ae c #707071", +"ai c #717171", +"ad c #717172", +"ax c #727273", +"ab c #737374", +"an c #747475", +"#h c #74c8dd", +"ac c #757576", +"ao c #767677", +"as c #777778", +"#y c #78c3d3", +"#H c #797a79", +"#3 c #79989c", +"#K c #79bfcc", +".n c #7a7a7b", +".r c #7b7879", +"#2 c #7b7c7b", +".3 c #7bc4d4", +".C c #7d7e7d", +"aD c #7f7f80", +".Q c #81c9d6", +".i c #868787", +".9 c #86d1e1", +"#F c #878787", +"#W c #87cad6", +".1 c #87cddc", +"#6 c #88a8ad", +".P c #8acdd9", +"#P c #8acfe1", +"#S c #8e8e8e", +"am c #928237", +"#q c #96d5e5", +"#g c #96d7e7", +"#V c #99d4e0", +".0 c #99d8e6", +"#R c #9b9b9b", +".I c #9bd6e2", +".4 c #9da2a1", +".O c #9dd9e6", +".W c #a2a7a7", +"#J c #a4dbe9", +".H c #a5dcea", +"#n c #a6abaa", +"#f c #a8e1eb", +"#4 c #a9c7ce", +"#v c #abdfea", +"#Z c #ac993f", +".Z c #ace0eb", +".j c #afb4b4", +".R c #afe1ec", +"#p c #b1dbe4", +".N c #b1e2ec", +".m c #b2b7b7", +"#b c #b2c7cb", +"#5 c #b3cad0", +".L c #bababa", +".6 c #bac0c1", +"#U c #bae4ef", +".k c #bbc4c6", +".l c #bbc5c6", +".J c #bbe7ee", +"ah c #bda44c", +"#X c #bde6f0", +".G c #bde7f0", +".Y c #c3e9f0", +".M c #c5cfd2", +"#e c #c5e7ec", +".F c #c6edf5", +".8 c #cbe9f2", +".x c #cceff7", +"ay c #cecece", +".S c #ced9d9", +".s c #cfdada", +"#I c #d7f0f4", +".w c #d7f3f8", +"#o c #d8edf1", +".y c #dce7e9", +".u c #dcf2f5", +".v c #ddf4fa", +"#8 c #dece9d", +"at c #e1e1e1", +"#d c #e3f2f4", +".t c #e5f0f2", +".X c #e5f4f8", +".7 c #e7f3f6", +".D c #e9f8fa", +".E c #ffffff", +"QtQtQtQtQt.#.a.b.c.d.e.f.fQtQtQtQtQtQtQtQtQt", +"QtQtQt.g.h.i.j.k.l.m.n.o.p.f.fQtQtQtQtQtQtQt", +"QtQt.q.r.s.t.u.v.w.x.v.y.z.A.f.fQtQtQtQtQtQt", +"Qt.B.C.y.D.E.D.F.G.H.I.J.y.C.K.f.fQtQtQtQtQt", +".L.h.M.D.E.E.E.D.N.O.P.Q.R.S.T.U.f.fQtQtQtQt", +".V.W.y.u.X.E.D.Y.Z.0.1.2.3.R.4.5.f.fQtQtQtQt", +".h.6.7.8.8.D.Y.R.0.9#.###a.N#b#c.f.f.fQtQtQt", +".h.k#d#e.J.N#f#g.9#h#i#j#k#f#b#l.f.f.fQtQtQt", +"#m#n#o#p.I.0#q.9#h#r#s#t#u#v.W#w.f.f.fQtQtQt", +"#x.C.s.R.P.Q#y#z#A#B#C#D#q.s#E.p.f.f.fQtQtQt", +"#F#G#H#I#J#K#L#M#N#t#O#P#o.4.f#Q.f.f.fQtQtQt", +"#R#S#T.C#o#U#V#W#y.1#X#o.C#Y.f#Z.f.f.fQtQtQt", +"#G.f#0#1#2#3#4#e#e#5#6#7#Y.f.E#8#9.f.fQtQtQt", +".f.fa..Va#aaabacadaeafag.fah#8.Eab.b.f.fQtQt", +".f.f.f.f.faia#ajak#Qal#l#9amafan.Eaoap.f.fQt", +"Qt.f.f.f.f.f.f.f.f.faq.f.f#9arafasat.nau.f.f", +"QtQt.fav.f.f.f.f.f.f.f.f.f.fararawaxay.zaz.f", +"QtQtQt.f.f.f.f.f.f.f.f.f.f.f.f.farafaeayaeaA", +"aBaBaBaBaBaB.f.f.f.f.f.f.f.f.f.faCarafaeaD.d", +"aEaEaF.f.f.fQtQtQtQtQtQtQt.f.f.f.f.farafaG.d", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.f.f.f.f.f.d.f", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.f.f.f.f.f.f"}; + +static const char* const image4_data[] = { +"32 32 5 1", +". c None", +"a c #00c0c0", +"c c #808080", +"b c #c0ffff", +"# c #ffff00", +"....................#...........", +"................................", +"................................", +"............#.....#.............", +"......#.........................", +".................aaabc..........", +".................aaab#..........", +".................aabcc.....#...#", +".....#..#..#....a#a#c..###......", +"..............#.aabc##..........", +"...............aaabc#..#.......#", +".##......#.....aaabc#...........", +"...##.....#...##abcc.......#....", +"..............aaa#c...........#.", +"..........#...aaabc.#..#......#.", +"...aaaaaa#aaaaaaaaaaaaaaaaaaaa..", +"...aaaaaaaaaaaaaaaaaaaaaaaaaac..", +"...cbbb#bbbbbaabbbbbbbbbbbbbbc..", +"...cccccccccaabbccccccc#cccccc..", +"...#.......aaabcc..#............", +"...........aaab#...#............", +"..#..#.....aabcc...#............", +"...#......aaabc.................", +"..#.......aabbc.....#.#.........", +".......#.aa#bcc#................", +"....#....aabbc....#.#...........", +"..#.....aaabcc...#..#...#.......", +"..#.....aaabc...................", +".......bbbbbc...................", +".......cccccc...........#.......", +"..................#....#........", +"................................"}; + + +/* + * Constructs a QgisAppBase which is a child of 'parent', with the + * name 'name' and widget flags set to 'f'. + * + */ +QgisAppBase::QgisAppBase( QWidget* parent, const char* name, WFlags fl ) + : QMainWindow( parent, name, fl ) +{ + (void)statusBar(); + QPixmap image0( ( const char** ) image0_data ); + QPixmap image1( ( const char** ) image1_data ); + QPixmap image2( ( const char** ) image2_data ); + QPixmap image3( ( const char** ) image3_data ); + QPixmap image4( ( const char** ) image4_data ); + if ( !name ) + setName( "QgisAppBase" ); + resize( 609, 451 ); + QFont f( font() ); + f.setFamily( "Helvetica [Urw]" ); + setFont( f ); + setCaption( trUtf8( "Quantum GIS" ) ); + setCentralWidget( new QWidget( this, "qt_central_widget" ) ); + QgisAppBaseLayout = new QGridLayout( centralWidget(), 1, 1, 3, 6, "QgisAppBaseLayout"); + + frameMain = new QFrame( centralWidget(), "frameMain" ); + frameMain->setFrameShape( QFrame::StyledPanel ); + frameMain->setFrameShadow( QFrame::Raised ); + + QgisAppBaseLayout->addWidget( frameMain, 0, 0 ); + + // actions + actionFileOpen = new QAction( this, "actionFileOpen" ); + actionFileOpen->setIconSet( QIconSet( image0 ) ); + actionFileOpen->setText( trUtf8( "Open Project" ) ); + actionFileExit = new QAction( this, "actionFileExit" ); + actionFileExit->setText( trUtf8( "Exit" ) ); + actionFileExit->setMenuText( trUtf8( "E&xit" ) ); + actionZoomIn = new QAction( this, "actionZoomIn" ); + actionZoomIn->setIconSet( QIconSet( image1 ) ); + actionZoomIn->setText( trUtf8( "Zoom In" ) ); + actionZoomIn->setMenuText( trUtf8( "Zoom &In" ) ); + actionPan = new QAction( this, "actionPan" ); + actionPan->setIconSet( QIconSet( image2 ) ); + actionPan->setText( trUtf8( "Pan" ) ); + actionPan->setMenuText( trUtf8( "&Pan" ) ); + actionZoomOut = new QAction( this, "actionZoomOut" ); + actionZoomOut->setIconSet( QIconSet( image3 ) ); + actionZoomOut->setText( trUtf8( "Zoom out" ) ); + actionZoomOut->setMenuText( trUtf8( "Zoom &out" ) ); + actionAddLayer = new QAction( this, "actionAddLayer" ); + actionAddLayer->setIconSet( QIconSet( image4 ) ); + actionAddLayer->setText( trUtf8( "Add Layer" ) ); + + + // toolbars + Toolbar = new QToolBar( "", this, DockTop ); + + Toolbar->setLabel( trUtf8( "Toolbar" ) ); + actionFileOpen->addTo( Toolbar ); + mapNavigationToolbar = new QToolBar( "", this, DockTop ); + + mapNavigationToolbar->setLabel( trUtf8( "Toolbar_2" ) ); + actionZoomIn->addTo( mapNavigationToolbar ); + actionZoomOut->addTo( mapNavigationToolbar ); + actionPan->addTo( mapNavigationToolbar ); + Toolbar_2 = new QToolBar( "", this, DockTop ); + + Toolbar_2->setLabel( trUtf8( "Toolbar_2" ) ); + actionAddLayer->addTo( Toolbar_2 ); + + + // menubar + menubar = new QMenuBar( this, "menubar" ); + + QFont menubar_font( menubar->font() ); + menubar_font.setPointSize( 10 ); + menubar->setFont( menubar_font ); + menubar->setFrameShape( QMenuBar::MenuBarPanel ); + menubar->setFrameShadow( QMenuBar::Raised ); + PopupMenu = new QPopupMenu( this ); + actionFileOpen->addTo( PopupMenu ); + actionFileExit->addTo( PopupMenu ); + menubar->insertItem( trUtf8( "File" ), PopupMenu ); + + PopupMenu_2 = new QPopupMenu( this ); + actionAddLayer->addTo( PopupMenu_2 ); + menubar->insertItem( trUtf8( "View" ), PopupMenu_2 ); + + + + // signals and slots connections + connect( actionFileExit, SIGNAL( activated() ), this, SLOT( fileExit() ) ); + connect( actionFileOpen, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); + connect( actionAddLayer, SIGNAL( activated() ), this, SLOT( addLayer() ) ); + connect( actionZoomOut, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); + connect( actionZoomIn, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); + init(); +} + +/* + * Destroys the object and frees any allocated resources + */ +QgisAppBase::~QgisAppBase() +{ + // no need to delete child widgets, Qt does it all for us +} + diff --git a/src/QgisAppBase.h b/src/QgisAppBase.h new file mode 100644 index 00000000000..b95f9436299 --- /dev/null +++ b/src/QgisAppBase.h @@ -0,0 +1,58 @@ +/**************************************************************************** +** Form interface generated from reading ui file 'QgisAppBase.ui' +** +** Created: Fri Jul 5 08:47:44 2002 +** by: The User Interface Compiler (uic) +** +** WARNING! All changes made in this file will be lost! +****************************************************************************/ +#ifndef QGISAPPBASE_H +#define QGISAPPBASE_H + +#include +#include +class QVBoxLayout; +class QHBoxLayout; +class QGridLayout; +class QAction; +class QActionGroup; +class QToolBar; +class QPopupMenu; +class QFrame; + +class QgisAppBase : public QMainWindow +{ + Q_OBJECT + +public: + QgisAppBase( QWidget* parent = 0, const char* name = 0, WFlags fl = WType_TopLevel ); + ~QgisAppBase(); + + QFrame* frameMain; + QMenuBar *menubar; + QPopupMenu *PopupMenu; + QPopupMenu *PopupMenu_2; + QToolBar *Toolbar; + QToolBar *mapNavigationToolbar; + QToolBar *Toolbar_2; + QAction* actionFileOpen; + QAction* actionFileExit; + QAction* actionZoomIn; + QAction* actionPan; + QAction* actionZoomOut; + QAction* actionAddLayer; + + +public slots: + virtual void fileExit(); + virtual void fileOpen(); + virtual void addLayer(); + virtual void zoomIn(); + virtual void zoomOut(); + virtual void init(); + +protected: + QGridLayout* QgisAppBaseLayout; +}; + +#endif // QGISAPPBASE_H diff --git a/src/QgisAppBase.ui b/src/QgisAppBase.ui new file mode 100644 index 00000000000..fdc2d2c453c --- /dev/null +++ b/src/QgisAppBase.ui @@ -0,0 +1,238 @@ + +QgisAppBase + + + QgisAppBase + + + + 0 + 0 + 609 + 451 + + + + + Helvetica [Urw] + + + + Quantum GIS + + + + unnamed + + + 3 + + + 6 + + + + frameMain + + + StyledPanel + + + Raised + + + + + + + menubar + + + + 10 + + + + MenuBarPanel + + + Raised + + + + + + + + + + + + + Toolbar + + + Toolbar + + + + + + mapNavigationToolbar + + + Toolbar_2 + + + + + + + + Toolbar_2 + + + Toolbar_2 + + + + + + + + actionFileOpen + + + image0 + + + Open Project + + + + + actionFileExit + + + Exit + + + E&xit + + + + + actionZoomIn + + + image1 + + + Zoom In + + + Zoom &In + + + + + actionPan + + + image2 + + + Pan + + + &Pan + + + + + actionZoomOut + + + image3 + + + Zoom out + + + Zoom &out + + + + + actionAddLayer + + + image4 + + + Add Layer + + + + + + 789c5d8ecf0ac2300cc6ef7d8ab0dc866cabf5cf407c04c1a3201ed24ad1c32e731e447c7749d3cccd2f94f0fdfa256d5dc2e97880b2368f81867b8070a31ecaebb3eb5ee7cbfe6d0abb01eb600db65898022100362b2eb6816ddbb44e6cc5d6c7b0f4912db18d2e6ee5d6ab8d2e855588c86dca301d9cb19c159667743c7d8d3ca1a8d27de829d78429a2bf1cfe34ee0b2ad4dc14e57d33246c8e321b25ef7e76e60bb41d5309 + + + 789c6d96db72d4480c86ef798a14baa3b6c48cc763bb6b6b2f48082140ce09096ced85ecb6939013391fb6f6dd57fdff9d01124639d43792dc925ad2cceb57737beb2b73af5ebfb8bcb2abc36eae3bb08bb957f1fae4e4feef7ffefaf7c5cba298f39f71359d2b5efef1e2e5c6d55c37b77a76da27d0c141467825b6737048025e06b74912cb31b84b02ffb3c4e39804fadbc4c52409f4dbe0e06278de9bc4937112f0223899c3de96c06512f07b7095047c31e31afc1d5cbb34e06b7070c179b2406ecac0f3e6c196047c97792891bf1ab875417e867c265d12e8bb19235fe3f3a30bea2957e42604c4ab2db8771960af89cb5112e8e38c119f2c66ae4ae4275fc06367e6b79fb9ce8cfb2b8bd21384fd3c3934067f45bd514ed4574e668cfaca37720886e7e947305ee0f3194f61bf4a0e95912f339bf17cd4a79c26813feec7a3ad733eb85f8fb661fcf2961c7a63ff6c804312f81fcc98f77504b624d033dfce85feccb76beb0efd6a028e2ebc9f0b726b1dd898ff9004fab5c4d3914d5ae62799ab96f9ad800bab5bd613f14c4beba8d71edcb8707ed04fd390047a9931fb73046e93800fc9edb863fd3f83bb24d06f678e64453f38c529f3fb94b81a79fbb2fe53709104fa009e4c4381fe936b723be57986f9ae9a24d03f90dbd8b13ec8a732b7e7bcde80db24d0d7e4baa8d95f98afaa4b021e678e642dc87e1ff457b28f17ebb5038e49c08c67a8869afb0af5ae472e9c6fd4af1e2701c719237fbb07172e8c1ff399d607e3b553706a57deff01b96b22e71dfd5d4f5db88fb0ffeaca85fb08f350a717ebc7f31acf87fd827d5687da6af6d3841c9ac0fa7c24b743c7fa301e73417d14fd5bb77593fd8bcc5dd6f379ad8f03fb07fba98e755f33fe77e0a11e1aee1fcc5b33ee42e4be42fdfcf2fd007020c771cffd04ffa4a55e76c99d65ff71e618994f056eace17ceb3ad85ccff81f79c8cfdf02f749102ff655289a82fb5eb08f42e5edcefbd9cfec0982312f21f8b833bf51e6a6477cb2096e9340bf4c8e558ffed0121cad30c4a36be418e8afc8d7b535f7ab7c00fb42e9d9afb85f9bc6aee77ce3fecc07c6c8d8d7d6f4e39efd8ef32c7475de47d8878617f4982f6be3909ff715dc85c0cf13cddc8ff83cc53eb3a12d5bdeff26d9cfe37d601fb7638f97fa55725f50afa8775bb4de52b06fc95ddea7827de2dbc522eb8b7dd35a127045f6af07bccf1d725ff68c17fbb2f5feec58cfe3ccd3cc1fc87dddb31e98bf365a5932fe3d725f0d3c7f29739d199f97dda40f99b1affde943e4feebc9fe7ce68b7eeeaa3e0edc970dd86f73603f607f755d3f0c9c6fec9fae4f02fd163986bcaf30ff7e9a45de17fa2b7a7403eb7d9b7932703f607f7877c681fd867de1dd53e77eba260f458e0ffd10a37f5cf1f988377a3481f38def1f7edb8ff38afde75f3e8a7c3ef5538f87f9ed652e198f627ff7293ede07fad1abd1f03cc5f79301afc41b578fa2a2a6ad761ab5d741871f9a47f961affb7aa087fa4d8ff4584ff454cff4fb739f477b3dd70bbdd42bbdd61bbdd53bff7baf0ffae6a907ed755e175cff5617fdf79d2ee97b5dd60ffece827efcd583fdeb91acc07a111eabbaa6ebbaa19bbaa5dbbaf3b3073f8f75d79f75ad7bb0fea25f75a4632d74e21ea54e9fd91f68a5b5362ec97ad3ad83a88898ae4a2b5db27ff4c8f64712a5f7885765907db73e9043f926474ead1c3fb59713399533f9ee398ee41cd617722957722d37ba2bb7cfecefbc0e971e87e728f7f2206f645e16e4adfb5eca226fe117fb77b224ef65593ec847f9242bb2eacf5e937539f36c07d97866bf295bb2ad0b1ed38e7c965db9d7b1ecb9f5827c71fbafcfec97fcdd918ca5908994d2bb4ca5923a59eba234129ed4c7c9543f5bda91be667ccc7a1b6cdfdf3d904617adf51ecc1e8ff6143b749f6f76241b762cc712ecc4fd4edde3cc72efe5fe199e8a9da7bfee71e11e9776a5a7769dde79ec4fbbb1dbe75eee77e17267f7f6a00ff6e617fbf9dfd9679fc1337af0df057ebf72796bf3e9ff6fed17b3c73be5fc2fb9bcffb9cab3f9fcf58c65da239ee3df4deb934ac49fe3ffbdfdd3dabdfcefcf17ff03c2d57e7b + + + 789c8dd4c9521b491006e03b4fa1a06ec4c4efaea51785c3071b1bf0c2ee053331875e910049ec023be6dda7f2af566363498c5a077dcaaceaacacea7eb1d63bdadbeeadbd58b9bec96f8665af1ce457bdb5ea76347af8fb9f573f57568de9f96f667b66f5af95d5fd9b5ed9db998c6b010a0f15f143bfa393288e1cfd894ee51ffa2d9d751ed0b9ff27a573ba89aa28a787621d7917f484d6511dac6ada7897f4396d6504f32f68d759b5d6adf7e95866e4f8319dfa191bc6fb745f3218e77a75a113cd66a853baf4232cf33fd38dce7558df37b1893a7fa5ad8ca08f69a72b9dd1a675ddfa231dfb19fb74492733ab4b3a953b307e406733abb3d65a87feedd1855440df750efdf8425752019db58e8315fb6f6aa980e6fed8482a60fe096d4cdfb05fd0b435b909fde27e58277764fc908ebd795e5445a77247c683fba631ec97e279b179e7862ea4027a4497569bd03fee8fada522c6d1da57c4782c7691af2838ed1cce17d7e3b454c838fbed8c4d4c386f3c4fce49c58cafb7ce8215cfb38b65058c4774e21dfabbd339c48fe84c56446fd07d5911bd4be79db73bb3bfe07ebbc2566d3ce91ce26fe8523a426f760efbe15a37adf93cb8aaf3f7ce61bfca60e918e31fe8baf315dd7887fddc12c75a3a48dfd3c6591b9e073ecfb1930ed2dccf38f61d0c6e3a87e7e1964ea483349fff3875a90dfb695b67ad1fe84c3a4c5fd3b974907e4fd7d211fa75ebda86fd91979f4ab47fbd85fefea09dac809e8a1b7ec2cb72f105e5affcd18bf351a044851a0d4e30782e1f439ce20ce71861ecafc9f27c5ce01257b8c68dcfbfc51da6cfe497b8c7037ee035de601d6f97d78f77d8c026b6f0de57f2011f1f675f90ff09dbd8f12376b187c9afd90bf2a7d8c7010ef1d9ff9afe1e7b9a8f2ff8ca11d35f737d6f8b79f9f886237cc7f1937d28104187114ff28dafdcc2cd6663f63a622448e7e64f91f98cfeac12ff3bc1860276949a973fabfc717695fb3e8d71af8af0efb2f3866355fabe5e625355aa5e7e7e66d5a8469df83177f3fbf3345f293540aa862866352ecb57a7be2b29fbf9cc79f3730fb876e63e777efccc67d855e7a15bcbcf43b7d22d3552e33f230be69fa80b7589e1ffcd9f553e27ffdf972bff01e14f70e8 + + + 789c85965b53dc480c85dff32b28f496dad2ce783cb6bbb6f681704b20102090906ced83ecb681700bb770d9daffbeea739a4902a9da392155dfb4d456ab25797e7f39b7bfb531f7f2f71757d7767dd4cd75877639f732de9c9edefff5f79fffbc982f8a39ff37ae2673c5fc6f2fe6b7afe7bab9cdf3b33e810e0e32c227b17d035749e00b704802af82dba4c47202ee92b0df79e2714cc2fa6de2629284f55d707019f67b483c19278117c1c91cf6b60c2e93c02be02a097c39e31afc155cbb1af00d38b8f03ce1fea129039f87f82636194a9c5f0ddcba789e0edcb9701e5b004717f227d7e42604c4a32db8770db0d7c4e52809eb71c678be2c67ae4ac42f9fc06367c67f90b9ce8cfb2a8bd20f00fb57e4d018fc15f1215dc89f9cce18f9932fe4100cfbe93a181ff0c58ca7b0df2487cac85799cdf87ce4a79c26c11ff9f768eb7c1ed48b47db307e592287de581fdbe09004ffc319b33e8ec19684759eb773d19fe7eddaba433d9a80a38bf773496ead031bcf3f2461fd5de2e9c8262dcf2799ab96e7db001756b7cc27e29996d6715d7b70e3627fa07ea62109eb3263d6df08dc26818fc8edb863fe3f80bb24acef668e64453d38c529cff7367135f27265fea7e02209eb013c998602f52737e476cae719fab76a92b0fe406e63c7fce03c95b93dfb11f9afda24acd7e4baa8595f77e02e093cce1cc95a90fd3ee8af646f2fe66b0f1c93c08c67a8869af309f9ae472ef62ff2578f93c071c638bf211e8faea8193ffa338d07c66b67e054aebcff4372d744f63beabb9eba386f30dfeacac579837ea8d387f9bb07377e1ed6cb6b70a8ad663d4dc8a109cccf3ab91d3ae687f1980bf951d46fddd64df62f3277799dfbb5de0eac1fccb73ad67dcdf8d16ff5500f0de70ffaad197721725e217f7ef9fe007020c771cff984799b56b92e1fc99d65ff71e618799e0adc58c3fed62db0f93ae37fe421efff1edc27215eccab503405e7b9601e85cacb9df77390d90f0846bf84e0edcef38d32373de2931d709b84f537e458f5a80f2dc1d10a433cfa8e1c03fd15e7f5d59af355d6c03e507ad62beed7a6b1ebd9dfb83ff3863132e6b535fdb867bde37916ba9af348f0beb5360ed9ff33b80b81ef0fcddc8fe8af985f36b465cbfbde21fbfecc3fe66f3bf6f8b8be49ee0bae2bf2db16ad9710ec5b7297e7a7607ef834b1c87c62beb49604aec8febae7fded91fbb267bc988fadd763c7fc9d649e665e23f775cffb46bfb5d1ca92f1ef93fb6ae0f35733d799f17eec267dc88cf9ecbb0f91f3ae27fbfe3c2feab7abfa38703e3660bfbd81f78ff9d075fd30b09fd1bf5d9f84f5f7e418f27c42bffbd32cf2be504fd1a31b98efdbcc9381f300f3c2ab310eac2fecefd552e7fab9210f458e0ff510a3bf9eb83fe28d1e4d603fe3f786dff6637f62def98f8d223f9feb538f87e7dbcf5c321ec5bcee537cbc0fcc07cf46c3e7297e8f0cf824debe7e948a9ab6da69d45e071dbeaf3ceabbbd1ee8a11ee9173dd6133dd5333dd7afcf7d1eedf5422ff54aaff546bfe9addef9fff7faa00b4f3d68afaf74d1d79774d9ff5674555feb1b5df36f1675fd670fd6af47b201eb65786cea3bddd26dddd1f7baab7b3f7af0fdab1f7daf1bdd87f527fdac231d6ba113f72875faccfe502badb57125eb1db70ea22262ba29ad74c9fed123db1f4b94de23de94410edcfa508ee48b1c3bb572f2d45e4ee54ccee5ab9f712417b0be942bb9961bf9a61fe5f699fd9de7e1cae3f033cabd3cc882bc92455972df2b59e62dfc64bf22abf25adec89aaccb5bd9904ddffb9d6cc9b99f7690ed67f63bf25e7675d163da930ff251ee752cfb6ebd289fdcfef333fb55ff762463296422a5f4aea95452276b5d9646c293fc3899ea0713331f393e86acb7c10efcdb436974d95aafc1ecf1684fd991fb7cb163d9b613399160a7ee77e61ee7966b2fd7cff0547691fe778f4bf7b8b26b3db39bf4cdac3e07fbf6dccbbfbd74ddda9d79b5da83fed02fbfb29ef90c7ea27bff5be0efa9effaa5fd62f65852f6ffb26be5c72ccffaf3e767acd2fe7997fecac31575f83ffba7e79afff78f17ff01869e754c + + + 789ca594cd4ac5301085f77d8ad0b32b921b1541101f417129888b64547471afa0d78588efee4cdb49f3777fc0d34233cdd7399369dad560eeef6eccb0ea3eb77efb46865efd87199ebed6ebef87c7eb9fae3f3f337c5e98d3fea4ebad2173fbbe7996b1e7319c233e2424092f9d1c120609c9bdb024848412b871d6368464bc8bb1ff645039a54c7effa097f73ed0110c0e3281281680c8404f46e0c108805d7930a6c17eafb1622c0b9dbcf421644c99074bef8058f1fc54edc569903487b19c815ad9a59ec8f851f00dd99c69892243210404113b654a189520f310d365597bda3f2a364ab1767de30d064b8fa7feb5f220b1b2a5621e4d1374e3a060e6dbdc45b6aa36b632c8d2a0f10d269b62ae385d5cc5541567f568ebf731dafa28d44c391bcb3eea9ff07bd5fd014c960b22 + + + + + actionFileExit + activated() + QgisAppBase + fileExit() + + + actionFileOpen + activated() + QgisAppBase + fileOpen() + + + actionAddLayer + activated() + QgisAppBase + addLayer() + + + actionZoomOut + activated() + QgisAppBase + zoomOut() + + + actionZoomIn + activated() + QgisAppBase + zoomIn() + + + + QgisAppBase.ui.h + + + fileExit() + fileOpen() + addLayer() + zoomIn() + zoomOut() + init() + + + diff --git a/src/QgisAppBase.ui.h b/src/QgisAppBase.ui.h new file mode 100644 index 00000000000..c92f4feb986 --- /dev/null +++ b/src/QgisAppBase.ui.h @@ -0,0 +1,49 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you wish to add, delete or rename slots use Qt Designer which will +** update this file, preserving your code. Create an init() slot in place of +** a constructor, and a destroy() slot in place of a destructor. +*****************************************************************************/ + + +void QgisAppBase::fileExit() +{ + +} + + +void QgisAppBase::fileOpen() +{ + +} + + +void QgisAppBase::addLayer() +{ + +} + + +void QgisAppBase::zoomIn() +{ + +} + +void QgisAppBase::zoomOut() +{ + +} + + + +void QgisAppBase::init() +{ + /* + // set popupmenu fonts since there doesn't seem to be any other way to do it in designer... + QFont menubar_font( menubar->font() ); + menubar_font.setPointSize( 10 ); + PopupMenu->setFont( menubar_font ); + PopupMenu_2->setFont( menubar_font ); + */ +} diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 00000000000..94ebb69adc9 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,54 @@ +/*************************************************************************** + main.cpp - description + ------------------- + begin : Fri Jun 21 10:48:28 AKDT 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com +***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +//#include "qgis.h" +#include "qgisapp.h" + +int main(int argc, char *argv[]) +{ + + + QApplication a(argc, argv); + // a.setFont(QFont("helvetica", 11)); + QTranslator tor( 0 ); + // set the location where your .qm files are in load() below as the last parameter instead of "." + // for development, use "/" to use the english original as + // .qm files are stored in the base project directory. + tor.load( QString("qgis.") + QTextCodec::locale(), "." ); + a.installTranslator( &tor ); + /* uncomment the following line, if you want a Windows 95 look*/ + a.setStyle("Windows"); + + QgisApp *qgis=new QgisApp(); + a.setMainWidget(qgis); + + qgis->show(); + a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) ); + + + int result = a.exec(); + + return result; +} + + diff --git a/src/moc_QgisAppBase.cpp b/src/moc_QgisAppBase.cpp new file mode 100644 index 00000000000..f5363c72604 --- /dev/null +++ b/src/moc_QgisAppBase.cpp @@ -0,0 +1,113 @@ +/**************************************************************************** +** QgisAppBase meta object code from reading C++ file 'QgisAppBase.h' +** +** Created: Fri Jul 5 08:50:38 2002 +** by: The Qt MOC ($Id$) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#undef QT_NO_COMPAT +#include "QgisAppBase.h" +#include +#include + +#include +#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 19) +#error "This file was generated using the moc from 3.0.4. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +const char *QgisAppBase::className() const +{ + return "QgisAppBase"; +} + +QMetaObject *QgisAppBase::metaObj = 0; +static QMetaObjectCleanUp cleanUp_QgisAppBase; + +#ifndef QT_NO_TRANSLATION +QString QgisAppBase::tr( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "QgisAppBase", s, c, QApplication::DefaultCodec ); + else + return QString::fromLatin1( s ); +} +#ifndef QT_NO_TRANSLATION_UTF8 +QString QgisAppBase::trUtf8( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "QgisAppBase", s, c, QApplication::UnicodeUTF8 ); + else + return QString::fromUtf8( s ); +} +#endif // QT_NO_TRANSLATION_UTF8 + +#endif // QT_NO_TRANSLATION + +QMetaObject* QgisAppBase::staticMetaObject() +{ + if ( metaObj ) + return metaObj; + QMetaObject* parentObject = QMainWindow::staticMetaObject(); + static const QUMethod slot_0 = {"fileExit", 0, 0 }; + static const QUMethod slot_1 = {"fileOpen", 0, 0 }; + static const QUMethod slot_2 = {"addLayer", 0, 0 }; + static const QUMethod slot_3 = {"zoomIn", 0, 0 }; + static const QUMethod slot_4 = {"zoomOut", 0, 0 }; + static const QUMethod slot_5 = {"init", 0, 0 }; + static const QMetaData slot_tbl[] = { + { "fileExit()", &slot_0, QMetaData::Public }, + { "fileOpen()", &slot_1, QMetaData::Public }, + { "addLayer()", &slot_2, QMetaData::Public }, + { "zoomIn()", &slot_3, QMetaData::Public }, + { "zoomOut()", &slot_4, QMetaData::Public }, + { "init()", &slot_5, QMetaData::Public } + }; + metaObj = QMetaObject::new_metaobject( + "QgisAppBase", parentObject, + slot_tbl, 6, + 0, 0, +#ifndef QT_NO_PROPERTIES + 0, 0, + 0, 0, +#endif // QT_NO_PROPERTIES + 0, 0 ); + cleanUp_QgisAppBase.setMetaObject( metaObj ); + return metaObj; +} + +void* QgisAppBase::qt_cast( const char* clname ) +{ + if ( !qstrcmp( clname, "QgisAppBase" ) ) return (QgisAppBase*)this; + return QMainWindow::qt_cast( clname ); +} + +bool QgisAppBase::qt_invoke( int _id, QUObject* _o ) +{ + switch ( _id - staticMetaObject()->slotOffset() ) { + case 0: fileExit(); break; + case 1: fileOpen(); break; + case 2: addLayer(); break; + case 3: zoomIn(); break; + case 4: zoomOut(); break; + case 5: init(); break; + default: + return QMainWindow::qt_invoke( _id, _o ); + } + return TRUE; +} + +bool QgisAppBase::qt_emit( int _id, QUObject* _o ) +{ + return QMainWindow::qt_emit(_id,_o); +} +#ifndef QT_NO_PROPERTIES + +bool QgisAppBase::qt_property( int _id, int _f, QVariant* _v) +{ + return QMainWindow::qt_property( _id, _f, _v); +} +#endif // QT_NO_PROPERTIES diff --git a/src/moc_qgsmapcanvas.cpp b/src/moc_qgsmapcanvas.cpp new file mode 100644 index 00000000000..5de1e6ee3d3 --- /dev/null +++ b/src/moc_qgsmapcanvas.cpp @@ -0,0 +1,89 @@ +/**************************************************************************** +** QgsMapCanvas meta object code from reading C++ file 'qgsmapcanvas.h' +** +** Created: Fri Jul 5 08:50:13 2002 +** by: The Qt MOC ($Id$) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#undef QT_NO_COMPAT +#include "qgsmapcanvas.h" +#include +#include + +#include +#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 19) +#error "This file was generated using the moc from 3.0.4. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +const char *QgsMapCanvas::className() const +{ + return "QgsMapCanvas"; +} + +QMetaObject *QgsMapCanvas::metaObj = 0; +static QMetaObjectCleanUp cleanUp_QgsMapCanvas; + +#ifndef QT_NO_TRANSLATION +QString QgsMapCanvas::tr( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "QgsMapCanvas", s, c, QApplication::DefaultCodec ); + else + return QString::fromLatin1( s ); +} +#ifndef QT_NO_TRANSLATION_UTF8 +QString QgsMapCanvas::trUtf8( const char *s, const char *c ) +{ + if ( qApp ) + return qApp->translate( "QgsMapCanvas", s, c, QApplication::UnicodeUTF8 ); + else + return QString::fromUtf8( s ); +} +#endif // QT_NO_TRANSLATION_UTF8 + +#endif // QT_NO_TRANSLATION + +QMetaObject* QgsMapCanvas::staticMetaObject() +{ + if ( metaObj ) + return metaObj; + QMetaObject* parentObject = QWidget::staticMetaObject(); + metaObj = QMetaObject::new_metaobject( + "QgsMapCanvas", parentObject, + 0, 0, + 0, 0, +#ifndef QT_NO_PROPERTIES + 0, 0, + 0, 0, +#endif // QT_NO_PROPERTIES + 0, 0 ); + cleanUp_QgsMapCanvas.setMetaObject( metaObj ); + return metaObj; +} + +void* QgsMapCanvas::qt_cast( const char* clname ) +{ + if ( !qstrcmp( clname, "QgsMapCanvas" ) ) return (QgsMapCanvas*)this; + return QWidget::qt_cast( clname ); +} + +bool QgsMapCanvas::qt_invoke( int _id, QUObject* _o ) +{ + return QWidget::qt_invoke(_id,_o); +} + +bool QgsMapCanvas::qt_emit( int _id, QUObject* _o ) +{ + return QWidget::qt_emit(_id,_o); +} +#ifndef QT_NO_PROPERTIES + +bool QgsMapCanvas::qt_property( int _id, int _f, QVariant* _v) +{ + return QWidget::qt_property( _id, _f, _v); +} +#endif // QT_NO_PROPERTIES diff --git a/src/qgisapp.cpp b/src/qgisapp.cpp new file mode 100644 index 00000000000..03a295734ba --- /dev/null +++ b/src/qgisapp.cpp @@ -0,0 +1,96 @@ +/*************************************************************************** + qgisapp.cpp - description + ------------------- + begin : Sat Jun 22 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com +***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "qgsmapcanvas.h" +#include "qgsdbsourceselect.h" +#include "qgisapp.h" + +QgisApp::QgisApp(QWidget *parent, const char * name, WFlags fl ) : QgisAppBase(parent, name, fl ){ + //add a canvas + canvas = new QCanvas(1024,768); + // resize it to fit in the frame + // QRect r = frmCanvas->rect(); + // canvas->resize(r.width(), r.height()); + canvas->setBackgroundColor(QColor(220,235,255)); + + + + + + QGridLayout *FrameLayout = new QGridLayout( frameMain, 1, 2, 4, 6, "mainFrameLayout"); + QSplitter *split = new QSplitter(frameMain); + mapToc = new QWidget(split);//frameMain); + cv = new QCanvasView(canvas,split); + + FrameLayout->addWidget( split, 0, 0 ); + mapToc->setBackgroundColor(QColor(192,192,192)); + canvas->update(); +} +QgisApp::~QgisApp(){ +} +void QgisApp::addLayer(){ + QStringList list = qApp->libraryPaths(); + QString msg; + QStringList::Iterator it = list.begin(); + while( it != list.end() ) { + msg += "\n" + *it; + ++it; + } + + QMessageBox::information(this,"Search Paths",msg); + + // show the postgis dialog + QgsDbSourceSelect *dbs = new QgsDbSourceSelect(); + if(dbs->exec()){ + // add files to the map canvas + } + // show the file dialog + /* + QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE ); + fd->setMode( QFileDialog::ExistingFile ); + fd->setFilter("Shapefiles (*.shp)" ); + if(fd->exec()){ + QStringList files = fd->selectedFiles(); + } + */ +} +void QgisApp::fileExit(){ + QApplication::exit(); + +} +void QgisApp::zoomIn(){ + QWMatrix m = cv->worldMatrix(); + m.scale( 2.0, 2.0 ); + cv->setWorldMatrix( m ); +} + +void QgisApp::zoomOut() +{ + QWMatrix m = cv->worldMatrix(); + m.scale( 0.5, 0.5 ); + cv->setWorldMatrix( m ); +} + diff --git a/src/qgisapp.h b/src/qgisapp.h new file mode 100644 index 00000000000..a614fab8468 --- /dev/null +++ b/src/qgisapp.h @@ -0,0 +1,46 @@ +/*************************************************************************** + qgisapp.h - description + ------------------- + begin : Sat Jun 22 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGISAPP_H +#define QGISAPP_H +class QCanvas; +class QCanvasView; +#include "QgisAppBase.h" +/** + *@author Gary E.Sherman + */ +class QgsMapCanvas; + +class QgisApp : public QgisAppBase { +public: + QgisApp(QWidget *parent=0, const char * name=0, WFlags fl = WType_TopLevel ); + + ~QgisApp(); + //public slots: + void addLayer(); + void fileExit(); + void zoomOut(); + void zoomIn(); +private: +QCanvasView *cv; +QCanvas *canvas; +QgsMapCanvas *mapCanvas; +QWidget *mapToc; + +}; + +#endif diff --git a/src/qgsdatabaselayer.cpp b/src/qgsdatabaselayer.cpp new file mode 100644 index 00000000000..d4bf3e70c1c --- /dev/null +++ b/src/qgsdatabaselayer.cpp @@ -0,0 +1,6 @@ +#include "qgsdatabaselayer.h" + +QgsDatabaseLayer::QgsDatabaseLayer(){ +} +QgsDatabaseLayer::~QgsDatabaseLayer(){ +} diff --git a/src/qgsdatabaselayer.h b/src/qgsdatabaselayer.h new file mode 100644 index 00000000000..35c2d16c987 --- /dev/null +++ b/src/qgsdatabaselayer.h @@ -0,0 +1,33 @@ +/*************************************************************************** + gsdatabaselayer.h - description + ------------------- + begin : Fri Jun 28 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSDATABASELAYER_H +#define QGSDATABASELAYER_H + +#include "qgsmaplayer.h" + +/** + *@author Gary E.Sherman + */ + +class QgsDatabaseLayer : public QgsMapLayer { +public: + QgsDatabaseLayer(); + ~QgsDatabaseLayer(); +}; + +#endif diff --git a/src/qgsdatasource.cpp b/src/qgsdatasource.cpp new file mode 100644 index 00000000000..e2fd72b4cbc --- /dev/null +++ b/src/qgsdatasource.cpp @@ -0,0 +1,5 @@ +#include "qgsdatasource.h" +QgsDataSource::QgsDataSource(){ +} +QgsDataSource::~QgsDataSource(){ +} diff --git a/src/qgsdatasource.h b/src/qgsdatasource.h new file mode 100644 index 00000000000..4ec5fc7fb82 --- /dev/null +++ b/src/qgsdatasource.h @@ -0,0 +1,35 @@ +/*************************************************************************** + gsdatasource.h - description + ------------------- + begin : Sun Jun 30 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSDATASOURCE_H +#define QGSDATASOURCE_H +#include + +/**Base class for spatial and tabular data + *@author Gary E.Sherman + */ + +class QgsDataSource { +public: + QgsDataSource(); + ~QgsDataSource(); + private: + //! Path or uri of the datasource + QString dataSource; +}; + +#endif diff --git a/src/qgsdbsourceselect.cpp b/src/qgsdbsourceselect.cpp new file mode 100644 index 00000000000..fe93f70677e --- /dev/null +++ b/src/qgsdbsourceselect.cpp @@ -0,0 +1,65 @@ +#include +#include +#include +#include +#include +#include +#include "qgsdbsourceselect.h" +#include "qgsnewconnection.h" + +QgsDbSourceSelect::QgsDbSourceSelect():QgsDbSourceSelectBase(){ + QSettings settings; + QStringList keys = settings.subkeyList("/Qgis/connections"); + QStringList::Iterator it = keys.begin(); + while( it != keys.end() ) { + cmbConnections->insertItem(*it); + + ++it; + } + +} +QgsDbSourceSelect::~QgsDbSourceSelect(){ +} +void QgsDbSourceSelect::addNewConnection(){ + + QgsNewConnection *nc = new QgsNewConnection(); + + if(nc->exec()){ + } +} + +void QgsDbSourceSelect::dbConnect(){ + // populate the table list + QSettings settings; + + QString key = "/Qgis/connections/" + cmbConnections->currentText(); + QString host = "host="+settings.readEntry(key+"/host"); + QString database = "dbname="+settings.readEntry(key+"/database"); + QString username = "user="+settings.readEntry(key+"/username"); + QString password = "password="+settings.readEntry(key+"/password"); + QString conninfo = host +" " + database + " " + username + " " + password; + PgDatabase *pd = new PgDatabase((const char *)conninfo); + cout << pd->ErrorMessage(); + if(pd->Status()==CONNECTION_OK){ + qDebug("Connection succeeded"); + // get the list of tables + QString sql = "select f_table_name from geometry_columns where f_table_schema ='" + + settings.readEntry(key+"/database") + "'"; + qDebug("Fetching tables using: " + sql); + int result = pd->ExecTuplesOk((const char *)sql); + if(result){ + QString msg; + QTextOStream(&msg) << "Fetched " << pd->Tuples() << " tables from database"; + qDebug( msg); + for(int idx = 0; idx < pd->Tuples(); idx++){ + QString v = pd->GetValue(idx,"f_table_name"); + lstTables->insertItem(v); + } + }else{ + qDebug( "Unable to get list of spatially enabled tables from geometry_columns table"); + qDebug( pd->ErrorMessage()); + } + }else{ + qDebug( "Connection failed"); + } +} diff --git a/src/qgsdbsourceselect.h b/src/qgsdbsourceselect.h new file mode 100644 index 00000000000..fe5646a3a2b --- /dev/null +++ b/src/qgsdbsourceselect.h @@ -0,0 +1,15 @@ +#ifndef QGSDBSOURCESELECT_H +#define QGSDBSOURCESELECT_H +#include "qgsdbsourceselectbase.h" + +class QgsDbSourceSelect : public QgsDbSourceSelectBase +{ + public: + QgsDbSourceSelect(); + ~QgsDbSourceSelect(); + void addNewConnection(); + void dbConnect(); +}; + + +#endif // QGSDBSOURCESELECT_H diff --git a/src/qgsdbsourceselectbase.ui b/src/qgsdbsourceselectbase.ui new file mode 100644 index 00000000000..75216618805 --- /dev/null +++ b/src/qgsdbsourceselectbase.ui @@ -0,0 +1,236 @@ + +QgsDbSourceSelectBase + + + QgsDbSourceSelectBase + + + + 0 + 0 + 305 + 367 + + + + + Helvetica [Urw] + 10 + + + + Add PostGIS Table(s) + + + true + + + + unnamed + + + 11 + + + 6 + + + + Layout5 + + + + unnamed + + + 0 + + + 6 + + + + btnAdd + + + Add + + + 0 + + + true + + + true + + + + + btnCancel + + + Cancel + + + 0 + + + true + + + + + btnHelp + + + Help + + + 4144 + + + true + + + + + Spacer1 + + + Vertical + + + Fixed + + + + 20 + 100 + + + + + + + + TextLabel3_2_2 + + + + 11 + + + + Tables + + + + + GroupBox1 + + + Connection Information + + + + unnamed + + + 11 + + + 6 + + + + btnConnect + + + Connect + + + + + btnConnect_2 + + + Create + + + + + cmbConnections + + + + + Spacer3 + + + Horizontal + + + Expanding + + + + + Spacer3_2 + + + Horizontal + + + Expanding + + + + + + + lstTables + + + Extended + + + + + + + btnCancel + clicked() + QgsDbSourceSelectBase + reject() + + + btnConnect + clicked() + QgsDbSourceSelectBase + dbConnect() + + + btnAdd + clicked() + QgsDbSourceSelectBase + addTables() + + + btnConnect_2 + clicked() + QgsDbSourceSelectBase + addNewConnection() + + + + qgsdbsourceselectbase.ui.h + + + init() + dbConnect() + addTables() + addNewConnection() + + + diff --git a/src/qgsdbsourceselectbase.ui.h b/src/qgsdbsourceselectbase.ui.h new file mode 100644 index 00000000000..201688ec08a --- /dev/null +++ b/src/qgsdbsourceselectbase.ui.h @@ -0,0 +1,28 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you wish to add, delete or rename slots use Qt Designer which will +** update this file, preserving your code. Create an init() slot in place of +** a constructor, and a destroy() slot in place of a destructor. +*****************************************************************************/ + + +void QgsDbSourceSelectBase::init() +{ + +} + +void QgsDbSourceSelectBase::dbConnect() +{ + +} + +void QgsDbSourceSelectBase::addTables() +{ + +} + +void QgsDbSourceSelectBase::addNewConnection() +{ + +} diff --git a/src/qgsmapcanvas.cpp b/src/qgsmapcanvas.cpp new file mode 100644 index 00000000000..21e2e1ede07 --- /dev/null +++ b/src/qgsmapcanvas.cpp @@ -0,0 +1,24 @@ +/*************************************************************************** + qgsmapcanvas.cpp - description + ------------------- + begin : Sun Jun 30 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ +#include +#include "qgsmaplayer.h" +#include "qgsmapcanvas.h" + +QgsMapCanvas::QgsMapCanvas(QWidget *parent, const char *name ) : QWidget(parent,name) { +} +QgsMapCanvas::~QgsMapCanvas(){ +} diff --git a/src/qgsmapcanvas.h b/src/qgsmapcanvas.h new file mode 100644 index 00000000000..32eeff8dc2d --- /dev/null +++ b/src/qgsmapcanvas.h @@ -0,0 +1,39 @@ +/*************************************************************************** + qgsmapcanvas.h - description + ------------------- + begin : Sun Jun 30 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSMAPCANVAS_H +#define QGSMAPCANVAS_H +#include +#include + +class QgsMapLayer; + +/**Map canvas class for displaying all GIS data types + *@author Gary E.Sherman + */ + +class QgsMapCanvas : public QWidget { + Q_OBJECT +public: + QgsMapCanvas(QWidget *parent=0, const char *name=0); + ~QgsMapCanvas(); +private: +//! map containing the layers by name + map layers; +}; + +#endif diff --git a/src/qgsmaplayer.cpp b/src/qgsmaplayer.cpp new file mode 100644 index 00000000000..cb0f9fe7b46 --- /dev/null +++ b/src/qgsmaplayer.cpp @@ -0,0 +1,35 @@ +/*************************************************************************** + qgsmaplayer.cpp - description + ------------------- + begin : Fri Jun 28 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com +***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "qgsmaplayer.h" + +QgsMapLayer::QgsMapLayer( ) : QgsDataSource() { +} +QgsMapLayer::~QgsMapLayer(){ +} +const int QgsMapLayer::getlayerType(){ + return layerType; +} +/** Write property of QString layerName. */ +void QgsMapLayer::setlayerName( const QString& _newVal){ + layerName = _newVal; +} +/** Read property of QString layerName. */ +const QString QgsMapLayer::getlayerName(){ + return layerName; +} + diff --git a/src/qgsmaplayer.h b/src/qgsmaplayer.h new file mode 100644 index 00000000000..4e112d26800 --- /dev/null +++ b/src/qgsmaplayer.h @@ -0,0 +1,58 @@ +/*************************************************************************** + qgsmaplayer.h - description + ------------------- + begin : Fri Jun 28 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com +***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSMAPLAYER_H +#define QGSMAPLAYER_H + +#include +#include "qgsdatasource.h" +/** + *@author Gary E.Sherman + */ + +class QgsMapLayer : public QgsDataSource { + + public: + QgsMapLayer(); + virtual ~QgsMapLayer(); + /** Read property of int layerType. */ + const int getlayerType(); + /** Write property of QString layerName. */ + void setlayerName( const QString& _newVal); + /** Read property of QString layerName. */ + const QString getlayerName(); + + +public: // Public attributes +enum LAYERS { + VECTOR, + RASTER +} ; + +private: // Private attributes + /** Name of the layer - used for display */ + QString layerName; + /** Type of the layer (eg. vector, raster, database */ + int layerType; + //! Position in the map stack + int zpos; + //! Tag for embedding additional information + QString tag; + +}; + +#endif diff --git a/src/qgsnewconnection.cpp b/src/qgsnewconnection.cpp new file mode 100644 index 00000000000..013900231b7 --- /dev/null +++ b/src/qgsnewconnection.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include +#include "qgsnewconnection.h" + +QgsNewConnection::QgsNewConnection():QgsNewConnectionBase(){ +} +QgsNewConnection::~QgsNewConnection(){ +} +void QgsNewConnection::testConnection(){ + QSqlDatabase *testCon = QSqlDatabase::addDatabase("QPSQL7","testconnection"); + if(testCon){ + testCon->setDatabaseName(txtDatabase->text()); + testCon->setUserName(txtUsername->text()); + testCon->setPassword(txtPassword->text()); + testCon->setHostName(txtHost->text()); + if ( testCon->open() ) { + // Database successfully opened; we can now issue SQL commands. + QMessageBox::information(this,"Test connection","Connection to " + + txtDatabase->text() + " was successfull"); + }else{ + QMessageBox::information(this,"Test connection", + "Connection failed - Check settings and try againto "); + } + + + } + // testCon->close(); + //delete testCon; + + // +} + +void QgsNewConnection::saveConnection(){ + QSettings settings; + QString baseKey = "/Qgis/connections/"; + baseKey += txtName->text(); + settings.writeEntry( baseKey + "/host",txtHost->text() ); + settings.writeEntry( baseKey + "/database",txtDatabase->text() ); + settings.writeEntry( baseKey + "/username",txtUsername->text() ); + settings.writeEntry( baseKey + "/password",txtPassword->text() ); + + +} diff --git a/src/qgsnewconnection.h b/src/qgsnewconnection.h new file mode 100644 index 00000000000..7048e061e8e --- /dev/null +++ b/src/qgsnewconnection.h @@ -0,0 +1,14 @@ +#ifndef QGSNEWCONNECTION_H +#define QGSNEWCONNECTION_H +#include "qgsnewconnectionbase.h" + +class QgsNewConnection : public QgsNewConnectionBase +{ + public: + QgsNewConnection(); + ~QgsNewConnection(); + void testConnection(); + void saveConnection(); +}; + +#endif // QGSNEWCONNECTIONBASE_H diff --git a/src/qgsnewconnectionbase.ui b/src/qgsnewconnectionbase.ui new file mode 100644 index 00000000000..9cd7b8dfd7d --- /dev/null +++ b/src/qgsnewconnectionbase.ui @@ -0,0 +1,301 @@ + +QgsNewConnectionBase + + + QgsNewConnectionBase + + + + 0 + 0 + 392 + 196 + + + + Create a New PostGIS connection + + + true + + + + unnamed + + + 11 + + + 6 + + + + Layout5 + + + + unnamed + + + 0 + + + 6 + + + + buttonOk + + + + 10 + + + + OK + + + 0 + + + true + + + true + + + + + buttonCancel + + + + 10 + + + + Cancel + + + 0 + + + true + + + + + buttonHelp + + + + 10 + + + + Help + + + 4144 + + + true + + + + + Spacer1 + + + Vertical + + + Expanding + + + + + + + GroupBox1 + + + + Helvetica [Urw] + 10 + + + + Connection Information + + + + unnamed + + + 11 + + + 6 + + + + txtHost + + + + + TextLabel1 + + + + Helvetica [Adobe] + 11 + + + + Host + + + + + txtDatabase + + + + + TextLabel2 + + + + helvetica + 11 + + + + Database + + + + + txtUsername + + + + + TextLabel3 + + + + Helvetica [Adobe] + 11 + + + + Username + + + + + txtPassword + + + Password + + + + + TextLabel1_2 + + + + Helvetica [Adobe] + 11 + + + + Name + + + + + txtName + + + Name of the new connection + + + + + TextLabel3_2 + + + + helvetica + 11 + + + + Password + + + + + btnConnect + + + + + + + Test Connect + + + + + chkStorePassword + + + + + + + Save Password + + + + + + + + + buttonCancel + clicked() + QgsNewConnectionBase + reject() + + + btnConnect + clicked() + QgsNewConnectionBase + testConnection() + + + buttonOk + clicked() + QgsNewConnectionBase + accept() + + + buttonOk + clicked() + QgsNewConnectionBase + saveConnection() + + + + saveConnection() + testConnection() + + + diff --git a/src/qgsrasterlayer.cpp b/src/qgsrasterlayer.cpp new file mode 100644 index 00000000000..d1a79b532da --- /dev/null +++ b/src/qgsrasterlayer.cpp @@ -0,0 +1,5 @@ +#include "qgsrasterlayer.h" +QgsRasterLayer::QgsRasterLayer(){ +} +QgsRasterLayer::~QgsRasterLayer(){ +} diff --git a/src/qgsrasterlayer.h b/src/qgsrasterlayer.h new file mode 100644 index 00000000000..6151dd6cc0b --- /dev/null +++ b/src/qgsrasterlayer.h @@ -0,0 +1,33 @@ +/*************************************************************************** + gsrasterlayer.h - description + ------------------- + begin : Fri Jun 28 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSRASTERLAYER_H +#define QGSRASTERLAYER_H + +#include "qgsmaplayer.h" + +/** + *@author Gary E.Sherman + */ + +class QgsRasterLayer : public QgsMapLayer { +public: + QgsRasterLayer(); + ~QgsRasterLayer(); +}; + +#endif diff --git a/src/qgsshapefilelayer.h b/src/qgsshapefilelayer.h new file mode 100644 index 00000000000..7b1dc16785f --- /dev/null +++ b/src/qgsshapefilelayer.h @@ -0,0 +1,39 @@ +/*************************************************************************** + gsshapefilelayer.h - description + ------------------- + begin : Wed Jun 26 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSSHAPEFILELAYER_H +#define QGSSHAPEFILELAYER_H + +#include + +/** + *@author Gary E.Sherman + */ + +class QgsShapeFileLayer : public QgsMapLayer { +public: + QgsShapeFileLayer(); + ~QgsShapeFileLayer(); +enum SHAPETYPE { + Point, + Line, + Polygon +}; + +}; + +#endif diff --git a/src/qgstable.h b/src/qgstable.h new file mode 100644 index 00000000000..dde1baf2984 --- /dev/null +++ b/src/qgstable.h @@ -0,0 +1,33 @@ +/*************************************************************************** + gstable.h - description + ------------------- + begin : Sun Jun 30 2002 + copyright : (C) 2002 by Gary E.Sherman + email : sherman@mrcc.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef QGSTABLE_H +#define QGSTABLE_H + +#include + +/** + *@author Gary E.Sherman + */ + +class QgsTable : public QgsDataSource { +public: + QgsTable(); + ~QgsTable(); +}; + +#endif diff --git a/src/src.pro b/src/src.pro new file mode 100644 index 00000000000..7da32d5a136 --- /dev/null +++ b/src/src.pro @@ -0,0 +1,32 @@ +###################################################################### +# Automatically generated by qmake (1.02a) Thu Jul 4 08:58:21 2002 +###################################################################### +TARGET = qgis +TEMPLATE = app +LIBS += -L$(PGSQL)/lib -lpq++ +INCLUDEPATH += $(PGSQL)/include +CONFIG += qt thread debug + +# Input +HEADERS += qgsdbsourceselectbase.ui.h \ + qgisapp.h \ + QgisAppBase.ui.h \ + qgsdatabaselayer.h \ + qgsdatasource.h \ + qgsmapcanvas.h \ + qgsmaplayer.h \ + qgsrasterlayer.h \ + qgsshapefilelayer.h \ + qgstable.h \ + qgsdbsourceselect.h \ + qgsnewconnection.h +INTERFACES += qgsdbsourceselectbase.ui QgisAppBase.ui qgsnewconnectionbase.ui +SOURCES += main.cpp \ + qgisapp.cpp \ + qgsdatabaselayer.cpp \ + qgsdatasource.cpp \ + qgsmapcanvas.cpp \ + qgsmaplayer.cpp \ + qgsrasterlayer.cpp \ + qgsdbsourceselect.cpp \ + qgsnewconnection.cpp