mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
Auto repaint/polygons filled
git-svn-id: http://svn.osgeo.org/qgis/trunk@34 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
5a0b233f5b
commit
200faee289
@ -1,3 +1,5 @@
|
||||
July 20, 2002
|
||||
Repaint automatic for layers.
|
||||
July 18, 2002
|
||||
Point, line and polygon PostGis layers can be drawn. Still issues with
|
||||
map exent and positioning of layers on the canvas. Drawing is manual and
|
||||
|
4
INSTALL
4
INSTALL
@ -1,8 +1,8 @@
|
||||
Requirements:
|
||||
1. PostgresQL built with the --with-CXX configure options (C++ wrapper)
|
||||
2. PostGIS support in PostgresQL
|
||||
3. Qt 3.0.4 or higher built with thread support
|
||||
4. Qt PostgresQL driver (can be built with Qt or separately -- see Qt SQL docs)
|
||||
3. Qt 3.0.x built with thread support
|
||||
4. Optional - Qt PostgresQL driver (can be built with Qt or separately -- see Qt SQL docs)
|
||||
|
||||
To build Qgis:
|
||||
1. Make sure your QTDIR environment variable is set to your Qt directory
|
||||
|
19
Makefile
19
Makefile
@ -1,14 +1,15 @@
|
||||
#############################################################################
|
||||
# Makefile for building: qgis
|
||||
# Generated by qmake (1.02a) on: Fri Jul 5 16:45:36 2002
|
||||
# Generated by qmake (1.03a) on: Sat Jul 20 08:36:58 2002
|
||||
# Project: qgis.pro
|
||||
# Template: subdirs
|
||||
# Command: $(QMAKE) -nocache qgis.pro
|
||||
# Command: $(QMAKE) qgis.pro
|
||||
#############################################################################
|
||||
|
||||
MAKEFILE = Makefile
|
||||
QMAKE = qmake
|
||||
SUBDIRS = src
|
||||
QMAKE = qmake
|
||||
SUBDIRS = src
|
||||
DEL_FILE = rm -f
|
||||
SUBTARGETS = \
|
||||
sub-src
|
||||
|
||||
@ -17,14 +18,14 @@ first: all
|
||||
all: Makefile $(SUBTARGETS)
|
||||
|
||||
src/$(MAKEFILE):
|
||||
cd src && $(QMAKE) -nocache -o $(MAKEFILE)
|
||||
cd src && $(QMAKE) -o $(MAKEFILE)
|
||||
sub-src: src/$(MAKEFILE) FORCE
|
||||
cd src && $(MAKE) -f $(MAKEFILE)
|
||||
|
||||
Makefile: qgis.pro $(QTDIR)/mkspecs/default/qmake.conf
|
||||
$(QMAKE) -nocache qgis.pro
|
||||
Makefile: qgis.pro $(QTDIR)/mkspecs/default/qmake.conf
|
||||
$(QMAKE) qgis.pro
|
||||
qmake: qmake_all
|
||||
@$(QMAKE) -nocache qgis.pro
|
||||
@$(QMAKE) 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
|
||||
@ -34,7 +35,7 @@ clean: qmake_all FORCE
|
||||
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
|
||||
for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) $@ ; $(DEL_FILE) $(MAKEFILE) ; fi; ) ; done
|
||||
|
||||
FORCE:
|
||||
|
||||
|
52
src/Makefile
52
src/Makefile
@ -1,6 +1,6 @@
|
||||
#############################################################################
|
||||
# Makefile for building: qgis
|
||||
# Generated by qmake (1.02a) on: Sat Jul 13 08:56:49 2002
|
||||
# Generated by qmake (1.03a) on: Sat Jul 20 08:36:25 2002
|
||||
# Project: src.pro
|
||||
# Template: app
|
||||
# Command: $(QMAKE) src.pro
|
||||
@ -19,7 +19,7 @@ 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
|
||||
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
|
||||
@ -31,6 +31,7 @@ COPY = cp -f
|
||||
COPY_FILE= $(COPY) -p
|
||||
COPY_DIR = $(COPY) -pR
|
||||
DEL_FILE = rm -f
|
||||
SYMLINK = ln -sf
|
||||
DEL_DIR = rmdir
|
||||
MOVE = mv
|
||||
|
||||
@ -93,7 +94,7 @@ OBJMOC = moc_qgsmapcanvas.o \
|
||||
moc_qgsdbsourceselectbase.o \
|
||||
moc_qgisappbase.o \
|
||||
moc_qgsnewconnectionbase.o
|
||||
DIST =
|
||||
DIST = src.pro
|
||||
QMAKE_TARGET = qgis
|
||||
DESTDIR =
|
||||
TARGET = qgis
|
||||
@ -136,25 +137,25 @@ 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
|
||||
@mkdir -p .tmp/qgis && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/qgis/ && $(COPY_FILE) --parents qgsdbsourceselectbase.ui.h qgisappbase.ui.h .tmp/qgis/ && ( cd `dirname .tmp/qgis` && $(TAR) qgis.tar qgis && $(GZIP) qgis.tar ) && $(MOVE) `dirname .tmp/qgis`/qgis.tar.gz . && $(DEL_DIR) .tmp/qgis
|
||||
|
||||
mocclean:
|
||||
-rm -f $(OBJMOC)
|
||||
-rm -f $(SRCMOC)
|
||||
-$(DEL_FILE) $(OBJMOC)
|
||||
-$(DEL_FILE) $(SRCMOC)
|
||||
|
||||
uiclean:
|
||||
-rm -f $(UICIMPLS) $(UICDECLS)
|
||||
-$(DEL_FILE) $(UICIMPLS) $(UICDECLS)
|
||||
|
||||
clean: mocclean uiclean
|
||||
-rm -f $(OBJECTS)
|
||||
-rm -f *~ core *.core
|
||||
-$(DEL_FILE) $(OBJECTS)
|
||||
-$(DEL_FILE) *~ core *.core
|
||||
|
||||
|
||||
####### Sub-libraries
|
||||
|
||||
distclean: clean
|
||||
-rm -f $(TARGET) $(TARGET)
|
||||
|
||||
-$(DEL_FILE) $(TARGET) $(TARGET)
|
||||
|
||||
|
||||
FORCE:
|
||||
|
||||
@ -163,7 +164,8 @@ FORCE:
|
||||
main.o: main.cpp qgisapp.h \
|
||||
qgisappbase.h
|
||||
|
||||
qgisapp.o: qgisapp.cpp qgsmapcanvas.h \
|
||||
qgisapp.o: qgisapp.cpp qgsrect.h \
|
||||
qgsmapcanvas.h \
|
||||
qgsdbsourceselect.h \
|
||||
qgsdatabaselayer.h \
|
||||
qgisapp.h \
|
||||
@ -173,13 +175,16 @@ qgisapp.o: qgisapp.cpp qgsmapcanvas.h \
|
||||
qgsdatasource.h \
|
||||
qgisappbase.h
|
||||
|
||||
qgsdatabaselayer.o: qgsdatabaselayer.cpp qgsdatabaselayer.h \
|
||||
qgsdatabaselayer.o: qgsdatabaselayer.cpp qgsrect.h \
|
||||
qgsdatabaselayer.h \
|
||||
qgsmaplayer.h \
|
||||
qgsdatasource.h
|
||||
|
||||
qgsdatasource.o: qgsdatasource.cpp qgsdatasource.h
|
||||
|
||||
qgsmapcanvas.o: qgsmapcanvas.cpp qgsmaplayer.h \
|
||||
qgsmapcanvas.o: qgsmapcanvas.cpp qgsrect.h \
|
||||
qgsmaplayer.h \
|
||||
qgsdatabaselayer.h \
|
||||
qgsmapcanvas.h \
|
||||
qgsdatasource.h
|
||||
|
||||
@ -189,7 +194,8 @@ qgsmaplayer.o: qgsmaplayer.cpp qgsrect.h \
|
||||
|
||||
qgsrasterlayer.o: qgsrasterlayer.cpp qgsrasterlayer.h \
|
||||
qgsmaplayer.h \
|
||||
qgsdatasource.h
|
||||
qgsdatasource.h \
|
||||
qgsrect.h
|
||||
|
||||
qgsdbsourceselect.o: qgsdbsourceselect.cpp xpm/point_layer.xpm \
|
||||
xpm/line_layer.xpm \
|
||||
@ -204,16 +210,16 @@ qgsnewconnection.o: qgsnewconnection.cpp qgsnewconnection.h \
|
||||
|
||||
qgsrect.o: qgsrect.cpp qgsrect.h
|
||||
|
||||
qgsdbsourceselectbase.h: qgsdbsourceselectbase.ui qgsdbsourceselectbase.ui.h
|
||||
qgsdbsourceselectbase.h: qgsdbsourceselectbase.ui
|
||||
$(UIC) qgsdbsourceselectbase.ui -o qgsdbsourceselectbase.h
|
||||
|
||||
qgsdbsourceselectbase.cpp: qgsdbsourceselectbase.h qgsdbsourceselectbase.ui qgsdbsourceselectbase.ui.h
|
||||
qgsdbsourceselectbase.cpp: qgsdbsourceselectbase.h qgsdbsourceselectbase.ui
|
||||
$(UIC) qgsdbsourceselectbase.ui -i qgsdbsourceselectbase.h -o qgsdbsourceselectbase.cpp
|
||||
|
||||
qgisappbase.h: qgisappbase.ui qgisappbase.ui.h
|
||||
qgisappbase.h: qgisappbase.ui
|
||||
$(UIC) qgisappbase.ui -o qgisappbase.h
|
||||
|
||||
qgisappbase.cpp: qgisappbase.h qgisappbase.ui qgisappbase.ui.h
|
||||
qgisappbase.cpp: qgisappbase.h qgisappbase.ui
|
||||
$(UIC) qgisappbase.ui -i qgisappbase.h -o qgisappbase.cpp
|
||||
|
||||
qgsnewconnectionbase.h: qgsnewconnectionbase.ui
|
||||
@ -222,13 +228,15 @@ qgsnewconnectionbase.h: qgsnewconnectionbase.ui
|
||||
qgsnewconnectionbase.cpp: qgsnewconnectionbase.h qgsnewconnectionbase.ui
|
||||
$(UIC) qgsnewconnectionbase.ui -i qgsnewconnectionbase.h -o qgsnewconnectionbase.cpp
|
||||
|
||||
qgsdbsourceselectbase.o: qgsdbsourceselectbase.cpp qgsdbsourceselectbase.h
|
||||
qgsdbsourceselectbase.o: qgsdbsourceselectbase.cpp qgsdbsourceselectbase.ui.h \
|
||||
qgsdbsourceselectbase.h
|
||||
|
||||
qgisappbase.o: qgisappbase.cpp qgisappbase.h
|
||||
qgisappbase.o: qgisappbase.cpp qgisappbase.ui.h \
|
||||
qgisappbase.h
|
||||
|
||||
qgsnewconnectionbase.o: qgsnewconnectionbase.cpp qgsnewconnectionbase.h
|
||||
|
||||
moc_qgsmapcanvas.o: moc_qgsmapcanvas.cpp qgsmapcanvas.h
|
||||
moc_qgsmapcanvas.o: moc_qgsmapcanvas.cpp qgsmapcanvas.h qgsrect.h
|
||||
|
||||
moc_qgsdbsourceselectbase.o: moc_qgsdbsourceselectbase.cpp qgsdbsourceselectbase.h
|
||||
|
||||
|
@ -54,7 +54,7 @@ QgisAppBase (parent, name, fl)
|
||||
// resize it to fit in the frame
|
||||
// QRect r = frmCanvas->rect();
|
||||
// canvas->resize(r.width(), r.height());
|
||||
mapCanvas->setBackgroundColor (QColor (220, 235, 255));
|
||||
mapCanvas->setBackgroundColor (Qt::white); //QColor (220, 235, 255));
|
||||
mapCanvas->setMinimumWidth (400);
|
||||
|
||||
|
||||
|
@ -182,7 +182,7 @@
|
||||
<iconset>image5</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Draw</string>
|
||||
<string>Refresh </string>
|
||||
</property>
|
||||
</action>
|
||||
</actions>
|
||||
@ -203,7 +203,7 @@
|
||||
<data format="XPM.GZ" length="661">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523232520022630543251d2e253d856405bffcbc54105b19c8563600020b03103711c44d0303b04aac005546593911b74ce2d09151c60089046512a100641a14109419789f522203f6082e19385ba9d69a0b008e2682ef</data>
|
||||
</image>
|
||||
<image name="image5">
|
||||
<data format="XPM.GZ" length="1226">789cc5d3c10ac2300c00d07bbf222cb722dd9c1741fc04c5a3201e4615f430059d0711ffdd2ada364d8a3010c30e813cb2a4b4a586e56206ba54e7aee9f616ecae3981de5cdaf6ba5a4f6faa18d5e0be1a86c54015062ccc8f87ed33479763e5625cbd4a5fa287411f598328a1d8c485388f0ce96f244347202818b60e336917d130c24d98826f9f3f9f8c61bb894622c9398be48f465e8c190191bb81463c23660ced85c4840ac629355177afd064cda7292686c67bfe74e614f91fe6df6998fc47efbdbfb94fd403df21d37e</data>
|
||||
<data format="XPM.GZ" length="5806">789c5d58c76e253b0eddf75718cd5d63a0573960300be79c730f6641aaaaeceb1caee3c3fcfb8887d7e32ed5e9067c4c8a922806c97ffd9a3bdbdb9efbf5d78fe7294f277ece5ff2d3dcafeee5f6f6e3dffff9d7df3f7e66d99cfe6b8bb9ece73f7efcdc9fcef9b99dfbbb5e89a34028c107be30e6f410c939e28bca077ce0b7917c3eb217cd273bd1f89b483e19cbe931b22fcab35e01b98be49f63ce5534df75a4bf13e9ef47f3df47f2f9b19cf7c6dc3f46f203e5be50807f46ebf988ece33cea4101be1bd9ab95f79d02e3db687c83f90605f84734fe4a79890ffe863ffa41017b9017b902fb5f57ded40a8cbf847ea3c0f8c81f12ed8f2fc05305f821ecb50af0f7687cb45f417c74ad021cfe193205c60fe08d02f2ab687e8ba75c0179745edc47e77dae5c2a05e4f06f3b28203f1b9f279d627d8302fc04f60a05e6cba3f9903f65a280bc88e63f8ef68ffc6251e07cb69557990272c46b5f28c04b8c6705ec1d45f67f63bd5e017b587fd52b205f86bc50802fc13e3ec4f710ede768bc1e5ac3f98a0272e42bccc39fb432f62f1d8ecf93acbe540aeca71ac7a7bf88f6b38af3a914e00bd1795bfeb102bc1ec7af473c0fa2801cf5a42e14e0c8a79e15d07f8af63fc57e7205e647fc75a502fa93b17d42bef954018efce97305e6bb1be73f81379502f3a11e0b3ee8b7e3fcf251fc13f2877305f4e16fa915904fc6e72d88df5e14e088c72e55809f8ef3cdbbc87f88076915903f47eb413c37f8a08ff386393b5f8ae21fe7eb6b05f859e4fff5e8fc517f3c3ed8bb8ee6bf1cdbf31cc90fc6f129e7517d97687d88676cd7e21df9d5d60ac879bc3e413ed5ac40fe21be5baf00477c369d02f6e08f365180c39f4da6803de46bdd2b30be8cea15f2455205e4cd787e427fe04e017be8ff955760beb5717d70a8576da180fc7cac4fa80f6da9803df4cfb256401ff953150ad8437cd59902e3d10f1a56603c8deb25e3fccb5481f1a8af4dae0047fcd5b902fa889f9215901f46f50ef51fe960f5351be73fbd41bf53408ef8403a227e5d3ae6d481d70accefc7fd5950bf9354010eff26b902f165f7af5a01fe0ade28a06ff70556408ef525a200c77e934e81f5219fc364cdecbe837c49d3ac48ac3e61fe345340be31e3d54c1ff5212dd2c2b87ff9e2a9f9e7d578d6dafadcd68c8bad8f71bfc271613e42bf4aab2ffbec8ce76962f106ffa5b502f612e379369363bf69ab80bd3de3999fed1fe799b202e32f8de7f9cc1f88af54f23eb17c368e820cb98df7f990dafe07e3456adc9b7f501021bf335e54a9c59fadaf2f5a5bbf473f4279b6fbd5a6727577827ae0d7bf7866f17c613c17f3aff3c6cbc4ec09d697e183bc335ea6a9c507fc9f150a70c473562ae0bf47e35562e3c5380a0afcb961bc98f957b0ffac5540fe64bcf299ad07fd2f6305e46cbc1a32cba77be3e100ad5ec2df9957403f315e0fb9d96f8d37696ef1837e93754d965b7f41bc7ddfff05f188eb83f977cd7893e7162f27332e85c5dbd28c0f85f50bf3d7c089d527c2f9e4a1da64f67e81fff3b42972ccc777c6dbbeb47a85fb6a1e1c965b3fba31ce5569f1b434e34d69f182fe90e761bfb6bf65e3925b3d64f4c7bc90597d149c6f5e2a20473fcbabaab3fd12fa475e378dddd719e78d7288f364f83fe7362bac1f9a3d5c58601fe79d7b05d687f3ccbbe01fcb278c2f1205ec1d1baf0bb32f383f94038bdf57e375929b7f4be36d65fef2b08ff0340e7f7ebf3718f5b12815b08ffc45bb307b2fc6dbb4b0f35e352e556debb3f951c02137fdbaee6cfd6ecf78d0b7f708fa47d128b01edc4782fbc5f6cfb67e5cf8b11ee427ae4b384f3f3fee4f6edf785316d6bf36c7fd8a500fcb523aebbf928efba3c77da2ec15b067fd35f721c2307e3ae37963f160fdba08729bdf78f9a52fcfe3fee4115f152b307ec5b8af4c9f37c7fd8ed371bf14e403aee7167f85f1b01ebbdfa0fea17c5b7f437dc3f6acdfa07fe17a64f98efb4edd7999ddff902f4daa00c77deefbbee366f71fdfb5767ec85f1c9fed17f9f5c7fb12ebfbbe4f09ead71ff735c407daa9d577eceffbbe4c62bc63b6f70ff215d709db8fddaff1e0823efc25499f0ae40ef541b23e11cb17d8935281f9917f782e59ffb4f751d36762e78ff54adb1782f513f243fabeb4f70323ff90bed67fec7d2a7debedbd617f0fe87befedbe8378efc2ebd4eefb0ef53fa47bd2597ea17e74c39077361ffc1d9ae58c3becfffbfebb3ffd8223c74e9c779debdde02edca59bb82b77ed6ec2ef4935fed40fdab7eeceddbb07f7e89edcb39bba17f7eadedcbbfb709f6ede2dfca9ef16838d3bb7e496dd8a5b756be1e775b7e136c30c6f6ecb6dbb1d1df1a51fb417c2acf7417bd7edb9fda0357107eed01db9e3f0d3963b71a73ae20ffb6afdc19db973f7db252e7599cb5de14a57b9da3561c4c4b5e4fe6f7f8188d82d93907713eaa8a7812ee892267445d77443b7e1b777740fff3db8797a743bf444cf34a5177aa5377aa70ffaa4795aa0455aa2655aa1555aa375f877e2de698336698bb6698776698fb07e3a08b60fe9888ee9844ee98ccee9b7e95342296594534125555453432d3b266696f0e8edc2c375e00bbee409e2e5ca4df89a6ff896eff89e1f82ee63f8cd133ff33468bff02bbff13b7ff027c33fbcc08b18b1c4cbbc32d35ee5355e0fda1bbcc95bbccd3bbccb7bbc0ffd033ee4a3a073cc277c0aed333ee7df413b0957b22ce4551172e78de7d9deb375b8e8b7e23047d016e27361f6e179eba50b8fd0412eb8904bde11ac5faee45a6ee456eed42b722f0fc2f2284ff21cd6b12d53799157b9943779970fe87fcabc2c048fadc8a22cc9b2acc8aafe3140d6c2ff75d9904dd9926dfc79c0eafb8eecca1e9dc8be1cc8a11cc9b19cc8a99cc979d0ff1d2ed9a96416635ff129799014219fabf08468a4f5ceebdf1b82efc3d7c9a6efbf62fe2b7e742e3ff80b7fe927fe2a685f43fbc6dffa3b7fef1f627dff68ebf34f41fbd95fe3e71bdef253cefdcb77067ec733effa57e9fd9b7f87ee47b0fde9e7fdbcbc7f5b1fe7a3aeca2ff8c5b08625bfec57fc34e8074f7dcb63fd30625e3efc1abf8571eb7e63ac0bfdfffef3c7ff00e7f464ef</data>
|
||||
</image>
|
||||
</images>
|
||||
<connections>
|
||||
@ -248,13 +248,13 @@
|
||||
<include location="local" impldecl="in implementation">qgisappbase.ui.h</include>
|
||||
</includes>
|
||||
<slots>
|
||||
<slot>addLayer()</slot>
|
||||
<slot>fileExit()</slot>
|
||||
<slot>fileOpen()</slot>
|
||||
<slot>init()</slot>
|
||||
<slot>drawLayers()</slot>
|
||||
<slot>addLayer()</slot>
|
||||
<slot>zoomIn()</slot>
|
||||
<slot>zoomOut()</slot>
|
||||
<slot>init()</slot>
|
||||
<slot>drawLayers()</slot>
|
||||
</slots>
|
||||
<layoutdefaults spacing="6" margin="11"/>
|
||||
</UI>
|
||||
|
@ -52,4 +52,4 @@ void QgisAppBase::init()
|
||||
void QgisAppBase::drawLayers()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include <qstring.h>
|
||||
#include <qpainter.h>
|
||||
#include <qpointarray.h>
|
||||
#include <qbrush.h>
|
||||
#include "qgsrect.h"
|
||||
#include <libpq++.h>
|
||||
#include <qmessagebox.h>
|
||||
@ -47,6 +48,7 @@ QgsDatabaseLayer::QgsDatabaseLayer(const char *conninfo, QString table) :
|
||||
//QMessageBox::warning(this,"Connection Problem",msg);
|
||||
valid = false;
|
||||
}
|
||||
|
||||
}else{
|
||||
QString msg = "Unable to get geometry information for " + tableName;
|
||||
//QMessageBox::warning(this,"Connection Problem",msg);
|
||||
@ -69,6 +71,8 @@ void QgsDatabaseLayer::draw(QPainter *p, QgsRect *viewExtent, int yTransform){
|
||||
3. transform
|
||||
4. draw
|
||||
*/
|
||||
cout << "Drawing layer using view extent " << viewExtent->stringRep() <<
|
||||
" with a y transform of " << yTransform << endl;
|
||||
PgCursor pgs(dataSource, "drawCursor");
|
||||
QString sql = "select asbinary(" + geometryColumn + ",'" + endianString();
|
||||
sql += "') as features from " + tableName;
|
||||
@ -86,7 +90,7 @@ void QgsDatabaseLayer::draw(QPainter *p, QgsRect *viewExtent, int yTransform){
|
||||
memset (feature, '\0', pgs.GetLength (idx, 0) + 1);
|
||||
memcpy (feature, pgs.GetValue (idx, 0), pgs.GetLength (idx, 0));
|
||||
wkbType = (int)feature[1];
|
||||
cout << "Feature type: " << wkbType << endl;
|
||||
//cout << "Feature type: " << wkbType << endl;
|
||||
// read each feature based on its type
|
||||
double *x;
|
||||
double *y;
|
||||
@ -171,7 +175,9 @@ void QgsDatabaseLayer::draw(QPainter *p, QgsRect *viewExtent, int yTransform){
|
||||
}
|
||||
break;
|
||||
case WKBMultiPolygon:
|
||||
p->setPen(Qt::blue);
|
||||
p->setPen(Qt::darkGreen);
|
||||
QBrush brush(Qt::green);
|
||||
p->setBrush(brush);
|
||||
// get the number of polygons
|
||||
ptr = feature + 5;
|
||||
numPolygons = (int *)ptr;
|
||||
|
@ -34,6 +34,7 @@ void QgsMapCanvas::addLayer(QgsMapLayer *lyr){
|
||||
if(layers.size() == 1){
|
||||
fullExtent = lyr->extent();
|
||||
}
|
||||
render();
|
||||
// set zpos to something...
|
||||
//lyr->zpos = 0;
|
||||
}
|
||||
@ -61,12 +62,12 @@ void QgsMapCanvas::render(){
|
||||
QRect v = paint->viewport ();
|
||||
int d = QMIN (v.width (), v.height ());
|
||||
int dm = QMAX(v.width(), v.height());
|
||||
paint->setViewport (v.left () + (v.width () - d) / 2,
|
||||
v.top () + (v.height () - d) / 2, d, d);
|
||||
paint->setViewport (v.left () + (v.width () - d) / 2,
|
||||
v.top () + (v.height () - d) / 2, d, d);
|
||||
|
||||
// render all layers in the stack, starting at the base
|
||||
map<QString,QgsMapLayer *>::iterator mi = layers.begin();
|
||||
int yTransform = mapWindow->bottom() - abs(mapWindow->height() - currentExtent.height())/2;
|
||||
int yTransform = currentExtent.yMax();//mapWindow->bottom() - abs(mapWindow->height() - currentExtent.height())/2;
|
||||
while(mi != layers.end()){
|
||||
QgsMapLayer *ml = (*mi).second;
|
||||
// QgsDatabaseLayer *dbl = (QgsDatabaseLayer *)&ml;
|
||||
@ -76,3 +77,6 @@ void QgsMapCanvas::render(){
|
||||
}
|
||||
paint->end();
|
||||
}
|
||||
void QgsMapCanvas::paintEvent(QPaintEvent *pe){
|
||||
render();
|
||||
}
|
||||
|
@ -19,8 +19,10 @@
|
||||
#define QGSMAPCANVAS_H
|
||||
#include <map>
|
||||
#include <qwidget.h>
|
||||
#include <qevent.h>
|
||||
#include "qgsrect.h"
|
||||
class QRect;
|
||||
|
||||
class QgsMapLayer;
|
||||
|
||||
/*! \class QgsMapCanvas
|
||||
@ -42,7 +44,7 @@ public:
|
||||
*/
|
||||
void render();
|
||||
private:
|
||||
|
||||
void paintEvent(QPaintEvent *pe);
|
||||
//! map containing the layers by name
|
||||
map<QString,QgsMapLayer *>layers;
|
||||
//! Full extent of the map canvas
|
||||
|
Loading…
x
Reference in New Issue
Block a user