/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI
ViewVC logotype

Log of /branches/WIP-pyshapelib-bramz/Thuban/UI

View Directory Listing Directory Listing


Sticky Revision:
(Current path doesn't exist after revision 2835)

Revision 2755 - Directory Listing
Modified Thu Apr 12 09:21:58 2007 UTC (17 years, 10 months ago) by dpinte
2007-04-12 Didrik Pinte <dpinte@itae.be>

   * Removed workaround for file encoding in the Thuban code



Revision 2734 - Directory Listing
Modified Thu Mar 1 12:42:59 2007 UTC (18 years ago) by bramz
made a copy

Revision 2725 - Directory Listing
Modified Tue Feb 20 10:36:20 2007 UTC (18 years ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
Thuban/UI/about.py: Reworked the about text. It shows now
when somebody was active on Thuban. Added a list of maintainers.
Bernhard Reiter is the current maintainer, following up on Bernhard Herzog. 


Revision 2718 - Directory Listing
Modified Fri Jan 5 23:43:49 2007 UTC (18 years, 2 months ago) by dpinte
Original Path: trunk/thuban/Thuban/UI
2007-01-06 Didrik Pinte <dpinte@itae.be>

       UTF-8 locales support reading non utf-8 files. This is a workaround and
       not a real bugfix. See
       http://wald.intevation.org/tracker/index.php?func=detail&aid=118 for
       more details

       * Thuban/UI/
       tableview.py, controls.py, baserenderer.py, view.py: decode text from
       iso-8859-1 encoding.




Revision 2712 - Directory Listing
Modified Sun Oct 15 23:27:05 2006 UTC (18 years, 4 months ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/renderer.py: Added module variable verbose and
added verbose output before doing a raster projection.
Minor: Added (c) year 2006.

* test/test_baserenderer.py: Added new function
test_projected_raster_decimalcommalocale()
Added new author Bernhard Reiter and new copyright year 2006.

* libraries/thuban/gdalwarp.cpp(ProjectRasterFile): Adding
switching to LC_NUMERIC "C" and back before calling GDAL functions -
only #if python >=2.4 .


Revision 2710 - Directory Listing
Modified Tue Oct 10 08:31:44 2006 UTC (18 years, 5 months ago) by dpinte
Original Path: trunk/thuban/Thuban/UI
2006-10-10 Didrik Pinte <dpinte@itae.be>
    * Thuban/Model/layer.py (Layer.GetLabelPosFromShape): new method 
        extracted from Thuban/UI/viewport.py
    * Thuban/UI/viewport.py (Viewport.LabelShapeAt): uses new method



Revision 2709 - Directory Listing
Modified Tue Oct 3 09:34:51 2006 UTC (18 years, 5 months ago) by dpinte
Original Path: trunk/thuban/Thuban/UI
2006-09-28 Didrik Pinte <dpinte@itae.be>

       * Thuban/UI/classgen.py: bugfix due to wx2.6 update

       * Thuban/UI/view.py: removed non needed declaration

       * Thuban/UI/selection.py : typo correction



Revision 2700 - Directory Listing
Modified Mon Sep 18 14:27:02 2006 UTC (18 years, 5 months ago) by dpinte
Original Path: trunk/thuban/Thuban/UI
2006-09-18 Didrik Pinte <dpinte@itae.be>
    
        * wxPython 2.6 update : wx 2.4 syntax has been updated to 2.6



Revision 2697 - Directory Listing
Modified Mon Sep 18 00:45:37 2006 UTC (18 years, 5 months ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/application.py: Fixed warning dialog when gdal is missing.
* Fixed Changelog a bit.


Revision 2691 - Directory Listing
Modified Thu Aug 31 12:40:30 2006 UTC (18 years, 6 months ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
Thuban/UI/about.py: Added Didrik Pinte as contributor. Extended
	  copyright range to include 2006.


Revision 2689 - Directory Listing
Modified Thu Aug 3 09:57:24 2006 UTC (18 years, 7 months ago) by dpinte
Original Path: trunk/thuban/Thuban/UI
2006-06-29 Didrik Pinte <dpinte@itae.be>

        * Thuban/UI/main.py: circular import fix.



Revision 2688 - Directory Listing
Modified Fri Jun 30 12:27:20 2006 UTC (18 years, 8 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
New Classification "Pattern": Classify text attributes by regexp.

Revision 2674 - Directory Listing
Modified Wed Oct 19 08:56:47 2005 UTC (19 years, 4 months ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/about.py: remove unused import of getdefaultlocale.
Added display of internal encoding to the about dialog text.

* Extensions/svgexport/__init__.py: changed version to "1.0.0+cvs".

Started to update the NEWS file.


Revision 2668 - Directory Listing
Modified Thu Aug 18 21:54:25 2005 UTC (19 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ScreenRenderer.draw_selection_incrementally): Call the right method
for the default size.


Revision 2647 - Directory Listing
Modified Tue Jul 5 20:04:35 2005 UTC (19 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Extend copyright notice to 2005


Revision 2643 - Directory Listing
Modified Tue Jul 5 16:00:48 2005 UTC (19 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ViewPort.set_view_transform): Handle
ZeroDivisionError exceptions.  I don't know when they happen
exactly.  It probably happens when the projections aren't set
properly.


Revision 2642 - Directory Listing
Modified Fri Jul 1 20:49:04 2005 UTC (19 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
First step towards unicode.  With this roughly we're at step 1
string_representation.txt

* Doc/technotes/string_representation.txt: New.  Document how
strings are represented in Thuban and how to get to a Unicode
Thuban.

* Thuban/__init__.py (set_internal_encoding)
(unicode_from_internal, internal_from_unicode): New. The first few
functions for the internal string representation

* Thuban/UI/about.py (unicodeToLocale): Removed.  Use
internal_from_unicode instead.

* Thuban/UI/__init__.py (install_wx_translation): Determine the
encoding to use for the internal string representation.  Also,
change the translation function to return strings in internal
representation even on unicode builds of wxPython

* Thuban/Model/load.py (SessionLoader.check_attrs): Decode
filenames too.
(SessionLoader.start_clrange): Use check_attrs to decode and check
the attributes.

* Thuban/Model/xmlreader.py (XMLReader.encode): Use
internal_from_unicode to convert unicode strings.

* Thuban/Model/xmlwriter.py (XMLWriter.encode): Use
unicode_from_internal when applicable

* test/runtests.py (main): New command line option:
internal-encoding to specify the internal string encoding to use
in the tests.

* test/support.py (initthuban): Set the internal encoding to
latin-1

* test/test_load.py (TestSingleLayer.test, TestClassification.test)
(TestLabelLayer.test): Use the internal string representation when
dealing with non-ascii characters

* test/test_load_1_0.py (TestSingleLayer.test)
(TestClassification.test, TestLabelLayer.test): Use the internal
string representation when dealing with non-ascii characters

* test/test_load_0_9.py (TestSingleLayer.test)
(TestClassification.test): Use the internal string representation
when dealing with non-ascii characters

* test/test_load_0_8.py (TestUnicodeStrings.test): Use the
internal string representation when dealing with non-ascii
characters

* test/test_save.py (XMLWriterTest.testEncode)
(SaveSessionTest.testClassifiedLayer): Use the internal string
representation when dealing with non-ascii characters where
applicable


Revision 2639 - Directory Listing
Modified Thu Jun 30 16:15:03 2005 UTC (19 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ScreenRenderer.draw_selection_incrementally):
untabify.


Revision 2635 - Directory Listing
Modified Tue Jun 28 06:48:45 2005 UTC (19 years, 8 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ScreenRenderer.draw_selection_incrementally):
Use the default size for rendering selected items of default type.
Fixes part 2 of https://intevation.de/rt/webrt?serial_num=3149


Revision 2625 - Directory Listing
Modified Thu May 12 14:54:30 2005 UTC (19 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add missing import, which led to an exception when opening a layer's projection.


Revision 2618 - Directory Listing
Modified Fri May 6 14:18:31 2005 UTC (19 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_raster_data): Fixed signature to match that in BaseRenderer.
Use the new opacity argument in place of calling layer.Opacity(). In the case
where the format is not 'RAW', alpha_data is None and the loaded image has
alpha information, use the file's alpha information. This is still subject to
the layer's opacity setting.


Revision 2617 - Directory Listing
Modified Fri May 6 14:18:00 2005 UTC (19 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(BaseRenderer.draw_raster_layer): Pass the opacity of the layer to
draw_raster_data rather than the layer.
(BaseRenderer.draw_raster_data): Remove the layer parameter because the
function doesn't need to know about the layer. Add the optional opacity
parameter whose default is 1.0. Add 'PNG' as a supported graphics format.


Revision 2602 - Directory Listing
Modified Mon Apr 25 15:01:48 2005 UTC (19 years, 10 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Added a description according to the CVS log message


Revision 2601 - Directory Listing
Modified Sat Apr 23 16:40:33 2005 UTC (19 years, 10 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Added a missing import


Revision 2599 - Directory Listing
Modified Wed Apr 13 16:08:33 2005 UTC (19 years, 10 months ago) by russell
Original Path: trunk/thuban/Thuban/UI
Fixing bug #2921, panning with middle button not working without active tool


Revision 2597 - Directory Listing
Modified Thu Apr 7 19:46:29 2005 UTC (19 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ClassGrid.__init__): Use -1 as the ID.
(ID_CLASS_TABLE): Removed. It wasn't used anywhere except in
ClassGrid.__init__ and it's value is outside of the valid
range (must be < 32768).  wxPython 2.5 complains about it with an
exception.


Revision 2588 - Directory Listing
Modified Tue Mar 29 18:05:01 2005 UTC (19 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(BMP_SIZE_W, BMP_SIZE_H): Set both to 16 to
match the site of the legend_icon_layer icon.  Otherwise wxpython
2.5 complains when the legend is created with the error:

PyAssertionError: C++ assertion "(bitmap.GetWidth() == m_width &&
bitmap.GetHeight() == m_height) || (m_width == 0 && m_height == 0)"
failed in ./src/generic/imaglist.cpp(81): invalid bitmap size in
wxImageList: this might work on this platform but definitely won't under
Windows.


Revision 2587 - Directory Listing
Modified Wed Mar 23 15:30:27 2005 UTC (19 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add support for adjusting the opacity of a raster layer.


Revision 2582 - Directory Listing
Modified Thu Mar 10 22:47:14 2005 UTC (20 years ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Added status of the extensions to the about text.


Revision 2581 - Directory Listing
Modified Thu Mar 10 22:44:18 2005 UTC (20 years ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OnInit): Add the initialization of the extensions.
(ThubanApplication.init_extensions): Init all extensions.


Revision 2580 - Directory Listing
Modified Thu Mar 10 22:39:11 2005 UTC (20 years ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ExtensionDesc.__init__): Added »···optional parameter init_callback.
ExtensionDesc.init_ext): New. Executes the callback and sets
a status.


Revision 2571 - Directory Listing
Modified Fri Feb 18 14:54:17 2005 UTC (20 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Refactored baserenderer.py and renderer.py to remove baserenderer.py's
dependencies on wxPython. Added a new method projected_raster_layer()
that returns a raster layer image in projected space. This must be
implemented in classes derived from BaseRenderer. This also eliminates
the dependency on gdal in baserenderer.py.


Revision 2562 - Directory Listing
Modified Wed Feb 16 21:14:47 2005 UTC (20 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
so that that wxproj doesn't crash. Added GUI support for selecting
alpha channel (opacity can't be selected yet).


Revision 2561 - Directory Listing
Modified Tue Feb 8 20:34:29 2005 UTC (20 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
More wxPython 2.5 changes.  This time taken from a patch from
Daniel Calvelo Aros.

* Thuban/UI/tableview.py (QueryTableFrame.__init__)
(QueryTableFrame.__init__): Pass the size of a spacer as a single
item.

* Thuban/UI/projdialog.py (ProjFrame.build_dialog)
(ProjFrame.build_dialog): Pass the size of a spacer as a single
item.

* Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
size of a spacer as a single item.

* Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
size of a spacer as a single item.


Revision 2560 - Directory Listing
Modified Tue Feb 8 20:25:22 2005 UTC (20 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
Compatibility with wxPython 2.5.  The changes should make it work
better with 2.5 while still keeping compatibility with 2.4.  There
are still problems with 2.5, though.

* Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
of a spacer as a single item.

* Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
from wxControl

* Thuban/UI/legend.py (LegendTree): When running with wxPython <
2.5, add an implementation of the GetFirstChild method that does
not require the second parameter.
(LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
(LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
(LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
pass the second parameter to GetFirstChild


Revision 2556 - Directory Listing
Modified Mon Feb 7 13:46:53 2005 UTC (20 years, 1 month ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
	Enable translation for message string.


Revision 2552 - Directory Listing
Modified Fri Jan 28 15:54:00 2005 UTC (20 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Make layer's use_mask flag default to true. Support a bit array describing
the mask to use. Improve error handling in ProjectRasterFile (also addresses
RT #2947).


Revision 2551 - Directory Listing
Modified Thu Jan 27 14:19:41 2005 UTC (20 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add a new dialog box for raster layers. The dialog box allows
the user to toggle a mask that is generated by ProjectRasterFile
and is used to only draw the real parts of the projected image.


Revision 2544 - Directory Listing
Modified Mon Jan 24 11:19:53 2005 UTC (20 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
Rework the status bar updates a bit to make sure the message about
the projections is produced at the right times.

* Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
New class variable with messages that may require a status bar
update.
(MainWindow.view_position_changed)
(MainWindow.update_status_bar): Rename from view_position_changed
to update_status_bar.  It's meaning has changed now that it may
also generate messages about problems with projection settings.
(MainWindow.__init__): Use the new update_status_bar_messages
class variable to subscribe update_status_bar
(MainWindow.set_position_text): Update doc-string.  This method
has to be renamed at some point.  See doc-string and comments.
(MainWindow.OnClose): Unsubscribe update_status_bar from all
messages in update_status_bar_messages

* Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
class attribute.  map messages to be forwarded by the viewport.
(ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
the messages in forwarded_map_messages


Revision 2537 - Directory Listing
Modified Fri Jan 21 14:01:25 2005 UTC (20 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Improved rendering raster layers by changing the return format of
the ProjectRasterFile function.


Revision 2534 - Directory Listing
Modified Fri Jan 21 08:31:16 2005 UTC (20 years, 1 month ago) by jan
Original Path: trunk/thuban/Thuban/UI
(view_position_changed): Made string available for i18n.


Revision 2531 - Directory Listing
Modified Thu Jan 20 18:47:26 2005 UTC (20 years, 1 month ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py(view_position_changed): Added docstring
	and comment that the warning code here is a hack.


Revision 2529 - Directory Listing
Modified Thu Jan 20 17:55:23 2005 UTC (20 years, 1 month ago) by russell
Original Path: trunk/thuban/Thuban/UI
Warn user about misprojected layers when their lat/lon bounding
box exceeds rational lat/lon values.


Revision 2528 - Directory Listing
Modified Thu Jan 20 13:14:14 2005 UTC (20 years, 1 month ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/about.py (unicodeToLocale()): Improved:
	Use 'ascii' and then 'replace' for other characters
	when getdefaultlocale returns None. Thanks to Bernhard H. .


Revision 2527 - Directory Listing
Modified Thu Jan 20 11:45:15 2005 UTC (20 years, 1 month ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/classgen.py (OnRetrieve()): Added a comment
	that OnRangeText might be called twice and using None as argument.


Revision 2526 - Directory Listing
Modified Thu Jan 20 11:30:52 2005 UTC (20 years, 1 month ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/classgen.py (OnRetrieve()): Add a OnRangeText(0)
	to work around a different in wx Behaviour noticed on MacOSX,
	thanks to Lorenzo Moretti and Daniel Calvelo for the fix.


Revision 2525 - Directory Listing
Modified Thu Jan 20 10:00:34 2005 UTC (20 years, 1 month ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UiI/about.py: take iso-8859-15 when getdefaultlocale returns
	None. (Fixes rt#2910.)


Revision 2520 - Directory Listing
Modified Tue Jan 11 16:52:40 2005 UTC (20 years, 1 month ago) by frank
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
	Fix indention bug.


Revision 2516 - Directory Listing
Modified Sun Jan 9 12:32:17 2005 UTC (20 years, 2 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
BugFix 2901: Explicitly copy layers ClassificationColumn since it
is not part of the layers Classification.


Revision 2514 - Directory Listing
Modified Mon Jan 3 16:21:17 2005 UTC (20 years, 2 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
    BugFix 2883: Former implementation only worked on classified point layers:
    KeyError was raised, now use the default size if field is None.


Revision 2511 - Directory Listing
Modified Mon Dec 27 16:31:32 2004 UTC (20 years, 2 months ago) by russell
Original Path: trunk/thuban/Thuban/UI
The middle button now pans the map view.


Revision 2505 - Directory Listing
Modified Thu Dec 23 15:10:41 2004 UTC (20 years, 2 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.load_user_proj): Added a
\n to stderr after the warnings. Thanks to Russell Nelson.


Revision 2478 - Directory Listing
Modified Fri Dec 17 18:48:49 2004 UTC (20 years, 2 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
instead of getlocale because getlocale doesn't return a usable
encoding name on a german windows 2000

* setup.py: windows build: Removed the absolute path names and
made all prfixes relative to the directory containing setup.py.
Makes it a little easier to adapt to a different system.


Revision 2470 - Directory Listing
Modified Thu Dec 16 11:00:10 2004 UTC (20 years, 2 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Fix for RT#2237

(ProjFrame._show_proj_panel): If the
panel to be shown is the UnknownProjPanel disable the OK and Try
buttons.  Otherwise enable them.
(ProjFrame.__GetProjection): The UnknownProjPanel returns None for
the parameters.  In that case __GetProjection also returns None
now.


Revision 2462 - Directory Listing
Modified Wed Dec 15 16:42:56 2004 UTC (20 years, 2 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(GenQuantilesPanel.__init__): Set the
minimum number of classes to 2.  The calculate_quantiles needs at
least two and raises an exception otherwise.
Fixes RT#2549


Revision 2454 - Directory Listing
Modified Mon Dec 13 18:26:11 2004 UTC (20 years, 2 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
renderer has to be at the same position as the mapregion

* Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
has to be moved by (self.shiftx, self.shifty) too.


Revision 2446 - Directory Listing
Modified Mon Dec 13 11:52:34 2004 UTC (20 years, 2 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Alternative Path feature:
	* test/test_load.py (TestAltPath): New, tests for alternative path feature
	in load_session()
	(Shapefile_CallBack): Helper, implements controllable callback.

	* Thuban/UI/application.py (ThubanApplication.OnInit):
	Added "alt_path" to self.path
	(ThubanApplication.OpenSession): Added shapefile_callback as second
	callback similar to db_connection_callback.
	(ThubanApplication.run_alt_path_dialog): New, implementaion of
	shapefile_callback. In addition to raising the dialog the control of
	self.path('alt_path') is implemented here.

	* Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
	(SessionLoader.open_shapefile): Open shapefile, eventually with
	alternative path. This wrapps the "theSession.OpenShapefile(filename)"
	formerly used in start_fileshapesource()/start_layer().
	(SessionLoader.start_fileshapesource): Call open_shapefile().
	(SessionLoader.start_layer): Call open_shapefile().
	(load_session): Added shapefile_callback.

	* Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
	feature (search / check).


Revision 2431 - Directory Listing
Modified Sun Dec 5 15:05:02 2004 UTC (20 years, 3 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Added PNG, TIFF and GIF as supported bitmap image formats (helpful
for the WMS extension)


Revision 2428 - Directory Listing
Modified Sat Nov 27 21:40:01 2004 UTC (20 years, 3 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Added Norbert Solymosi for hungarian translation and
Ole Rahn as contrbutor. Moved Bernhard Reiter from Contributor
to Developer.


Revision 2413 - Directory Listing
Modified Mon Nov 22 11:16:35 2004 UTC (20 years, 3 months ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/base.py (UnsetModified):
Fixed some typos in docstring.

* Thuban/UI/baserenderer.py (BaseRenderer.draw_polygon_shape()):
Added hints on the used algorithm for handling holes.


Revision 2396 - Directory Listing
Modified Thu Nov 18 20:17:43 2004 UTC (20 years, 3 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ViewPort._hit_point): Added optional parameter
size' defaulting to the previously fixed value 5.
Extended doc-string.
(Viewport._find_shape_in_layer): Resolved FIXME regarding flexibility
for symbols.
Now the size of the largest point symbol is determined to find out
about whether the point has been hit.
This fixes the problem that only clicks inside a fixed distance of
5 where found.


Revision 2394 - Directory Listing
Modified Wed Nov 17 22:02:29 2004 UTC (20 years, 3 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ScreenRenderer.draw_selection_incrementally):
Added consideration of the specific size of point symbols.
The property for each point symbol is retrieved and the size applied
for the rendering method.
Added doc-string.


Revision 2386 - Directory Listing
Modified Thu Oct 7 14:43:45 2004 UTC (20 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ID_SELPROP_SPINCTRL): Renamed to ID_SELPROP_SPINCTRL_LINEWIDTH.
(ID_SELPROP_SPINCTRL_LINEWIDTH): New Id replaces ID_SELPROP_SPINCTRL.
(ID_SELPROP_SPINCTRL_SIZE): New Id.
(SelectPropertiesDialog.__init__): Added a second spin control
for the size in case the corresponding layer is of point type.
(SelectPropertiesDialog._OnSpin): Renamed to _OnSpinLineWidth.
(SelectPropertiesDialog._OnSpinLineWidth): New. Former _OnSpin.
(SelectPropertiesDialog._OnSpinSize): New. Set size of property
and refresh preview.


Revision 2377 - Directory Listing
Modified Sun Oct 3 21:45:48 2004 UTC (20 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(BaseRenderer.draw_shape_layer_incrementally): If the draw function
is for points, call it with the size as additional parameter.
BaseRenderer.draw_point_shape): Added additional, optional parameter for
the size. Compute the radius using the size.


Revision 2376 - Directory Listing
Modified Sun Oct 3 21:23:25 2004 UTC (20 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ClassDataPreviewer.Draw): Added doc-string.
Also, now there is a return value that indicates whether the drawing
size exceeded the given rect extent and if so the new extent.
Finally, point objects are drawn depending on the size. If either
the width or height is exceeded, the new extent is returned.
(ClassRenderer.Draw): Now when calling the previewer drawing function,
evaluate the return value and, if not None, adapt the grid widget size
accordingly and redraw again.


Revision 2366 - Directory Listing
Modified Fri Oct 1 18:24:10 2004 UTC (20 years, 5 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Register properties dialog classes for both provided layer classes/types


Revision 2365 - Directory Listing
Modified Fri Oct 1 18:22:32 2004 UTC (20 years, 5 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Utilise the new ClassMapper for global registration of properties
dialog classes (which are indeed layer-specific).


Revision 2364 - Directory Listing
Modified Fri Oct 1 18:18:49 2004 UTC (20 years, 5 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Move the logic for checking whether a dialog is already opened (and
raising it to the users attention) and creating a new dialog into a
function of its own


Revision 2363 - Directory Listing
Modified Fri Oct 1 18:07:14 2004 UTC (20 years, 5 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
The map can be retrieved through the parent which is passed to the
constructor anyway and doesn't require an argument of its own,
required for the unification of arguments for general use through
properties-dialog selector.


Revision 2362 - Directory Listing
Modified Fri Oct 1 18:00:42 2004 UTC (20 years, 5 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Unify arguments for general use through properties-dialog selector,
the map can be retrieved through the parent and doesn't require an
argument of its own.


Revision 2354 - Directory Listing
Modified Tue Sep 28 19:17:14 2004 UTC (20 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Added description
of the registered extensions with all of the information.


Revision 2353 - Directory Listing
Modified Tue Sep 28 19:13:21 2004 UTC (20 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
This module defines a registry for Extensions.


Revision 2338 - Directory Listing
Modified Fri Aug 20 16:50:22 2004 UTC (20 years, 6 months ago) by silke
Original Path: trunk/thuban/Thuban/UI
Changes to be consistent with coding style


Revision 2335 - Directory Listing
Modified Wed Aug 11 08:09:44 2004 UTC (20 years, 6 months ago) by silke
Original Path: trunk/thuban/Thuban/UI
Small changes to encoding related stuff to avoid too many and too enhanced
imports of locale


Revision 2334 - Directory Listing
Modified Tue Aug 10 19:58:50 2004 UTC (20 years, 6 months ago) by silke
Original Path: trunk/thuban/Thuban/UI
Fixed encoding problem of about dialog: Added function unicodeToLocale() to
convert special characters to users locale encoding


Revision 2297 - Directory Listing
Modified Thu Jul 22 13:07:52 2004 UTC (20 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/viewport.py (ViewPort.VisibleExtent): New.  Return the
visible extent of the map in projected coordinates

* test/test_viewport.py (SimpleViewPortTest.test_default_size)
(SimpleViewPortTest.test_init_with_size): Add some VisibleExtent()
tests.
(SimpleViewPortTest.test_visible_extent): New. The real test for
VisibleExtent()


Revision 2289 - Directory Listing
Modified Fri Jul 16 19:47:29 2004 UTC (20 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* test/test_viewport.py
(ViewPortTest.test_changing_map_projection): Check that changing
the projection of an empty map shown in a viewport doesn't lead to
exceptions in the viewport's handler for the
MAP_PROJECTION_CHANGED messages

* Thuban/UI/viewport.py (ViewPort.map_projection_changed): Only
try to keep the same region visible when the map actually contains
something


Revision 2278 - Directory Listing
Modified Tue Jul 13 11:07:45 2004 UTC (20 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(BaseRenderer.render_map_incrementally): Fix a logic bug in the
optimization that tries not to draw layers under a raster layer.
The bug was harmless.  All it effectively did was to produce The a
strange messages about not being able to draw Layer instances for
all vector layers below a raster layer which would be invisible
anyway because the raster layer currently always covers the entire
window


Revision 2239 - Directory Listing
Modified Mon Jun 14 10:15:03 2004 UTC (20 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(__version__): Add missing
import of wxPython.wx itself (as opposed to the contents of
wxPython.wx).  For some reason wxPython.wx is available as
wxPython.wx.wx in at least some 2.4 releases.  Fixes RT#2482
wrt. wxPython 2.4.


Revision 2224 - Directory Listing
Modified Fri May 28 17:29:30 2004 UTC (20 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Fix some typos.


Revision 2202 - Directory Listing
Modified Tue May 11 21:39:39 2004 UTC (20 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(Menu.FindOrInsertMenu): New. Find a given menu or, if not found,
insert it.


Revision 2200 - Directory Listing
Modified Fri May 7 20:20:43 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(SelectPropertiesDialog.__GetColor): Now calls the abstract ColorDialog
instead of wxColourDialog.  This also removed the dependency to Color
class conversion from this function.


Revision 2199 - Directory Listing
Modified Fri May 7 20:12:16 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
Abstraction for color selection dialog(s).


Revision 2198 - Directory Listing
Modified Fri May 7 20:02:19 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
Removed. It is has been replaced by projdialog for quite a while
and is not used anymore.


Revision 2191 - Directory Listing
Modified Thu Apr 22 15:45:01 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(GenUniquePanel.__init__): Fixed two strings to be i18n now.


Revision 2187 - Directory Listing
Modified Sun Apr 18 20:37:45 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
ID_POP_xxx: removed.
(LegendPanel.__init__): Removed EVT_MENU bindings.
(LegendTree._OnRightClick): Replace direct creation of
menu via wx Classes by applying the menu definition
as of Menu class of menu.py.


Revision 2186 - Directory Listing
Modified Sun Apr 18 20:37:01 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
New method commands: layer_to_top, layer_to_bottom, layer_visibility
(MainWindow.LayerToTop): New. Put current layer to the top.
(MainWindow.LayerToBottom): New. Put current layer to bottom.
(MainWindow.HideLayer, MainWindow.ShowLayer, _has_visible_map):
Replace 1,0 by True, False.
(MainWindow.ToggleLayerVisibility): New. Toggle visibility of
current layer.
(MainWindow.LayerShowTable): Removed raising of dialog.
(_has_selected_layer_visible): New. Support function.


Revision 2184 - Directory Listing
Modified Fri Apr 16 08:21:12 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.LayerShowTable): Added docstring. Now for layers without a
ShapeStore a corresponding message is given to the user, that this
layer has no table to show.


Revision 2183 - Directory Listing
Modified Fri Apr 16 07:57:13 2004 UTC (20 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ExceptionDialog.dialog_layout): Improved button string to stronger
clearify that Thuban will be closed when hitting the button.


Revision 2163 - Directory Listing
Modified Tue Apr 13 10:10:34 2004 UTC (20 years, 10 months ago) by joey
Original Path: trunk/thuban/Thuban/UI
Raise the ShowTable() dialog/frame when the user attempts to display
it while it has been opened before already and not closed again.


Revision 2140 - Directory Listing
Modified Fri Mar 26 18:15:35 2004 UTC (20 years, 11 months ago) by bernhard
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/about.py: Extended copyright to 2004 and added
information about the thuban-devel mailinglist.
* ChangeLog: Added changes.


Revision 2102 - Directory Listing
Modified Thu Mar 11 21:04:30 2004 UTC (20 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Rework how
the dialog is constructed. Add combo boxes to select id and
geometry column.  Rename some instance variables.
(ChooseDBTableDialog.GetTable): Return id and geometry column
names
(ChooseDBTableDialog.OnTableSelect): New. Event handler for
selections in the table list

* Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Use id_column
and geometry_column

* Thuban/Model/session.py (Session.OpenDBShapeStore): Add the new
parameters for id_column and geometry column of PostGISShapeStore
here as well.

* Thuban/Model/postgisdb.py (type_map): Add ROWID psycog type.
(_raw_type_map): New. Map raw PostgreSQL type ints to thuban types
(PostGISConnection.GeometryTables): Use a better query to
determine which relations in the database might be usable for
shapestores.  Now supports views as well but is more PostgreSQL
specific
(PostGISConnection.table_columns): New. Somewhat experimental
method to let the db dialogs provide lists of columns to users so
that they can select id and geometry columns.
(PostGISTable.__init__): The default value of the id_column
parameter is now None it still means "gid" effectively, though.
(PostGISTable.IDColumn): New introspection method to return a
column object for the id column
(PostGISShapeStore.GeometryColumn): New introspection method to
return a column object for the geometry column

* test/test_postgis_db.py
(TestPostGISConnection.test_gis_tables_non_empty):
Removed. Subsumed by the new:
(TestPostGISConnection.test_gis_tables_with_views_and_tables):
New. Tes the GeometryTables and table_columns methods with actual
tables and views.
(PointTests.test_id_column, PointTests.test_geometry_column):
New. tests for the new methods.
(TestPostGISShapestorePoint.setUp)
(TestPostGISShapestorePointSRID.setUp)
(TestPostGISShapestorePointExplicitGIDColumn.setUp): Fill the
instance variables needed by the new tests


Revision 2101 - Directory Listing
Modified Thu Mar 11 20:50:43 2004 UTC (20 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
fix syntax error.  I should have tested this :(


Revision 2099 - Directory Listing
Modified Thu Mar 11 20:45:03 2004 UTC (20 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(GenQuantilesPanel.GetList): The row
numbers given to ReadValue are ordinals.


Revision 2076 - Directory Listing
Modified Thu Feb 19 15:19:39 2004 UTC (21 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OnInit): Make sure
the mainwindow has a reference to the map of the initial session.
This fixes a bug introduced with the fix for RT#2245


Revision 2072 - Directory Listing
Modified Tue Feb 17 13:14:49 2004 UTC (21 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
Fix for RT#2245

* Thuban/UI/application.py (ThubanApplication.OnInit): Initialize
instance variables before trying to create any windows.  Creating
windows can start an event loop if e.g. message boxes are popped
up for some reason, and event handlers, especially EVT_UPDATE_UI
may want to access things from the application.
(ThubanApplication.maps_changed): The mainwindow may not have been
created yet, so check whether it has been created before calling
its methods

* Thuban/UI/view.py (MapCanvas.OnIdle): Only try to redraw if we
have a map


Revision 2068 - Directory Listing
Modified Mon Feb 16 19:42:04 2004 UTC (21 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.Export): Remove accidentally added
line


Revision 2066 - Directory Listing
Modified Mon Feb 16 19:39:28 2004 UTC (21 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.Export): Avoid UnboundLocalError.


Revision 2061 - Directory Listing
Modified Fri Feb 13 10:46:44 2004 UTC (21 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.AddDBLayer): When the layer
can't be created, return immediately after displaying the error
message.


Revision 2053 - Directory Listing
Modified Tue Feb 3 19:12:03 2004 UTC (21 years, 1 month ago) by frank
Original Path: trunk/thuban/Thuban/UI
First version of Portuguese (Brazilian) translation

* po/pt_BR.po: New, translation of pot (2004-01-15 16:07+0300) for
	Brazilian Portuguese by Eduardo Patto Kanegae.

* Thuban/UI/about.py (About.__init.py__): Added Eduardo to the list of
	translators.


Revision 2051 - Directory Listing
Modified Wed Jan 21 17:09:15 2004 UTC (21 years, 1 month ago) by frank
Original Path: trunk/thuban/Thuban/UI
Make Thuban remember path selections (at least for one application run).

* Thuban/UI/application.py (Application.OnInit): Initialize path as a
	attribute of application object. Path is a dictionary of
	strings, currently with the items "data" and "projection".
	(Application.SetPath): New, stores path for the specified item.
	(Application.Path): New, return path for the specified item.

* Thuban/UI/mainwindow.py
	(MainWindow.OpenSession, MainWindow.SaveSessionAs,
	MainWindow.AddLayer, MainWindow.AddRasterLayer,
	MainWindow.TableOpen): Access "data" path information of the
	application.

* Thuban/UI/projdialog.py (ProjFrame._OnImport, ProjFrame._OnExport):
	Access "projection" path information of the application.


Revision 2040 - Directory Listing
Modified Tue Dec 23 11:37:04 2003 UTC (21 years, 2 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/join.py (JoinDialog.__init__): Mark one more string
for translation

* Thuban/UI/mainwindow.py (MainWindow.TableRename)
(MainWindow.RenameMap, MainWindow.RenameLayer): Mark some more
strings for translation

* po/de.po: Update with the newly marked strings.


Revision 2032 - Directory Listing
Modified Mon Dec 22 14:54:47 2003 UTC (21 years, 2 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(TableGrid.OnDestroy)
(TableGrid.__init__): Handle EVT_WINDOW_DESTROY in the grid to
unsubscribe all subscribers.
(LayerTableFrame.OnDestroy): Do not unsubscribe any messages from
self.grid since it may already have been destroyed.
Fixes RT #2256


Revision 2022 - Directory Listing
Modified Fri Dec 5 13:36:10 2003 UTC (21 years, 3 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Thuban/UI/projdialog.py (load_user_proj): If user.proj is missing
	write warning to stderr instead of rising a warning dialog


Revision 2019 - Directory Listing
Modified Wed Dec 3 18:56:23 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.has_selected_shape_layer):
New. Like has_selected_layer but for shape layers only
(_has_selected_shape_layer): New. Like _has_selected_layer but for
shape layers only
(layer_show_table command, layer_jointable command): Use these
commands should only be available for shape layers


Revision 2017 - Directory Listing
Modified Wed Dec 3 18:43:03 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.Unsubscribe): Deal with
publishers that are wx objects and may have been destroyed by wx
already. Fixes RT #2242.


Revision 1995 - Directory Listing
Modified Mon Dec 1 16:09:10 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.AddLayer): Change the wild
cards for the dialog so that shapefiles ending in all uppercase
SHP are listed too


Revision 1985 - Directory Listing
Modified Thu Nov 27 16:04:42 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ViewPort.map_projection_changed): Use
InverseBBox to unproject bboxes


Revision 1980 - Directory Listing
Modified Tue Nov 25 15:59:18 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Make sure we have ASCII
source code.


Revision 1968 - Directory Listing
Modified Fri Nov 21 14:33:27 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Enable the experimental attribute editing again and introduce a
command line switch to actually activate it

* Thuban/UI/main.py (options): New. Container for options set on
the commmand line
(main): Add the --enable-attribute-editing flag.

* Thuban/UI/identifyview.py (IdentifyView.__init__): If attribute
editing is enabled use the grid ctrl which allows editing of the
values

* Thuban/Model/transientdb.py (AutoTransientTable.write_record):
New. Just delegate this to the underlying table.


Revision 1964 - Directory Listing
Modified Wed Nov 19 19:48:47 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/resource.py: Rework the way gdal support is
determined so that we can give a reason in the about why gdal is
not supported.
(gdal_support_status): New. Variable holding a string with the
reason for no gdal support

* Thuban/UI/about.py (About.__init__): Add the reason why gdal is
not supported to the message


Revision 1956 - Directory Listing
Modified Tue Nov 18 15:37:38 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(DBFrame.conns_changed): Fix doc-string
(DBFrame.OnAdd): Use the new MatchesParameters method when looking
for existing connections with the same parameters and break out of
the loop correctly.


Revision 1950 - Directory Listing
Modified Fri Nov 14 16:39:36 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(IdentifyView.selected_shape): Fix typo in doc-string


Revision 1941 - Directory Listing
Modified Tue Nov 11 18:27:48 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.build_dialog): Add a space
above the EPS widgets, introduce a check box for the deprecated
eps projections and a label for the epsg widgets
(ProjFrame._OnShowEPSG): Handle the deprecated EPSG projections
too


Revision 1937 - Directory Listing
Modified Tue Nov 11 18:16:42 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Avoid warnings when run under Python 2.3

(MapRenderer.make_point): Turn this into a
real method so that we can convert to int.
(MapRenderer.label_font): The font size mist be an int.


Revision 1936 - Directory Listing
Modified Tue Nov 11 18:16:29 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Avoid warnings when run under Python 2.3

(Color2wxColour): The color values must be
ints. Also, remove the unnecessary asserts.


Revision 1935 - Directory Listing
Modified Tue Nov 11 18:16:20 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Avoid warnings when run under Python 2.3

(BaseRenderer.draw_point_shape)
(BaseRenderer.draw_label_layer): Coordinates must be ints.


Revision 1933 - Directory Listing
Modified Tue Nov 11 16:37:53 2003 UTC (21 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/resource.py (get_system_proj_file): Add a filename
parameter so that this function can be used for all proj files in
Resource/Projections
(DEFAULT_PROJ_FILE, EPSG_PROJ_FILE): New. Predefined filenames for
get_system_proj_file

* Thuban/UI/projdialog.py (ProjFrame.__init__): Instead of one
ProjFile self.__sysProjFile use a dictionary of system ProjFile
objects self._sys_proj_files
(ProjFrame.build_dialog): Adapt to the new changes in the
ProjectionList constructor. Add a check button to toggle whether
EPSG projections are shown
(ProjFrame._OnShowEPSG): New. Handler for the epsg check button
events.
(ProjFrame.load_user_proj, ProjFrame.load_system_proj): Only show
the busy cursor if the files have not yet been loaded by the
dialog.
(ProjFrame.load_system_proj): Add a parameter for the name of the
proj file. Maintain the dictionary of system projections
self._sys_proj_files

* Thuban/UI/projlist.py (ProjectionList): Merge the system_projs,
user_projs parameters into one parameter proj_files which is a
list of proj files.
(ProjectionList._subscribe_proj_files)
(ProjectionList._unsubscribe_proj_files): New. Move
subscription/unsubscription of projfile messages to separate
methods
(ProjectionList.Destroy): The unsubscribe is now done in
_unsubscribe_proj_files
(ProjectionList.update_projections): We now have a list of proj
file objects
(ProjectionList.SetProjFiles): New method to set a new list of
proj file objects

* test/test_proj.py (ProjFileReadTests.test_get_system_proj_file):
Specify explicitly which system proj file to load.


Revision 1927 - Directory Listing
Modified Mon Nov 10 16:57:35 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(raster_format_map): New. Mapping form the
strings of the format parameter of draw_raster_data method to wx
constants
(MapRenderer.draw_raster_data): Add the format parameter and use
raster_format_map to map it to the right wxwindows constant for
wxImageFromStream


Revision 1926 - Directory Listing
Modified Mon Nov 10 16:57:19 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Add a way to specify how layers in
extensions are to be rendered.
(_renderer_extensions): New. List with renderer for layers in
extensions
(add_renderer_extension): New. Add a renderer extension
(init_renderer_extensions): New. Init the renderer extensions
(BaseRenderer.render_map_incrementally): Search
_renderer_extensions for how to draw unknown layer types
(BaseRenderer.draw_raster_data): Add format parameter so that
formats other than BMP can be drawn
(BaseRenderer.draw_raster_layer): Pass an explicit format to
draw_raster_data


Revision 1918 - Directory Listing
Modified Mon Nov 3 17:33:19 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(BaseRenderer.draw_shape_layer_incrementally): Use the ReadValue
method. ReadValue is faster than ReadRowAsDict since it only reads
one cell especially now that the dbf file objects actually
implement it.


Revision 1914 - Directory Listing
Modified Mon Nov 3 14:17:51 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(BaseRenderer.draw_shape_layer_incrementally): Cache the pens and
brushes for the groups so that they're not created over and over
again


Revision 1895 - Directory Listing
Modified Fri Oct 31 10:13:32 2003 UTC (21 years, 4 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Added two items to legend popup menu: Remove Layer and Show Layer Table

* Thuban/UI/legend.py
	(LegendPanel._OnRemoveLayer, LegendPanel._OnShowTable):
	New event handlers, call the corresponding mainwindow methods.
	(LegendTree._OnRightClick): Added items to popup menu.


Revision 1892 - Directory Listing
Modified Thu Oct 30 18:16:53 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(TableFrame.OnDestroy, LayerTableFrame.OnDestroy): New.
Unsubscribe the messages here not in OnClose because that might
get called multiple times. Fixes RT #2196
(TableFrame.OnClose, LayerTableFrame.OnClose): Removed. Not needed
anymore.


Revision 1891 - Directory Listing
Modified Thu Oct 30 18:16:39 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanFrame.__init__): Handle
EVT_WINDOW_DESTROY
(ThubanFrame.OnDestroy): New. Handler for EVT_WINDOW_DESTROY. Does
nothing but is convenient for the derived classes.


Revision 1890 - Directory Listing
Modified Thu Oct 30 16:20:41 2003 UTC (21 years, 4 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Thuban/UI/join.py (JoinDialog.OnJoin):
	Wrapped the major parts of the join process in a ThubanBeginBusyCursor,
	ThubanEndBusyCursor frame.


Revision 1887 - Directory Listing
Modified Thu Oct 30 09:26:32 2003 UTC (21 years, 4 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
Replaced string split function by corresponding use of the
string class method.


Revision 1879 - Directory Listing
Modified Wed Oct 29 17:43:40 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(BaseRenderer.draw_shape_layer_incrementally): Speed up the
special case of a classification that only has the default group


Revision 1874 - Directory Listing
Modified Mon Oct 27 17:36:49 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.ShowExceptionDialog): Handle translation of the
dialog message properly


Revision 1871 - Directory Listing
Modified Mon Oct 27 17:11:06 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Rework how localization works so that we use wx's translation
functions when running Thuban as a normal application but not when
we don't need any UI, such as in the test suite. See the comment
in Thuban/__init__.py for details

* Thuban/__init__.py (_): Add one level of indirection to make the
translation handling more flexible and to make it possible to use
either wx's translation services or not.
(gettext_identity, translation_function_installed)
(install_translation_function): New function to help with this

* Thuban/UI/__init__.py: Install the wx specific translation
function if it's OK to do that


Revision 1866 - Directory Listing
Modified Mon Oct 27 13:01:58 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Several rendering changes:

 - Render the selection into a separate bitmap so that only that
   bitmap needs to be redrawn when the selection changes

 - Render incrementally showing previews and allowing interaction
   before rendering is complete

 - Update the renderer interface a bit. Most parameters of
   RenderMap are now parameters of the constructor

* Thuban/UI/baserenderer.py (BaseRenderer.__init__): Add the map
and the update region as parameters. Update the doc-string
(BaseRenderer.render_map_incrementally): New. Generator function
to renders the map incrementally
(BaseRenderer.render_map): Remove the map argument (it's now in
the constructor) and simply iterate over the
render_map_incrementally generator to draw the map.
(BaseRenderer.draw_shape_layer_incrementally)
(BaseRenderer.draw_shape_layer): Renamed to
draw_shape_layer_incrementally and changed into a generator that
yields True every 500 shapes. Used by render_map_incrementally to
render shape layers incrementally

* Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Removed the
map and region parameters which are now in the constructor
(ScreenRenderer.RenderMapIncrementally): New. Public frontend for
the inherited render_map_incrementally.
(BaseRenderer.draw_shape_layer): Removed.
(ScreenRenderer.draw_selection_incrementally): New. The selection
drawing part of the removed draw_shape_layer as a generator
(ScreenRenderer.layer_shapes): Update because of the region
parameter change
(ExportRenderer.__init__): New. Extend the inherited constructor
with the destination region for the drawing
(ExportRenderer.RenderMap): Removed the map and region parameters
which are now in the constructor

* Thuban/UI/view.py (MapCanvas.PreviewBitmap): New. Return a
bitmap suitable for a preview in a tool
(CanvasPanTool.MouseMove): Use the PreviewBitmap method to get the
bitmap
(MapPrintout.draw_on_dc): Adapt to new renderer interface
(MapCanvas.OnPaint): Handle drawing the selection bitmap if it
exists
(MapCanvas.OnIdle): Update the logic to deal with incremental
rendering and the selection bitmap
(MapCanvas._do_redraw): Handle the instantiation of the render
iterator and the redraws during rendering
(MapCanvas._render_iterator): New. Generator to incrementally
redraw both bitmaps
(MapCanvas.Export): Adapt to new renderer interface.
(MapCanvas.full_redraw): Reset the selection bitmap and the
renderer iterator too
(MapCanvas.redraw_selection): New. Force a redraw of the selection
bitmap
(MapCanvas.shape_selected): Only redraw the selection bitmap


Revision 1861 - Directory Listing
Modified Fri Oct 24 16:03:03 2003 UTC (21 years, 4 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__init__): Added 'longlat' as alias for 'latlong'.


Revision 1858 - Directory Listing
Modified Fri Oct 24 15:12:58 2003 UTC (21 years, 4 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.proj_selection_changed): Set the projection even for the
UnknownPanel.
(UnknownProjPanel.__init__): Define the text and create the textctrl
widget.
(UnknownProjPanel._DoLayout): Replaced static text widget by the
textctrl created in __init__.
(UnknownProjPanel.SetProjection): Set the text for the text ctrl
including the parameters of the projection.


Revision 1854 - Directory Listing
Modified Wed Oct 22 09:38:36 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__init__): Do not set the
focus on the OK button, only on the projection list. That way the
list really has the focus initially
(ProjFrame.OnClose): Call the projection list's Destroy method to
make it unsubscribe all messages


Revision 1853 - Directory Listing
Modified Wed Oct 22 09:38:20 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjectionList.Destroy): Unsubscribe from
the ProjFile's messages and call the base class methods correctly
(ProjectionList.SelectProjection): Set the wxLIST_STATE_FOCUSED
flag on the newly selected item too. Otherwise some other item is
focused and the first time the focus is moved with the keyboard
the selection moves in unexpected ways.


Revision 1851 - Directory Listing
Modified Tue Oct 21 14:17:24 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Rework the projection dialog to fix a few bugs, including RT 2166
and most of 2168

(ProjFrame): Substantial changes
throughout the class. The main change is to use the ProjectionList
class instead of a normal wxListBox. Also, add an explicit
"Unknown" projection to the projection choice control.
(ProjPanel.__init__): Add an "unknown" ellipsoid
(TMPanel.__init__, LCCPanel.__init__): Tweak the order of
instantiation of the panel's controls to make the tab-order more
natural


Revision 1850 - Directory Listing
Modified Tue Oct 21 14:13:41 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New. The class ProjectionList is a
special wxListCtrl to show a list of projections in a more MVC
fashion


Revision 1837 - Directory Listing
Modified Tue Oct 21 09:29:52 2003 UTC (21 years, 4 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Popup menu for legend. Scheduled for the 1.2 release this was too
simple to implement: The popup menu is bound to the legend tree, while
the events are hanlded by its anchestor, the legend panel. This
allows reuse of all the event handlers already implemented for the
legend toolbar buttons.

* Thuban/UI/legend.py (LegendPanel.__init__): EVT_MENU macros
	to add handlers for the events issued by the popup menu.
 	(LegendPanel._OnToggleVisibility): Handler for toggling layer
	visibility event
    	(LegendPanel._OnProjection): Handler for layer projection event.
	(LegendTree.__init__): Added EVT_TREE_ITEM_RIGHT_CLICK
	(LegendTree._OnRightClick): Event handler for right click, select item
	and pop up menu.
	(LegendTree.ToggleVisibility): Toggle layer visibility
	(LegendTree.LayerProjection): Raise layer projection dialog for
	current layer.


Revision 1833 - Directory Listing
Modified Mon Oct 20 11:00:57 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.write_proj_file): New. helper
method to write a projfile and display a busy cursor and error
dialogs.
(ProjFrame._OnSave, ProjFrame._OnAddToList, ProjFrame._OnImport)
(ProjFrame._OnExport, ProjFrame._OnRemove): Use write_proj_file
(ProjFrame.__FillAvailList): Translate "<None>" too and display a
busy cursor while loading the user and system prj files.


Revision 1819 - Directory Listing
Modified Mon Oct 13 15:55:43 2003 UTC (21 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame._OnSave)
(ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
(ProjFrame.__FillAvailList): Use the projection's Label method to
get the string for the list box


Revision 1809 - Directory Listing
Modified Fri Oct 10 17:00:17 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.build_dialog): Instantiate
all projection type specific panels and put them into a
NotebookLikeSizer. This way the dialog doesn't change its size
when a different projection is selected
(ProjFrame.__init__): Rename projection_panels
projection_panel_defs and reuse projection_panels for a list of
the instantiated panels.
(ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
(ProjFrame.__DoOnProjChoice): Changes due to the new handling of
the panels
(UnknownProjPanel._DoLayout): Place the newlines in the message
differently to make the panel narrower.
(TMPanel._DoLayout): Layout the parameters in one column.


Revision 1808 - Directory Listing
Modified Fri Oct 10 16:59:40 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New file with custom sizers.


Revision 1806 - Directory Listing
Modified Fri Oct 10 10:36:34 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.build_dialog): New method
that contains all the setup for the dialog's widgets, layout and
event handling.
(__): Call build_dialog to build the dialog.
(ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
Their functionality is now in build_dialog
(ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
(ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
(ProjFrame.__DoOnProjChoice): Small updates due to slightly
different widget names and hierarchy introduced with build_dialog.


Revision 1795 - Directory Listing
Modified Wed Oct 8 17:35:52 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__set_properties): Remove the
length limit on the projname text control


Revision 1789 - Directory Listing
Modified Wed Oct 8 13:10:45 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__DoOnProjAvail): When the
projection type of the currently selected projection is not known,
i.e. there's no panel for it, use the UnknownProjPanel
(ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
the actual replacing of the proj panel into the new method
_show_proj_panel.
(UnknownProjPanel): Add doc-string.
(UnknownProjPanel._DoLayout): Insert a newline into the text so
that the panel is not so wide.


Revision 1786 - Directory Listing
Modified Wed Oct 8 10:39:11 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/resource.py (read_proj_file): Return the warnings
too. Update the doc-string
(get_proj_files): Removed. It wasn't used anywhere
(get_system_proj_files, get_system_proj_file): Rename to
get_system_proj_file and return the ProjFile object and not a list
of ProjFile objects. Update the callers.
(get_user_proj_files, get_user_proj_file): Rename to
get_user_proj_file return the ProjFile object and not a list of
ProjFile objects. Update the callers.
(ProjFileReader.__init__): New instance variable for the warnings.
Rename the __pf ivar to projfile. Update the methods referring to
__pf
(ProjFileReader.end_projection): Catch any errors raised when
instantiating the projection and record that as an error. The
projection will not be in the final ProjFile object.
(ProjFileReader.GetWarnings): New method to return the warnings.

* Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
show the warnings from the projfile reader
(ProjFrame._OnImport): Deal with any warnings returned by
read_proj_file
(ProjFrame.__FillAvailList): Deal with any warnings returned by
get_system_proj_file or get_user_proj_file.


Revision 1782 - Directory Listing
Modified Mon Oct 6 17:31:54 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.__init__): Subscribe to the
canvas' TITLE_CHANGED messages
(MainWindow.update_title): New. Update the main window's title
(MainWindow.__SetTitle): Removed. Use update_title instead.
(MainWindow.SetMap): Use update_title instead of __SetTitle
(MainWindow.RenameMap): Do change the window title explicitly
here. That's handled in a proper MVC way now.
(MainWindow.title_changed): New. Subscriber for the TITLE_CHANGED
messages


Revision 1780 - Directory Listing
Modified Mon Oct 6 17:31:31 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Forward the map's TITLE_CHANGED messages
(ViewPort): Derive from Conduit instead of Publisher
(ViewPort.Subscribe, ViewPort.Unsubscribe): Use the new base class
when calling the inherited versions
(ViewPort._subscribe_map, ViewPort._unsubscribe_map): New helper
methods to subscribe and unsubscribe map messages
(ViewPort.SetMap, ViewPort.Destroy): Use the new helper methods to
handle the map subscriptions
(ViewPort.Map, ViewPort.map_projection_changed)
(ViewPort.layer_projection_changed): Add or update doc-strings


Revision 1776 - Directory Listing
Modified Mon Oct 6 15:13:35 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.maps_changed): Add
doc-string


Revision 1771 - Directory Listing
Modified Mon Oct 6 11:28:38 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ViewPort.GetTextExtent): Turn this method
into what would be a "pure virtual function" in C++: always raise
NotImplementedError. Mock implementations for test cases don't
belong into the real code


Revision 1766 - Directory Listing
Modified Wed Oct 1 09:52:28 2003 UTC (21 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
Remove the #! line as
it annoys lintian which warns about these files not being
executable. The #! isn't necessary here since if you absolutely
must execute them you can always say "python <filename>".


Revision 1750 - Directory Listing
Modified Wed Sep 24 15:46:27 2003 UTC (21 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ExportRenderer.render_legend): Do not
modify the list returned by map.Layers() in place since it is the
actual list of layers used by the map.


Revision 1706 - Directory Listing
Modified Wed Sep 3 08:31:26 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(IdentifyView.ID_STOP): New.
(IdentifyView.__init__): Added another button that allows to
stop the identify mode.
(IdentifyView.OnStop): New. Stops the identify mode.


Revision 1704 - Directory Listing
Modified Wed Sep 3 07:02:36 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.ShowExceptionDialog): Made strings available to
translations. Exchanged the simple
ScrolledMessageDialog by the new ExceptionDialog.


Revision 1703 - Directory Listing
Modified Wed Sep 3 06:58:47 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
a special exception dialog.


Revision 1695 - Directory Listing
Modified Mon Sep 1 12:45:07 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
parameter list to just parent and session
(ChooseDBTableDialog.__set_properties): Removed. Setting the
selection of empty list boxes is not allowed (and produces C++
assertion errors) and the rest of the setup is better done in
__init__ anyway.
(ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
(ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
builtins True/False for booleans to avoid warnings from wxPython

* Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
ChooseDBTableDialog constructor parameters.


Revision 1667 - Directory Listing
Modified Thu Aug 28 10:21:05 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Remove some unused imports


Revision 1662 - Directory Listing
Modified Wed Aug 27 13:51:01 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Make the table interface distinguish between row ids (an integer
that uniquely identifies a row) and row ordinals (a simple row
count from 0 to NumRows() - 1)

* Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
(PostGISTable.RowOrdinalToId): New methods to conver between row
ids and row ordinals
(PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
parameter row_is_ordinal to indicate whether the row parameter is
the row id or the ordinal

* Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
(TransientTableBase.RowOrdinalToId)
(AutoTransientTable.RowIdToOrdinal)
(AutoTransientTable.RowOrdinalToId): Same new methods as in
PostGISTable.
(TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
(AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
Same new parameter as in PostGISTable.

* Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
(DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
(MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
(DBFTable.ReadValue, DBFTable.ReadRowAsDict)
(MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
parameter as in PostGISTable.

* Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
(DataTable.RowOrdinalToId): New methods to convert between row ids
and row ordinals.
(TableGrid.SelectRowById): New method to select a row based on its
ID as opposed to its ordinal
(DataTable.GetValue, TableGrid.OnRangeSelect)
(TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
(QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
(LayerTableFrame.__init__): Convert between row ids and row
ordinals as appropriate

* test/postgissupport.py (PostGISDatabase.__init__): Add
doc-string.
(PostGISDatabase.initdb): The optional third item in a tuple in
tables is now a (key, value) list with additional arguments to
pass to upload_shapefile
(upload_shapefile): New parameter gid_offset to allow gids that
are not the same as the shapeids in the shapefile
(PostgreSQLServer.get_default_static_data_db): Use the new
gid_offset to make the gids in landmarks 1000 higher than the
shapeids in the shapefile

* test/test_viewport.py
(TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
new shapeids in the landmarks table

* test/test_transientdb.py
(TestTransientTable.run_iceland_political_tests)
(TestTransientTable.test_transient_joined_table): Add tests for
the new table methods and new keywords arguments.

* test/test_postgis_db.py
(TestPostGISTable.test_read_row_as_dict_row_count_mode)
(TestPostGISTable.test_read_value_row_count_mode)
(TestPostGISTable.test_row_id_to_ordinal)
(TestPostGISTable.test_row_oridnal_to_id): New test for the new
table methods and the new arguments
(TestPostGISShapestorePoint.test_shapes_in_region)
(TestPostGISShapestorePoint.test_shape_raw_data)
(TestPostGISShapestorePoint.test_shape_points)
(TestPostGISShapestorePoint.test_shape_shapeid)
(TestPostGISShapestorePoint.test_all_shapes)
(TestPostGISTable.test_simple_query)
(TestPostGISTable.test_simple_query)
(TestPostGISTable.test_simple_query)
(TestPostGISTable.test_read_value)
(TestPostGISTable.test_read_row_as_dict): Adapt to the new
shapeids in the landmarks table

* test/test_memory_table.py
(TestMemoryTable.test_read_row_as_dict_row_count_mode)
(TestMemoryTable.test_read_value_row_count_mode)
(TestMemoryTable.test_row_id_to_ordinal)
(TestMemoryTable.test_row_oridnal_to_id): New test for the new
table methods and the new arguments

* test/test_dbf_table.py
(TestDBFTable.test_read_row_as_dict_row_count_mode)
(TestDBFTable.test_read_value_row_count_mode)
(TestDBFTable.test_row_id_to_ordinal)
(TestDBFTable.test_row_oridnal_to_id): New test for the new table
methods and the new arguments


Revision 1654 - Directory Listing
Modified Mon Aug 25 16:05:21 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.run_db_param_dialog): New. Suitable as a
db_connection_callback. Main difference is that the dialog run
from this method doesn't have a parent so it can be used even when
there is no main window
(ThubanApplication.OpenSession): Use self.run_db_param_dialog if
no db_connection_callback was given. This way the dialog pops up
even when the .thuban file was given as a command line parameter.


Revision 1652 - Directory Listing
Modified Mon Aug 25 15:59:58 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnLeftUp): Release the the mouse
before calling MouseLeftUp. MouseLeftUp may pop up modal dialogs
which leads to an effectively frozen X session because the user
can only interact with the dialog but the mouse is still grabbed
by the canvas.
Also, call the tool's Hide method before MouseLeftUp because
MouseLeftUp may change the tool's coordinates.


Revision 1650 - Directory Listing
Modified Mon Aug 25 15:05:49 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OpenSession): Catch
LoadCancelled exceptions and handle them by returning immediately.


Revision 1648 - Directory Listing
Modified Mon Aug 25 13:55:35 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/dbdialog.py (DBDialog): Reimplement to make it look a
bit nucer and be more generic.
(DBFrame.OnAdd): Adapt to new DBDialog interface

* Thuban/UI/application.py (ThubanApplication.OpenSession): New
optional parameter db_connection_callback which is passed to
load_session.

* Thuban/UI/mainwindow.py (MainWindow.run_db_param_dialog): New.
Suitable as a db_connection_callback
(MainWindow.OpenSession): Use self.run_db_param_dialog as the
db_connection_callback of the application's OpenSession method


Revision 1644 - Directory Listing
Modified Mon Aug 25 12:44:55 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(__ThubanVersion__): Remove this and
replace it and the comment with __BuildDate__ by the Source: and
Id: cvs keywords as used in the other files.


Revision 1631 - Directory Listing
Modified Fri Aug 22 16:01:14 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/about.py (About.__init__): Add the psycopg version.

* Thuban/version.py: Add psycopg version

* Thuban/Model/postgisdb.py (psycopg_version): New. Return the
version of the psycopg module


Revision 1630 - Directory Listing
Modified Fri Aug 22 15:59:57 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(DBPwdDlg): Removed because it's not used.
(DBFrame.OnEdit): Removed because it's not used and wouldn't work
at the moment. The functionality should probably be implemented
some time, though.


Revision 1628 - Directory Listing
Modified Fri Aug 22 12:53:41 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): split up the huge about text into elements/lists for
easier translation. This fixes bug
https://intevation.de/rt/webrt?serial_num=2058
Also, made some forgotten string available for the i18n.


Revision 1625 - Directory Listing
Modified Thu Aug 21 16:02:23 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Make postgis support really optional including insensitive menu
items.

* Thuban/Model/postgisdb.py (has_postgis_support): New. Return
whether the postgis is supported.

* Thuban/UI/dbdialog.py: Put the psycopg import into try..except
to make postgis support optional

* Thuban/UI/mainwindow.py (_has_postgis_support): New. Context
version of Thuban.Model.postgisdb.has_postgis_support
(database_management command): Make it only sensitive if postgis
is supported.


Revision 1622 - Directory Listing
Modified Thu Aug 21 11:56:06 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.AddLayer): Changed dialog settings to allow multiple files
to load into the map.  Also reduced selection to *.shp as a default.


Revision 1620 - Directory Listing
Modified Wed Aug 20 13:14:22 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Add dialogs and commands to open database connections and add
database layers.

* Thuban/UI/mainwindow.py (MainWindow.DatabaseManagement): New
method to open the database connection management dialog
(MainWindow.AddDBLayer): New method to add a layer from a database
(_has_dbconnections): New helper function to use for sensitivity
(database_management command, layer_add_db command): New commands
that call the above new methods.
(main_menu): Add the new commands to the menu.

* Thuban/Model/postgisdb.py (PostGISConnection.__init__)
(PostGISConnection.connect): Establish the actual connection in a
separate method and call it in __init__. This makes it easier to
override the behavior in test cases
(PostGISConnection.BriefDescription): New method to return a brief
description for use in dialogs.

* test/test_postgis_db.py (NonConnection): DB connection that
doesn't actually connect
(TestBriefDescription): New class with tests for the new
BriefDescription method


Revision 1595 - Directory Listing
Modified Mon Aug 18 10:03:13 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Added Silke Reimer.


Revision 1593 - Directory Listing
Modified Fri Aug 15 14:10:27 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Change the way shapes are returned by a shape store. The
ShapesInRegion method returns an iterator over actual shape
objects instead of a list of shape ids.

* Thuban/Model/data.py (ShapefileShape.ShapeID): New. Return shape
id.
(ShapefileStore.ShapesInRegion): Return an iterator over the
shapes which yields shape objects instead of returning a list of
shape ids
(ShapefileStore.AllShapes): New. Return an iterator over all
shapes in the shape store
(DerivedShapeStore.AllShapes): New. Like in ShapefileStore

* Thuban/Model/layer.py (Layer.ShapesInRegion): Update
doc-string.

* Thuban/UI/baserenderer.py
(BaseRenderer.layer_ids, BaseRenderer.layer_shapes): Rename to
layer_shapes and make it return an iterator containg shapes
instead of a list of ids.
(BaseRenderer.draw_shape_layer): Update doc-string; Adapt to
layer_shapes() change

* Thuban/UI/renderer.py (ScreenRenderer.layer_ids)
(ScreenRenderer.layer_shapes): Rename as in BaseRenderer

* Thuban/UI/viewport.py (ViewPort._find_shape_in_layer): Adapt to
changes in the ShapesInRegion return value.
(ViewPort._get_hit_tester): Remove commented out code

* test/mockgeo.py (SimpleShapeStore.ShapesInRegion): Adapt to the
new return value.
(SimpleShapeStore.AllShapes): New. Implement this method too.

* test/test_layer.py (TestLayer.test_arc_layer)
(TestLayer.test_polygon_layer, TestLayer.test_point_layer)
(TestLayer.test_point_layer_with_projection)
(TestLayer.test_derived_store): Adapt to changes in the
ShapesInRegion return value.

* test/test_shapefilestore.py
(TestShapefileStoreArc.test_shapes_in_region)
(TestShapefileStorePolygon.test_shapes_in_region)
(TestShapefileStorePoint.test_shapes_in_region): Adapt to changes
in the ShapesInRegion return value.
(TestShapefileStorePoint.test_all_shapes)
(TestShapefileStoreArc.test_shape_shapeid): New tests for the new
methods

* test/test_derivedshapestore.py
(TestDerivedShapeStore.test_shapes_in_region): Adapt to changes in
the ShapesInRegion return value.
(TestDerivedShapeStore.test_all_shapes)
(TestDerivedShapeStore.test_shape_shapeid): New tests for the new
methods


Revision 1591 - Directory Listing
Modified Fri Aug 15 14:00:53 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Make the renderers deal correctly with raw vs. python level
representation of shape geometries

* Thuban/UI/baserenderer.py (BaseRenderer.low_level_renderer):
Return a flag useraw in addition to the callable and the parameter
to indicate whether the callable can deal with the raw shape data
or uses the higher level python lists of coordinates. The callable
now should accept either the raw data or the return value of the
shape's Points() method.
(BaseRenderer.draw_shape_layer): Adapt to the low_level_renderer
change
(BaseRenderer.projected_points): Instead of the shape id use the
points list as parameter.
(BaseRenderer.draw_polygon_shape, BaseRenderer.draw_arc_shape)
(BaseRenderer.draw_point_shape): Adapt to projected_points()
change and accept the points list as parameter instead of the
shape id.

* Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Return
the useraw flag as required by the BaseRenderer
(ScreenRenderer.draw_shape_layer): Adapt to low-level renderer
changes.

* test/test_baserenderer.py
(TestBaseRenderer.test_point_with_classification): New test for
rendering a map with classifications.


Revision 1589 - Directory Listing
Modified Fri Aug 15 12:49:08 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/viewport.py (ViewPort.find_shape_at)
(ViewPort._find_shape_in_layer, ViewPort._find_shape_in_layer)
(ViewPort._get_hit_tester, ViewPort.projected_points)
(ViewPort._hit_point, ViewPort._hit_arc, ViewPort._hit_polygon)
(ViewPort._find_label_at): Split the find_shape_at method into
several new methods and use the functions in the hit-test module.

* Thuban/UI/hittest.py: New module with Python-level hit-testing
functions

* test/test_hittest.py: New. Test for the new hittest module


Revision 1583 - Directory Listing
Modified Tue Aug 12 16:13:41 2003 UTC (21 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Added Björn Broscheit.


Revision 1579 - Directory Listing
Modified Tue Aug 12 12:34:07 2003 UTC (21 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(UnknownProjPanel._DoLayout): Translated
strings have to be one string literal.


Revision 1572 - Directory Listing
Modified Mon Aug 11 10:20:08 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.OnJoin): Add missing space to
error message


Revision 1568 - Directory Listing
Modified Fri Aug 8 13:33:03 2003 UTC (21 years, 7 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(About.__init__): Reworked the hall of fame. Now
the list corresponds to the "About" web page.


Revision 1566 - Directory Listing
Modified Fri Aug 8 13:01:30 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Make sure translated strings are recognized as one string literal.


Revision 1562 - Directory Listing
Modified Thu Aug 7 17:53:37 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.low_level_renderer): Check
the raw data format and only use an optimized version of its a
shapefile.


Revision 1554 - Directory Listing
Modified Wed Aug 6 17:24:30 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New file with the basic rendering
logic. The code in this file is completely independend of wx.
(BaseRenderer): Class with the basic rendering logic


Revision 1552 - Directory Listing
Modified Wed Aug 6 17:21:32 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/renderer.py (MapRenderer): Most of the code/methods in
this class is now in BaseRenderer. This class is now practically
only a specialization of BaseRenderer for rendering to an actual
wx DC.
(ScreenRenderer.draw_shape_layer): Use self.low_level_renderer()
to get the shapetype specific rendering functions.

* test/test_baserenderer.py: New. Test cases for BaseRenderer

* Thuban/UI/view.py (MapCanvas.__init__): New instance variable
error_on_redraw to guard agains endless loops and stack overflows
when there's a bug in the rendering code that raises exceptions.
(MapCanvas.OnIdle, MapCanvas._do_redraw): Split the actual
rendering into a separate method _do_redraw so that error handling
is a bit easier. When an exception occurs, set error_on_redraw to
true. When it's true on entry to OnIdle do nothing and return
immediately.


Revision 1551 - Directory Listing
Modified Wed Aug 6 17:21:07 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/data.py (ShapefileStore.Shape): For consistency, a
Shape object will always have the coordinates as a list of list of
coordinate pairs (tuples).
(Shape.compute_bbox): Adapt to new representation.

* Thuban/UI/viewport.py (ViewPort.find_shape_at)
(ViewPort.LabelShapeAt): Adapt to new coordinate representation in
Shape objects.

* test/test_shapefilestore.py
(ShapefileStoreTests.assertFloatTuplesEqual)
(ShapefileStoreTests.assertPointListEquals): Rename to
assertPointListEquals and change purpose to checking equality of
the lists returned by Shape.Points().
(TestShapefileStoreArc.test_shape)
(TestShapefileStorePolygon.test_shape)
(TestShapefileStorePoint.test_shape): Use the new
assertPointListEquals instead of assertFloatTuplesEqual

* test/test_layer.py (TestLayer.assertFloatTuplesEqual)
(TestLayer.assertPointListEquals): Rename to assertPointListEquals
and change purpose to checking equality of the lists returned by
Shape.Points().
(TestLayer.test_arc_layer, TestLayer.test_arc_layer)
(TestLayer.test_polygon_layer, TestLayer.test_point_layer)
(TestLayer.test_derived_store): Use the new assertPointListEquals
instead of assertFloatTuplesEqual

* test/test_derivedshapestore.py
(TestDerivedShapeStore.assertFloatTuplesEqual)
(TestDerivedShapeStore.assertPointListEquals): Rename to
assertPointListEquals and change purpose to checking equality of
the lists returned by Shape.Points().
(TestDerivedShapeStore.test_shape): Use the new
assertPointListEquals instead of assertFloatTuplesEqual


Revision 1549 - Directory Listing
Modified Wed Aug 6 11:18:29 2003 UTC (21 years, 7 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(UTMPanel._OnPropose): Added test for
a bounding box. A dialog is raised in case, no bounding box
is found. This fixes bug #2043:
https://intevation.de/rt/webrt?serial_num=2043


Revision 1542 - Directory Listing
Modified Fri Aug 1 16:13:49 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Insert cvs keywords and doc-strings.


Revision 1541 - Directory Listing
Modified Fri Aug 1 16:13:27 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Insert cvs keywords and doc-strings.
(Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
(ThubanEndBusyCursor): Add doc-strings


Revision 1539 - Directory Listing
Modified Fri Aug 1 14:27:57 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Import the SHAPETYPE_* constants from data
instead of layer.


Revision 1527 - Directory Listing
Modified Wed Jul 30 15:43:28 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add docstrings.


Revision 1526 - Directory Listing
Modified Wed Jul 30 15:43:06 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
 Use renamed Ramp instances.


Revision 1521 - Directory Listing
Modified Wed Jul 30 12:34:10 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.__init__): Use the table's Title()
method directly instead of going through the transient_table
method. This faster because transient_table may force the copy of
a DBF file into the transient database and setting a table's title
doesnm't affect the title of the associated transient table, so
this fixes RT #2042


Revision 1520 - Directory Listing
Modified Wed Jul 30 12:34:02 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(__version__): Don't import the already
removed show_exception_dialog.


Revision 1518 - Directory Listing
Modified Tue Jul 29 15:04:11 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.ShowExceptionDialog):
        Put back this method and remove the equivalent function since we
        are setting the exception hook from within this class (OnInit).


Revision 1505 - Directory Listing
Modified Tue Jul 29 14:29:12 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(main): Don't set the exception hook here,
        it will get set in ThubanApplication.OnInit.


Revision 1504 - Directory Listing
Modified Tue Jul 29 14:28:55 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OnInit): set the
        python exception hook here so that we are sure to catch any
        Thuban exception that happen during initialization.


Revision 1502 - Directory Listing
Modified Tue Jul 29 13:50:47 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(main): Install the exception handler before a ThubanApplication is created.


Revision 1501 - Directory Listing
Modified Tue Jul 29 13:50:35 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.ShowExceptionDialog):
        Removed and called it show_exception_dialog() so that the exception
        handler can be set before the class is created.


Revision 1482 - Directory Listing
Modified Thu Jul 24 17:53:04 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Remove commented out code that wouldn't
belong in viewport anyway


Revision 1481 - Directory Listing
Modified Thu Jul 24 17:52:59 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ScreenRenderer.draw_shape_layer): Remove
superfluous code to set brush and pen for point shapes


Revision 1468 - Directory Listing
Modified Tue Jul 22 14:03:14 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ViewPort.calc_min_max_scales): New.
        Calculates the minimum and maximum scale values. Factored out
        of set_view_transform so that it could be used to zoom all the
        way into a single point.
(ViewPort.set_view_transform): Call calc_min_max_scales().
(ViewPort.FitSelectedToWindow): Zoom to the maximum scale
        if only a single point is selected.


Revision 1467 - Directory Listing
Modified Tue Jul 22 14:02:57 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.render_map): Wrap method
        with Begin/EndDrawing() calls to ensure we aren't doing to
        many updates to the dc during rendering.
(ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
        a pen and brush argument so they need to be passed to the function.


Revision 1464 - Directory Listing
Modified Fri Jul 18 18:20:40 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/messages.py (MAP_REPLACED): New message.

* Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
after the new map has been assigned

* Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
Delegate MAP_REPLACED to the canvas too
(MainWindow.prepare_new_session): Removed. Thanks to the new
MAP_REPLACED message it's no longer needed
(MainWindow.OpenSession, MainWindow.NewSession):
prepare_new_session has been removed.

* Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
MAP_REPLACED so that we can close the dialog if a new map is set.
(Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
(Classifier.map_replaced): Handle MAP_REPLACED by closing the
dialog

* test/test_viewport.py (SimpleViewPortTest)
(SimpleViewPortTest.test_default_size): Add doc-strings
(ViewPortTest.setUp): Bind map to self.map so we can use it in
tests. Subscribe to MAP_REPLACED messages too.
(ViewPortTest.tearDown): No need to explicitly unsubscribe
(ViewPortTest.test_set_map): New test for the SetMap method.


Revision 1460 - Directory Listing
Modified Fri Jul 18 15:23:48 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnLeftDown): Capture the mouse.


Revision 1456 - Directory Listing
Modified Fri Jul 18 14:56:13 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/viewport.py: Remove unused imports

* Thuban/UI/view.py: Remove unused imports


Revision 1454 - Directory Listing
Modified Fri Jul 18 14:41:04 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* test/test_export.py Remove unused imports. The OutputTransform
function is now in viewport.py and is called output_transform
(TestScalebar.test_output_transform)
(TestScalebar.test_OutputTransform): Renamed to
test_output_transform and updated to use output_transform instead
of OutputTransform

* Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
renamed.
(MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
renamed to output_transform

* Thuban/UI/viewport.py (OutputTransform, output_transform):
Rename to output_transform


Revision 1452 - Directory Listing
Modified Fri Jul 18 12:57:59 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/layer.py (Layer.__init__): Rename
classificationField to classificatin_column and init it here so
that it can be used in SetClassificationColumn
(Layer.GetClassificationColumn, Layer.GetClassificationField):
Rename to GetClassificationColumn.
(Layer.SetClassificationColumn, Layer.SetClassificationField):
Rename to SetClassificationColumn and issue a LAYER_CHANGED
message if the column changes.
(Layer._classification_changed, Layer.ClassChanged): Rename to
_classification_changed. Update the callers.
(Layer.SetShapeStore): Further field->column renames.

* Thuban/Model/load.py (SessionLoader.start_classification)
(SessionLoader.start_clpoint): Updates because of
field->column method name changes in the Layer class

* Thuban/Model/save.py (SessionSaver.write_classification): Updates
because of field->column method name changes in the Layer class

* Thuban/UI/classifier.py (Classifier.__init__)
(Classifier._OnTry, Classifier._OnRevert): Updates because of
field->column method name changes in the Layer class

* Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
because of field->column method name changes in the Layer class

* Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
of field->column method name changes in the Layer class

* test/test_save.py (SaveSessionTest.testClassifiedLayer)
(SaveSessionTest.testClassifiedLayer): Update because of
field->column method name changes in the Layer class

* test/test_layer.py (SetShapeStoreTests.setUp)
(SetShapeStoreTests.test_sanity): Update because of field->column
method name changes in the Layer class
(TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
(TestLayerModification.test_sanity)
(TestLayerModification.test_initial_settings): remove unsued code
and rename to test_sanity.
(TestLayerModification.test_set_classification): New test for
SetClassification and SetClassificationField.


Revision 1448 - Directory Listing
Modified Thu Jul 17 14:59:41 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.ToggleLegend): Don't
        fit the map to the window as this changes any zoom level that
        the user may have set.


Revision 1447 - Directory Listing
Modified Thu Jul 17 14:59:29 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__BuildClassification):
        Return both the new class and the field name.


Revision 1435 - Directory Listing
Modified Wed Jul 16 13:24:52 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ViewPort.find_shape_at): Get the classification field from layer.


Revision 1434 - Directory Listing
Modified Wed Jul 16 13:24:39 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Get the classification field from layer.


Revision 1433 - Directory Listing
Modified Wed Jul 16 13:24:25 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGrid.CreateTable): Add fieldType parameter.
(ClassTable.Reset): Add fieldType parameter and use it, rather
        than asking the classification.
(Classifier.__init__): Remember the original class's field
        and ask the layer for the field type, rather than the classification.
(Classifier.__SetGridTable): Retrieve the field and field type
        for the table because they are not in the classification.
(Classifier._OnTry, Classifier._OnRevert): Set the classification
        field on the layer in addition to the classification itself.


Revision 1432 - Directory Listing
Modified Wed Jul 16 13:24:03 2003 UTC (21 years, 7 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.OnOK): Use a fixed
        ramp when we need to fix certain values of a ramp rather than
        using the old fixes parameter.


Revision 1419 - Directory Listing
Modified Tue Jul 15 09:29:18 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Rework the
draw_func handling a bit to remove one layer of indirection. This
makes the renderer about 10% faster in the non-classifying case
and the code a bit cleaner
(MapRenderer.draw_point_shape): Add the pen and brush parameters
and set them in the dc. Now the draw_point_shape method and
wxproj's draw_polygon_shape function have basically the same
signature so that both can be directly used as draw_func


Revision 1405 - Directory Listing
Modified Thu Jul 10 16:49:57 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Tool.MouseUp): Should have called
    drag_stop, not drag_move when the mouse is released.


Revision 1404 - Directory Listing
Modified Thu Jul 10 16:31:07 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Removed.


Revision 1394 - Directory Listing
Modified Thu Jul 10 14:54:58 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(QueryTableFrame.__init__): Add an
        Export Selection button and move the export buttons underneath
        the table.
(QueryTableFrame.UpdateStatusText): Added event argument so
        that it can respond to grid selection events. The status text
        is now updated even when the table is not associated with a
        layer as was previously assumed.
(QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
        UpdateStatusText responds to these events.
(QueryTableFrame.OnSaveAs): Renamed to doExport.
(QueryTableFrame.doExport): Helper function that saves the
        entire table, or selected rows, to a file.
(QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
        Respond to export button events and call doExport.


Revision 1393 - Directory Listing
Modified Thu Jul 10 14:54:41 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.ShowTableView): Raise
        the table window when it is selectd to be shown.


Revision 1392 - Directory Listing
Modified Thu Jul 10 14:54:16 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(main): Set exception hook to the ShowExceptionDialog. Fixes RTbug #1993.


Revision 1391 - Directory Listing
Modified Thu Jul 10 14:54:02 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.__init__): Add controls
        to allow the user to fix line color/width on generated groups.
(ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
        functions to optionally fix group properties.


Revision 1390 - Directory Listing
Modified Thu Jul 10 14:53:38 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.ShowExceptionDialog):
        Port exception dialog from GREAT-ER. Fixes RTbug #1993.


Revision 1386 - Directory Listing
Modified Thu Jul 10 14:52:48 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New. Contains non-wx view functionality.  RTTbug #1992.


Revision 1385 - Directory Listing
Modified Thu Jul 10 14:52:39 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Stripped out all non-wx functionality. Fixes RTTbug #1992.


Revision 1344 - Directory Listing
Modified Tue Jul 1 16:11:26 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixes RTbug #1974, 1971.
(MapCanvas.__init__): Subscribe to the idle time event. Set
        background color to white.
(MapCanvas.OnPaint): Set a flag indicating that we should
        render the map during idle time. If we already have a bitmap
        just draw it now.
(MapCanvas.OnIdle): New. Render the map only during idle time.
        This also fixes a problem with the busy cursor under gtk.


Revision 1343 - Directory Listing
Modified Tue Jul 1 16:11:08 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixes RTbug #1971.


Revision 1342 - Directory Listing
Modified Tue Jul 1 16:10:54 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixes RTbug #1971.
(Classifier.__BuildClassification, Classifier.__SetGridTable):
        Call Classification.SetFieldInfo() instead of SetFieldType.


Revision 1341 - Directory Listing
Modified Tue Jul 1 16:10:42 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixes RTbug #1972.
(ClassGenDialog.__init__): Color ramps are now instances
        already so we don't need to create any new objects.
(ClassGenDialog.OnOK): Check for numGroups is no longer
        necessary because we never use it.


Revision 1324 - Directory Listing
Modified Tue Jul 1 09:28:47 2003 UTC (21 years, 8 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Reverse List of layers to render in same order as in desktop legend.


Revision 1323 - Directory Listing
Modified Mon Jun 30 12:02:01 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add Thuban email addresses.


Revision 1309 - Directory Listing
Modified Thu Jun 26 17:00:44 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.About): Call new About box in Thuban.UI.about.


Revision 1308 - Directory Listing
Modified Thu Jun 26 17:00:31 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(wxCHECK_VERSION): Removed. Not needed.
(verify_versions): Remove most of the code since it is
        now in Thuban.version.verify_versions.o


Revision 1307 - Directory Listing
Modified Thu Jun 26 17:00:17 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__EnableButtons):
        Reset the status of the buttons as the situation warrants,
        but in a better more reliable way by not relying on the
        current status to determine what needs to change.


Revision 1305 - Directory Listing
Modified Thu Jun 26 16:59:41 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New. New About box that displays library version information and credits.


Revision 1303 - Directory Listing
Modified Wed Jun 25 09:39:51 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Cleaned up how we determine file extensions.
(GetImageResource): Return an wxImage from our Resources.


Revision 1302 - Directory Listing
Modified Wed Jun 25 09:39:33 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.EditSymbol): The parent
        of the SelectPropertiesDialog should be self so the window
        appears on top.
(ClassGroupPropertiesCtrl.DoEdit): The parent
        of the SelectPropertiesDialog should be self so the window
        appears on top.


Revision 1298 - Directory Listing
Modified Tue Jun 24 18:00:26 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ExportRenderer.render_legend):
        Check that a layer has a classification before trying
        to get it. Raster layers don't have classifications.


Revision 1293 - Directory Listing
Modified Mon Jun 23 13:05:58 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add blank line at the end because
        file was not being read correctly building the Windows
        distribution.


Revision 1287 - Directory Listing
Modified Mon Jun 23 10:47:11 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.About): Fix text.


Revision 1285 - Directory Listing
Modified Mon Jun 23 10:30:53 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnPaint): Call wxBeginBusyCursor()
        directly to avoid the wxSafeYield() call which generates an
        OnPaint event causing infinite recursion. Don't try to catch
        exception anymore. This was for before there were limits on map
        scaling.


Revision 1284 - Directory Listing
Modified Mon Jun 23 10:30:38 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanBeginBusyCursor): Call wxSafeYield
        to make sure that we don't create reentrant possibilities with
        wxYield.


Revision 1277 - Directory Listing
Modified Fri Jun 20 17:46:45 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use Thuban[Begin|End]BusyCursor()
        instead of a direct call to wx[Begin|End]CusyCursor().
(MapCanvas.find_shape_at): Check if the current search layer
        support shapes, otherwise go on to the next layer.


Revision 1276 - Directory Listing
Modified Fri Jun 20 17:46:34 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use Thuban[Begin|End]BusyCursor()
        instead of a direct call to wx[Begin|End]CusyCursor().


Revision 1275 - Directory Listing
Modified Fri Jun 20 17:46:19 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanBeginBusyCursor, ThubanEndBusyCursor):
        New. Wrappers around the wxWindows functions that allow us to
        make additional calls such as wxYield which gives the native
        system a chance to update the cursor correctly.


Revision 1274 - Directory Listing
Modified Fri Jun 20 17:46:04 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
 Use Thuban[Begin|End]BusyCursor()
        instead of a direct call to wx[Begin|End]CusyCursor().
(GenUniquePanel._OnRetrieve): Set busy cursor while retrieving
        table data.


Revision 1271 - Directory Listing
Modified Fri Jun 20 16:43:04 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnPaint): Call wxYield after
        turning on the busy cursor to allow the system to change the
        cursor before we begin painting. This fixes a problem that
        was occuring only under GTK. Fixes RTbug #1840.


Revision 1253 - Directory Listing
Modified Fri Jun 20 09:28:43 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ScaleBar.DrawScaleBar): Remove
        scale adjust code since it is now done before calling
        this method. Don't do anything if the map projection
        is None.


Revision 1252 - Directory Listing
Modified Fri Jun 20 09:28:08 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ScaleBarBitmap.__SetScale): Do scale
        adjustment here if the map projection uses degrees.


Revision 1241 - Directory Listing
Modified Thu Jun 19 09:25:53 2003 UTC (21 years, 8 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LegendTree.__init__): Instance variable
	raiseProperties initialized to prevent endless loops
(LegendTree._OnItemActivated): Depending on self.raiseProperties
	simply raise the properties or open the dialog and issue a second
	event.


Revision 1240 - Directory Listing
Modified Thu Jun 19 09:25:31 2003 UTC (21 years, 8 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ScaleBar.DrawScaleBar): Apply conversion to scale if projection is
latlong to get better estimate.


Revision 1236 - Directory Listing
Modified Wed Jun 18 15:29:26 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.FitMapToWindow): This may be called
    during startup before a map has been created. Check if map is None
    before using it and do nothing if it is.


Revision 1234 - Directory Listing
Modified Wed Jun 18 14:47:38 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Check for gdal support before importing gdalwarp.
(MapRenderer.render_map): Only try to optimize if we have gdal
        support otherwise nothing will get drawn.
(MapCanvas.FitMapToWindow): This may be called during startup
        before a map has been created. Check if map is None before
        using it and do nothing if it is.


Revision 1233 - Directory Listing
Modified Wed Jun 18 14:47:19 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.__init__): Call ShowLegend().


Revision 1232 - Directory Listing
Modified Wed Jun 18 14:47:06 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(main): Remove call to ShowLegend.


Revision 1231 - Directory Listing
Modified Wed Jun 18 14:46:57 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ScaleBarBitmap.__SetScale): Check if
        the map is None which may be the case if none has been loaded yet.


Revision 1221 - Directory Listing
Modified Tue Jun 17 15:24:45 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.__init__): New instance variable
        current_map_proj to remember the current map projection so that
        when the projection changes we know what the previous projection
        was.
(MapCanvas.SetMap): Unsubscribe and subscribe to
        LAYER_PROJECTION_CHANGED events.
(MapCanvas.projection_changed): Split into two methods that respond
        to map and layer projection changes.
(MapCanvas.map_projection_changed): New. Takes the current view and
        projects it using the new projection. This does not cause the
        map to be redrawn at full extent.
(MapCanvas.layer_projection_changed): New. Cause a redraw which
        will draw each layer in its new projection.


Revision 1219 - Directory Listing
Modified Mon Jun 16 17:42:54 2003 UTC (21 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Update to the layer interface: Direct access to the table,
shapetable, shapefile and filename attributes is now actively
deprecated by issuing deprecation warnings for all places where
this happens.

* Thuban/Model/layer.py (Layer.__getattr__): New. Implement access
to the instance variables table, shapetable, shapefile and
filename via __getattr__ so that we can issue a deprecation
warning.
(Layer.SetShapeStore): Don't set the deprecated instance variables
any more
(Layer.SetShapeStore): Don't use deprecated layer instance
variables
(Layer.Destroy): No need to explicitly remove the instance
variables any more
(Layer.GetFieldType, Layer.Shape): Don't use deprecated layer
instance variables

* Thuban/UI/classgen.py (ClassGenDialog.__init__)
(GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve)
(GenQuantilesPanel.GetList, GenQuantilesPanel.OnRetrieve): Don't
use deprecated layer instance variables

* Thuban/UI/classifier.py (Classifier.__init__): Don't use
deprecated layer instance variables

* Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape)
(IdentifyGridCtrl.selected_shape): Don't set the deprecated layer
instance variables

* Thuban/UI/tableview.py (LayerTableGrid.select_shapes): Don't use
deprecated layer instance variables

* Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Don't use
deprecated layer instance variables

* Thuban/Model/save.py (SessionSaver.write_layer): Don't use
deprecated layer instance variables

* Thuban/UI/renderer.py (MapRenderer.draw_shape_layer)
(MapRenderer.polygon_render_param): Don't use deprecated layer instance
variables

* test/runtests.py (main): Turn Thuban's deprecation warnings into
errors so that they're cought by the tests

* test/test_load.py (TestSingleLayer.test): Don't use deprecated
layer instance variables


Revision 1211 - Directory Listing
Modified Mon Jun 16 12:27:52 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(LegendTree.__init__): Add instance variable
        preventExpandCollapse and subscribe to expanding and collapsing
        events.
(LegendTree.OnItemExpandCollapse): New. Responds to expanding and
        collapsing events and will veto the event if it has been triggered
        by the user double clicking on a layer.
(LegendTree._OnItemActivated): Set preventExpandCollapse to indicate
        that an expanding/collapsing event should be vetoed.


Revision 1207 - Directory Listing
Modified Fri Jun 13 18:16:10 2003 UTC (21 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(Classifier.OnClose)
(Classifier.map_layers_removed)
(Classifier.layer_shapestore_replaced): Unsubscribe the messages
in OnClose and not in map_layers_removed or
layer_shapestore_replaced to make sure it always happens when the
dialog is closed


Revision 1202 - Directory Listing
Modified Fri Jun 13 16:01:10 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(TableFrame.__init__): Add a panel
        object that can be used by derived classes to place any
        controls (including the grid) onto.
(QueryTableFrame.__init__): Use the panel as the parent window
        for all the controls. Reparent the grid so that the panel is
        the parent. Call UpdateStatusText() to correctly initialize
        the status bar.


Revision 1199 - Directory Listing
Modified Fri Jun 13 15:04:28 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(TableGrid.__init__): Create an
        instance variable to keep track of how many rows are selected.
        Subscribe once to the the events we are interested in.
(ThubanGrid.OnRangeSelect): Only handle event if event handling
        hasn't been turned off.
(ThubanGrid.OnSelectCell): Only handle event if event handling
        hasn't been turned off.
(ThubanGrid.ToggleEventListeners): Rather than subscribe None
        as an event listener (which changes the event handler stack)
        simply set an instance variable to False. This is checked in
        the event handlers.
(ThubanGrid.GetNumberSelected): Return the number of currently
        selected rows.
(TableFrame): Inherit from ThubanFrame so we can have a
        status bar and control buttons.
(QueryTableFrame.__init__): Create a status bar. Fixes RTbug #1942.
        Explicitly set which items are selected in the operator choice and
        action choice so there is always a valid selection. Fixes RTbug #1941.
        Subscribe to grid cell selection events so we can update the
        status bar.
(QueryTableFrame.UpdateStatusText): Update the status bar with
        how many rows are in the grid, how many columns, and how many
        rows are selected.
(QueryTableFrame.OnGridSelectRange, QueryTableFrame.OnGridSelectCell):
        Call UpdateStatusText when cells are (de)selected.
(QueryTableFrame.OnQuery): Use the string value in the value
        combo if either the selected item index is 0 or if the string
        cannot be found in the predefined list (this happens if the
        user changes the text). Fixes RTbug #1940.
        Only turn off the grid event listeners if there a query comes
        back with a none empty list of ids. in the case that the list
        is empty this causes a grid.ClearSelection() call to actually
        clear the grid selection which causes the selected items in
        the map to be deselected. Fixes RTbug #1939.


Revision 1198 - Directory Listing
Modified Fri Jun 13 15:03:32 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanFrame): New: a class that inherits
        from wxFrame (as opposed to wxDialog like the other classes)
        but otherwise behaves like the other classes. This is needed
        for the TableView which isn't really a dialog and needs to
        have a status bar and control buttons.


Revision 1194 - Directory Listing
Modified Fri Jun 13 13:02:30 2003 UTC (21 years, 8 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(IdentifyView.__init__): Call
self.selected_shape with the current selection to make sure the
contents of the dialog are up to date when it's shown for the
first time.
The dialog used to work without this by luck. The recent fix to
the connector module 'broke' a 'feature' the identify view was
relying on, i.e that subscribing to a message in response to
receiving a message of that type would mean that the new
subscriber would also be called for the same message.


Revision 1190 - Directory Listing
Modified Thu Jun 12 17:01:37 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__DoOnProjAvail): Clear
        the projfilepath if no projection is selected.


Revision 1181 - Directory Listing
Modified Thu Jun 12 16:29:06 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__DoOnProjAvail): Set the
        projfilepath label to just the basename of the projection file
        rather than include the entire path.


Revision 1180 - Directory Listing
Modified Thu Jun 12 16:28:54 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ScaleBarBitmap.__SetScale): Don't draw
        the scalebar if the current map has no projection set.


Revision 1167 - Directory Listing
Modified Thu Jun 12 12:42:34 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use renamed projection resource functions.


Revision 1165 - Directory Listing
Modified Thu Jun 12 12:42:10 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.render_map): Only try to
        optimize if a raster layer is visible. Fixes RTbug #1931.
        Only draw the raster layer if the gdal library is available.
        Addresses RTbug #1877.


Revision 1164 - Directory Listing
Modified Thu Jun 12 12:41:44 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(_has_gdal_support): New. Used to
        determine if the "Add Image Layer" menu option should be
        greyed out or not. Addresses RTbug #1877.


Revision 1163 - Directory Listing
Modified Thu Jun 12 12:41:31 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use renamed projection resource functions.
(GenUniformPanel.__CalcStepping): Fix a slight discrepency
        when using integers versus floats.


Revision 1162 - Directory Listing
Modified Thu Jun 12 12:41:16 2003 UTC (21 years, 8 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OpenSession):
        Display a message box if the gdal library is not available, but
        only if there are any layers that would use it. Addresses RTbug #1877.


Revision 1155 - Directory Listing
Modified Thu Jun 12 12:17:11 2003 UTC (21 years, 8 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
import wxMultipleChoiceDialog from multiplechoicedialog.py rather than
from the wxPython library.


Revision 1154 - Directory Listing
Modified Thu Jun 12 12:14:19 2003 UTC (21 years, 8 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
A multiple choice dialog.


Revision 1150 - Directory Listing
Modified Wed Jun 11 10:45:49 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.read_startup_files): Use get_application_dir.


Revision 1146 - Directory Listing
Modified Tue Jun 10 12:00:16 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LayerTableFrame.__init__): Subscribe to
the messages MAP_LAYERS_REMOVED messages
(LayerTableFrame.OnClose): Unsubscribe from it.
(LayerTableFrame.map_layers_removed): New. Receiver for
MAP_LAYERS_REMOVED. Close the dialog when the layer whose the
dialog is showing is removed.


Revision 1142 - Directory Listing
Modified Tue Jun 10 09:41:57 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/messages.py (LAYER_SHAPESTORE_REPLACED): New
message.

* Thuban/Model/layer.py (Layer.SetShapeStore): Send
LAYER_SHAPESTORE_REPLACED when the shapestore changes. A
LAYER_CHANGED will still be sent if the classification changes.

* Thuban/UI/classifier.py (Classifier.__init__): Add the map as
parameter so we can subscribe to some of its messages
(Classifier.__init__): Subscribe to the map's MAP_LAYERS_REMOVED
and the layer's LAYER_SHAPESTORE_REPLACED
(Classifier.unsubscribe_messages): New. Unsubscribe from message
subscribed to in __init__
(Classifier.map_layers_removed)
(Classifier.layer_shapestore_replaced): receivers for the messages
subscribed to in __init__. Unsubscribe and close the dialog

* Thuban/UI/mainwindow.py (MainWindow.OpenLayerProperties): Pass
the map to the Classifier dialog

* test/test_layer.py (SetShapeStoreTests): Derive from
SubscriberMixin as well so we can test messages
(SetShapeStoreTests.setUp): Subscribe to some of the layer's
messages
(SetShapeStoreTests.tearDown): Clear the messages again
(SetShapeStoreTests.test_sanity): Expand the doc-string and check
for the modified flag too
(SetShapeStoreTests.test_set_shape_store_modified_flag): New test
to check whether SetShapeStore sets the modified flag
(SetShapeStoreTests.test_set_shape_store_different_field_name)
(SetShapeStoreTests.test_set_shape_store_same_field)
(SetShapeStoreTests.test_set_shape_store_same_field_different_type):
Add tests for the messages. This checks both the new
LAYER_SHAPESTORE_REPLACED and the older LAYER_CHANGED


Revision 1140 - Directory Listing
Modified Fri Jun 6 11:18:51 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
Improved and partly added help texts for the menu items.


Revision 1138 - Directory Listing
Modified Thu Jun 5 15:59:57 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(IdentifyView.__init__):
	Layout reimplemented without panel. Make life easier to fit the list
	in the dialog.


Revision 1135 - Directory Listing
Modified Thu Jun 5 15:05:21 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__init__): Fill the projchoice
	once on initialisation (Former implementation resulted in multiple
	entries for each projection).
(ProjFrame.__FillAvailList): selectProj as second optional parameter,
	if set, select the projection found under the specified name. This
	overwrites any other selection estimate.
	Removed projchoice filling from this method.
(ProjFrame._OnSave, ProjFrame._OnAddToList):
	Updated call of ProjFrame.__FillAvailList
(LCCPanel._DoLayout): Moved parameter controls in more common order.


Revision 1133 - Directory Listing
Modified Thu Jun 5 13:27:33 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.read_startup_files):
Guess location of .thuban directory from tempdir parent directory.


Revision 1131 - Directory Listing
Modified Thu Jun 5 13:27:01 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(IdentifyView.__init__): Use ListCtrl instead of GridCtrl


Revision 1129 - Directory Listing
Modified Wed Jun 4 18:36:52 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LegendTree.__init__): Remove instance
variable layer2id
(LegendTree.find_layer): New method to do with brute force what
layer2id tried to accomplish
(LegendTree._OnMsgLayerChanged)
(LegendTree._OnMsgLayerTitleChanged, LegendTree.__ShowHideLayer):
Use find_layer instead of layer2id
(LegendTree.__RemoveLayer, LegendTree.__AddLayer): No need to
update layer2id anymore
(LegendTree._OnMsgMapLayersRemoved)
(LegendTree._OnMsgMapLayersAdded): Get by without layer2id.


Revision 1126 - Directory Listing
Modified Mon Jun 2 14:15:43 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(layer_rename command, table_rename command):
New commands.
(main_menu): Add the new commands.
(MainWindow.TableRename): New. Implementation of the table_rename
command.
(MainWindow.RenameLayer): New. Implementation of the layer_rename
command.


Revision 1122 - Directory Listing
Modified Mon Jun 2 13:47:01 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(GenQuantilesPanel.GetList): Resource
acquisition has to happen before the try in a try-finally.


Revision 1119 - Directory Listing
Modified Mon Jun 2 10:37:59 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LegendTree._OnMsgMapLayersRemoved): It's
possible that a layer is removed that is not currently selected in
the legend so don't check for this.


Revision 1115 - Directory Listing
Modified Fri May 30 16:30:26 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LegendTree.GetRootItem): Reset
availImgListIndices when a new image list is created


Revision 1113 - Directory Listing
Modified Fri May 30 15:59:49 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LegendTree.__init__): New instance variable
changing_selection to indicate whether the LegendTree code itself
is currently changing the selection
(LegendTree.normalize_selection): New method to normalize the
selection by selecting the layer item even if the user clicked on
the classification.
(LegendTree._OnSelChanged): normalize the selection. This works
around a bug in wx which doesn't keep track of the selection
properly when subtrees are deleted.


Revision 1111 - Directory Listing
Modified Fri May 30 09:54:48 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.set_view_transform): Limit the
maximum and minimum scale factors.


Revision 1108 - Directory Listing
Modified Fri May 30 06:31:21 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.ToggleLegend): Apply a full
        extent to the map when the legend is toggled. Fixes RTBug #1881.


Revision 1105 - Directory Listing
Modified Fri May 30 06:30:15 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnPaint): Wrap code
        with try/finally. Fixes RTBug #1904.
(MapCanvas.FitSelectedToWindow): If a single point is selected
        simply center it on the display. Fixes RTBug #1849.


Revision 1104 - Directory Listing
Modified Fri May 30 06:29:54 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(QueryTableFrame.OnQuery): Wrap code with try/finally. Fixes RTBug #1904.


Revision 1103 - Directory Listing
Modified Fri May 30 06:29:25 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_raster_layer): Call
        ProjectRasterFile with tuple arguments instead of strings.


Revision 1102 - Directory Listing
Modified Fri May 30 06:29:05 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
The legend was cleared and repopulated any
        time something changed which caused some state to be lost such
        as which children were expanded or collapsed. Fixes RTBug #1901.
(LegendTree._OnMsgMapLayersAdded): Add only new layers.
(LegendTree.__OnMsgMapLayersRemoved): Remove layers that exist in
        the legend but not in the map.
(LegendTree.__FillTree): Move main functionality out into smaller
        methods that can be used by other methods.
(LegendTree.__FillTreeLayer): Reuse old slots in the image list
        if they are available.
(LegendTree.DeleteAllItems): Renamed from __DeleteAllItems so
        that we override the wxTreeCtrl method. Iterate over children
        and call __RemoveLayer.
(LegendTree.__AddLayer): New. Add a new layer to the legend.
(LegendTree.__RemoveLayer): Remove a layer from the legend.
(LegendTree.DeleteChildren): New, overrides wxTreeCtrl method.
        Should only be called with the id of a layer branch.
(LegendTree.GetRootItem): New, overrides wxTreeCtrl method.
        Returns the root item or creates one if necessary.


Revision 1101 - Directory Listing
Modified Fri May 30 06:28:39 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Remove unused import of ClassGenerator.


Revision 1100 - Directory Listing
Modified Fri May 30 06:28:21 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use classgen functions that were part
        of the ClassGenerator class. Put try/finally blocks around
        code that uses wxBeginBusyCursor()/wxEndBusyCursor(). Fixes
        RTBug #1904.


Revision 1096 - Directory Listing
Modified Thu May 29 10:03:07 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(LayerTableFrame.OnClose): Bug-fix: Now
unsubscribes all that is subcribed in __init__.


Revision 1094 - Directory Listing
Modified Wed May 28 18:59:46 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.DuplicateLayer)
(MainWindow.CanDuplicateLayer): New methods to implement the
Layer/Duplicate command.
(layer_duplicate command): New.
(main_menu): Add layer_duplicate to the Layer menu.


Revision 1092 - Directory Listing
Modified Wed May 28 17:10:04 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(NullRenderer.Draw): New. Our own
renderer so that NULL/None values get displayed differently (by a
gray rectangle).
(TableGrid.__init__): Override the default renderers


Revision 1084 - Directory Listing
Modified Wed May 28 10:25:09 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.TableClose, MainWindow.TableShow): sort the selection list
for the dialog.


Revision 1080 - Directory Listing
Modified Wed May 28 09:12:21 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(_can_unjoin): Add doc-string and cope
with layers that don't have shapestores, i.e. raster layers.


Revision 1076 - Directory Listing
Modified Wed May 28 08:25:12 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MainWindow.TableShow) Added wxDEFAULT_DIALOG_STYLE to show table dialog styles.


Revision 1074 - Directory Listing
Modified Tue May 27 17:39:43 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py (MainWindow.delegated_messages): Also
delegate SelectedLayer.
(MainWindow.LayerUnjoinTable): Implement.
(_can_unjoin): New. Helper function for the sensitivity of the
layer/unjoin command.

* Thuban/Model/data.py (ShapefileStore.OrigShapeStore)
(DerivedShapeStore.OrigShapeStore): New. Return the original
shapestore. Used to figure out how to unjoin.
(DerivedShapeStore.Shapefile): Fix a typo.


Revision 1072 - Directory Listing
Modified Tue May 27 16:47:48 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/join.py (JoinDialog): Extend to handle layer joins as
well
(JoinDialog.__init__): Use the layer parameter and only build the
left choice when a layer is given
(JoinDialog.OnJoin): Handle layer joins as well
(JoinDialog.OnLeftTable, JoinDialog.OnRightTable): Handle the case
that the user selects the "Select..." item. The sensitivitly
updating is now in update_sensitivity
(JoinDialog.y): New method to refactor the sensitivity update of
the join button into its own method.

* Thuban/UI/mainwindow.py (MainWindow.LayerJoinTable): Implement.


Revision 1070 - Directory Listing
Modified Tue May 27 15:09:31 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py (table_close command): Make it sensitive
iff there are unreferenced tables in the session


Revision 1068 - Directory Listing
Modified Tue May 27 15:02:37 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/messages.py (TABLE_REMOVED): New message.

* Thuban/Model/session.py (Session.UnreferencedTables): New method
to return tables that are not referenced by other tables or shape
stores and can be removed.
(Session.RemoveTable): Issue a TABLE_REMOVED message after
removing the table

* Thuban/UI/mainwindow.py: Remove unused imports
(MainWindow.TableClose): Implement.

* Thuban/UI/tableview.py (TableFrame.__init__): Subscribe to some
messages so that the frame will be automatically closed when a new
session is opened or the table is removed.
(TableFrame.OnClose): Unsubscribe the Subscriptions made in
__init__
(TableFrame.close_on_session_replaced)
(TableFrame.close_on_table_removed): New. Subscribers that close
the window

* test/test_session.py (TestSessionMessages.test_remove_table)
(TestSessionSimple.test_remove_table): Move the test to
TestSessionSimple and add test for the TABLE_REMOVED message
(TestSessionBase.setUp): Also subscribe to TABLE_REMOVED
(TestSessionSimple.test_unreferenced_tables) New. Test for the
UnreferencedTables method.
(UnreferencedTablesTests): New. Class with some more sophisticated
tests for UnreferencedTables.


Revision 1066 - Directory Listing
Modified Tue May 27 14:18:05 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(QueryTableFrame.__init__): The "_S_election" display has some unwanted side
effects. Removed again.


Revision 1063 - Directory Listing
Modified Tue May 27 14:08:28 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LegendTree.__FillTree): Use 'legend_icon_layer'


Revision 1061 - Directory Listing
Modified Tue May 27 13:11:18 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(Menu.RemoveItem): New. Remove an item from the menu.


Revision 1058 - Directory Listing
Modified Tue May 27 11:30:29 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Dialog derived from NonModalNonParentDialog


Revision 1057 - Directory Listing
Modified Tue May 27 11:30:02 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(NonModalNonParentDialog): New class, without
	parent, i.e. can fall behind other windows.
(NonModalDialog.OnClose): Check is dialog is in mainwindow.dialog
	dictionary before removing it.


Revision 1056 - Directory Listing
Modified Tue May 27 11:29:46 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MainWindow.OnClose): Explicitly destroy all dialogs in the dialogs
dictionary and the canvas.


Revision 1054 - Directory Listing
Modified Tue May 27 10:38:16 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.ShowTableView): New. Open a
tableview dialog
(MainWindow.TableShow): Use ShowTableView to open the dialogs.
Also, don't use the table's titles as the dialog names. The titles
aren't guaranteed to be unique.
(MainWindow.TableOpen): Open a table view dialog after opening the
table


Revision 1052 - Directory Listing
Modified Tue May 27 09:34:28 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Remove the Table/Hide menu item. Its
effect can be achieved by simply closing the window showing the
table.
(MainWindow.TableHide): Removed.
(main_menu): Removed "table_hide"


Revision 1050 - Directory Listing
Modified Tue May 27 09:31:13 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
BMP_SIZE_W = 15
(LegendTree.__FillTree): Display "legend_icon_map.xpm" with layer title.
(LegendTree.__FillTreeLayer): Explicitely set SelectedImage.


Revision 1047 - Directory Listing
Modified Tue May 27 08:04:44 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(Menu.InsertSeparator): Additional optional parameter
'after' now allows to insert separators almost anywhere in the menu.


Revision 1045 - Directory Listing
Modified Tue May 27 06:54:03 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(QueryTableFrame.__init__): Underline the "S" of selection box label to
	hint on hot key (Alt-S). Works under Win32 but is ignored under GTK.


Revision 1037 - Directory Listing
Modified Mon May 26 17:30:43 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.TableOpen): Real
implementation. Mark parts of the file format strings for
localization.


Revision 1035 - Directory Listing
Modified Mon May 26 17:03:08 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
Replace the true/false of wxWindows by True/False of Python 2.2.1.


Revision 1034 - Directory Listing
Modified Mon May 26 16:28:33 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__do_layout, ProjPanel._DoLayout): Center Choices.


Revision 1032 - Directory Listing
Modified Mon May 26 15:33:20 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(LayerTableFrame.__init__): If there is already a selection present,
update the grid accordingly.


Revision 1031 - Directory Listing
Modified Mon May 26 15:33:02 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.TableShow): Make the dialog resizeable and increase its
initial size.


Revision 1027 - Directory Listing
Modified Mon May 26 11:47:17 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(QueryTableFrame.OnSaveAs): Call table_to_dbf or table_to_csv depending on
	file selection.


Revision 1023 - Directory Listing
Modified Fri May 23 14:20:16 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.LayerShowTable): Prefix the table window with 'Layer Table:'
instead of 'Table:'.


Revision 1022 - Directory Listing
Modified Fri May 23 14:17:50 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.OnJoin): Use _() for strings.  Use QueryTableFrame instead of
TableFrame.


Revision 1014 - Directory Listing
Modified Fri May 23 09:26:23 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.TableShow): A very coarse implementation that still needs work.


Revision 1013 - Directory Listing
Modified Fri May 23 09:18:28 2003 UTC (21 years, 9 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(LayerTableFrame, QueryTableFrame): Split the class LayerTableFrame into
two classes, LayerTableFrame and QueryTableFrame.
The latter implements the selection GUI without dependency on a layer.
LayerTableFrame now is derived from QueryTableFrame and connects
to a layer.


Revision 1010 - Directory Listing
Modified Fri May 23 08:27:20 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.__init__): Checkbox for outer join.
(JoinDialog.OnJoin): Consider outer join check box.


Revision 1007 - Directory Listing
Modified Thu May 22 20:08:02 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.OnJoin): Use exc_info in a
somewhat safer way. Storing the traceback in a local variable can
lead to memory leaks


Revision 1005 - Directory Listing
Modified Thu May 22 20:01:50 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.OnJoin): Make sure to really call
the wxMessageDialog's Destroy() method.


Revision 1003 - Directory Listing
Modified Thu May 22 19:46:34 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(JoinDialog.__init__): Make use of TransientTable.Title()


Revision 1001 - Directory Listing
Modified Thu May 22 19:40:27 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MainWindow.TableJoin): Removed print.


Revision 1000 - Directory Listing
Modified Thu May 22 19:40:06 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(JoinDialog): Functional implementation of
	former framework. Renamed Table1/Table2 to LeftTable/RightTable
	in all occurences.


Revision 990 - Directory Listing
Modified Thu May 22 16:51:24 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LegendPanel._OnMoveTop(), LayerPanel._OnMoveBottom): New, methods
	bound to tool events.
(LegendTree.MoveCurrentItemTop(), LegendTree.MoveCurrentItemBottom):
	New, methods binding the event methods with the map methods.


Revision 980 - Directory Listing
Modified Thu May 22 11:41:14 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LegendTree.__SetVisibilityStyle): Only gray out
	the text if not visible. The italic font sometimes exceeds the
	rendering area.


Revision 979 - Directory Listing
Modified Thu May 22 11:40:59 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LayerTableFrame.__init__): Rename 'Save As'
	Button to 'Export'. Center Buttons in Selection Box, set Focus to
	Grid.
(LayerTableFrame.OnKeyDown()): New, bound to the grid with EVT_KEY_DOWN,
	changes focus to the Selection when pressing "Alt-S".


Revision 978 - Directory Listing
Modified Thu May 22 11:40:32 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
UI polishing updates: Place main buttons (OK, Cancel, etc) in the
lower right corner, center labels for selections, initialize controls
in reasonable order for keyboard navigation.
(ClassGenDialog.__DoOnGenTypeSelect): Moved initialization of the
	different classification types from here to __init__.
(GenUniquePanel.__init__): Set the column width of the first field
	in the Field ListCtrl to the full width.


Revision 977 - Directory Listing
Modified Thu May 22 11:39:51 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__, SelectPropertiesDialog.__init__)
	UI polishing updates: Place main buttons (OK, Cancel, etc) in the
	lower right corner, center labels for selections, initialize controls
	in reasonable order for keyboard navigation.


Revision 976 - Directory Listing
Modified Thu May 22 11:39:31 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__init__, ProjFrame.__doLayout):
	UI polishing updates: Place main buttons (OK, Cancel, etc) in the
	lower right corner, center labels for selections, initialize controls
	in reasonable order for keyboard navigation.
(ProjFrame.__DoOnProjAvail): Determine position of current projection
	using the wxListBox.FindString() method. Still a problem (#1886)


Revision 974 - Directory Listing
Modified Wed May 21 17:39:43 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.OnClose): Call DockFrame.OnClose, not DockFrame._OnClose.


Revision 973 - Directory Listing
Modified Wed May 21 17:39:31 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(DockFrame): Rename references to _OnClose
        to OnClose so that Thuban closes correctly.


Revision 967 - Directory Listing
Modified Wed May 21 17:24:54 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
 Added checks against if scale == 0. This
        is a serious problem that can occur when an image without
        geo data is loading and causes the map projection bounds to
        go to infinity. Right now, the solution is to simply try
        to recover.


Revision 966 - Directory Listing
Modified Wed May 21 17:24:40 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(TableGrid.__init__): Call
        ToggleEventListeners to turn on listening.
(TableGrid.ToggleEventListeners): New. Turns event listening on
        and off so as to prevent excessive messages.
(LayerTableFrame.OnQuery): Use TableGrid.ToggleEventListeners
        to suppress excessive messages when selecting many rows.
        Fixes RTBug #1880.


Revision 965 - Directory Listing
Modified Wed May 21 17:24:22 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.render_map): Check if scale
        has gone to 0 which is a serious problem. abort.
(MapRenderer.draw_raster_layer): Catch IOError seperately and
        print the error from GDAL.


Revision 964 - Directory Listing
Modified Wed May 21 17:24:09 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(GeoPanel.__init__): Put Degrees as
        the first item in choices. Fixes RTBug #1882.


Revision 963 - Directory Listing
Modified Wed May 21 17:23:53 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.AddLayer): Move OpenShapefile
        into try block. AddLayer doesn't throw any exceptions anymore.
(MainWindow.AddRasterLayer): Move constructor of RasterLayer into
        try block.


Revision 951 - Directory Listing
Modified Wed May 21 14:20:32 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MainWindow): Renamed _OnClose() back to OnClose() to keep in sync
with extensions. Internally Thuban still uses "underscored" names.


Revision 940 - Directory Listing
Modified Tue May 20 15:25:33 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.set_view_transform): Try to limit
        how small the scale can get. This still needs more testing.


Revision 939 - Directory Listing
Modified Tue May 20 15:25:22 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(LayerTableFrame.__init__): Change the
        Choices symbols to match those used in the table query method.
        Replace deprecated method calls on table with new method names.


Revision 938 - Directory Listing
Modified Tue May 20 15:25:10 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.render_map): Add support for rendering RasterLayer layers.
(MapRenderer.draw_raster_layer): Actually method that calls
        the GDALWarp python wrapper and constructs an image from the
        data returned.


Revision 937 - Directory Listing
Modified Tue May 20 15:24:51 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.NewSession, MainWindow.OpenSession):
        Don't proceed with an action if the
        user chooses Cancel when they are asked to save changes.
(MainWindow.AddRasterLayer): New. Open a dialog to allow the
        user to select an image file. Create a new RasterLayer and add
        it to the map.


Revision 936 - Directory Listing
Modified Tue May 20 15:24:32 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Change all checks that a layer is an
        instance of Layer into checks against BaseLayer.
(LegendTree.__FillTreeLayer): Only add children to a branch if
        the layer supports classification.


Revision 935 - Directory Listing
Modified Tue May 20 15:24:17 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__): Rearrange how
        the dialog is constructed so that we can support layers that
        do not have classifications.
(Classifier._OnTry): Only build a classification if the layer supports one.


Revision 934 - Directory Listing
Modified Tue May 20 15:24:03 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.CreateMainWindow):
        Make initial window size 600x400. Fixes RTBug #1872.


Revision 926 - Directory Listing
Modified Mon May 19 12:09:01 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Bugfix


Revision 923 - Directory Listing
Modified Mon May 19 09:12:25 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Extended version information: Display Thuban, wxPython and Python version.


Revision 918 - Directory Listing
Modified Fri May 16 17:29:39 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Remove the work-around for the locale bug
in wxPython (at least when usinvg wxGTK) prior to 2.4. The symptom
of the bug was that e.g. float("1.2") would fail. Thuban now
requires 2.4.x.


Revision 914 - Directory Listing
Modified Fri May 16 16:25:41 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ScalebarBitmap.__SetScale): Update to extended scalebar.DrawScalebar header.


Revision 912 - Directory Listing
Modified Fri May 16 16:24:44 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ScaleBar.DrawScaleBar): Position and Size of scalebar drawing area as new
	parameters.


Revision 911 - Directory Listing
Modified Fri May 16 16:24:17 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MainWindow.ExportMap()): New. Added also new method_command to call
	ExportMap, with platform dependency (only __WXMSW__)


Revision 910 - Directory Listing
Modified Fri May 16 16:23:43 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MapPrintout.__init__): Enhanced parameter set to fullfil information
	needed for PrinterRenderer.
(MapCanvas.Export): New. Export Map (currently only to WMF on Win32).
(MapCanvas.Print): Adapted to new MapPrintout.
(OutputTransform): General calculations to transform from canvas
	coordinates to export/printing devices.


Revision 909 - Directory Listing
Modified Fri May 16 16:23:12 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
ExportRenderer): New, derived from ScreenRenderer. Renders
	Map, Legend and Scalebar for export.
(PrinterRenderer): New, derived from ExportRenderer. Replaces the old
	PrintRender.


Revision 907 - Directory Listing
Modified Fri May 16 15:01:04 2003 UTC (21 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/table.py (Table): Remove this compatibility alias
for DBFTable.

* test/test_table.py: Import DBFTable as Table because that alias
doesn't exist anymore.

* Thuban/UI/classgen.py: Remove some unused imports


Revision 903 - Directory Listing
Modified Wed May 14 11:16:28 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__do_layout): Fix Windows layout bug with the 'Projection' label.


Revision 902 - Directory Listing
Modified Wed May 14 11:16:13 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.OnOK): Fix name of method
        call to ClassGenerator.GenUniformDistribution.


Revision 898 - Directory Listing
Modified Mon May 12 12:19:58 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(GenQuantilesPanel.GetList): Replace call
        to table.UniqueValues() with calls that retrieve all the values
        from the table. This will need to be replaced by a method on table
        which can simply return the list (perhaps more efficiently).


Revision 888 - Directory Listing
Modified Fri May 9 16:40:50 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New. Initial Join dialog. No real functionality yet.


Revision 883 - Directory Listing
Modified Fri May 9 16:34:39 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas): Delegate "SelectedShapes" so the table view can call it.


Revision 882 - Directory Listing
Modified Fri May 9 16:34:28 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Explicit imports.


Revision 881 - Directory Listing
Modified Fri May 9 16:34:15 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(TableGrid.OnRangeSelect): Fix some issues
        with correctly selecting the rows and issuing the right events.
        Be sure to call Skip() to allow the grid to do some of its own
        handling which allows the rows to actually be selected.
(LayerTableGrid.select_shapes): Rename from select_shape. Supports
        selecting multiple shapes.
(LayerTableFrame): Support for building Queries.
(LayerTableFrame.select_shapes): Allow multiple shapes to be selected.


Revision 880 - Directory Listing
Modified Fri May 9 16:33:30 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__VerifyButtons): Save button should be disabled if no projection
        is selected in the available list.


Revision 879 - Directory Listing
Modified Fri May 9 16:33:10 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add support for the Join Dialog. Added a Table menu and associated method calls.
(MainWindow.choose_color): Removed. No longer needed.


Revision 878 - Directory Listing
Modified Fri May 9 16:32:31 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Explicit imports.
(ClassTable.GetValueAsCust, ClassTable.__ParseInput,
ClassTable.SetValueAsCustom): Reworked to use new Range class.


Revision 877 - Directory Listing
Modified Fri May 9 16:32:17 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Explicit imports.
(ClassGenDialog.__init__): Clean up the code and add support for Quantiles.
(ClassGenDialog.OnOK): Add support for Quantiles.
(GenQuantilesPanel): New. Input panel for Quantiles.
(ClassGenerator, CustomRamp, MonochromaticRamp, GreyRamp, RedRamp,
        GreenRamp, BlueRamp, HotToColdRamp): Move to Thuban/Model/classgen.py


Revision 871 - Directory Listing
Modified Fri May 9 08:33:29 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(DrawScaleBar): Draw only if interval > 0.0.


Revision 869 - Directory Listing
Modified Thu May 8 14:06:15 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Explicit imports


Revision 866 - Directory Listing
Modified Thu May 8 13:40:32 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Format string bug fixed


Revision 864 - Directory Listing
Modified Thu May 8 12:29:23 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Import Thuban.UI.scalebar


Revision 862 - Directory Listing
Modified Thu May 8 12:27:15 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(ScaleBar): Scalebar rendering


Revision 858 - Directory Listing
Modified Thu May 8 10:30:17 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Initialize ScaleBar with canvas.map


Revision 856 - Directory Listing
Modified Wed May 7 18:24:44 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
SCALE_CHANGED added.


Revision 855 - Directory Listing
Modified Wed May 7 18:24:27 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.set_view_transform): Issue SCALE_CHANGED.


Revision 854 - Directory Listing
Modified Wed May 7 18:24:13 2003 UTC (21 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LegendPanel): Added scalebar bitmap
(ScaleBarBitmap): New, links the scalebar bitmap with view messages
and the renderer.


Revision 838 - Directory Listing
Modified Tue May 6 15:53:32 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(DataTable.SetTable, DataTable.GetValue):
Adapt to new table interface


Revision 837 - Directory Listing
Modified Tue May 6 15:53:20 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Adapt to
new table interface


Revision 836 - Directory Listing
Modified Tue May 6 15:53:13 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(RecordListCtrl.fill_list)
(RecordTable.SetTable): Adapt to new table interface


Revision 835 - Directory Listing
Modified Tue May 6 15:52:41 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__)
(Classifier.__init__): Adapt to new table interface


Revision 834 - Directory Listing
Modified Tue May 6 15:52:36 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.__init__)
(GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve): Adapt
to new table interface


Revision 831 - Directory Listing
Modified Tue May 6 12:07:21 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas): Added delegated method HasSelectedShapes.
(MapCanvas.FitSelectedToWindow): New. Centers and scales any selected
        shapes on the canvas using the map projection (if any).


Revision 830 - Directory Listing
Modified Tue May 6 12:07:03 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Selection.HasSelectedShapes): New. Returns true if there are any
        selected shapes.


Revision 829 - Directory Listing
Modified Tue May 6 12:06:38 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added new "Full selection extent" menu option.
(MainWindow.has_selected_shapes): New. Returns true if there are
        any selected shapes.
(MainWindow.FullSelectionExtent): New. Calls
        MapCanvas.FitSelectedToWindow() when the user selects the menu option.
(_has_selected_shapes): New. Returns true if there are any selected shapes.


Revision 824 - Directory Listing
Modified Tue May 6 08:09:27 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.FitLayerToWindow): The bbox rectangle should be fit into the
        window whether or not the map has a projection.


Revision 822 - Directory Listing
Modified Mon May 5 18:20:28 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.FitLayerToWindow): New. Centers and
        scales the given layer on the canvas using the map projection.


Revision 821 - Directory Listing
Modified Mon May 5 18:20:15 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added new "Full layer extent" menu option.
(MainWindow.FullLayerExtent): New. Calls MapCanvas.FitLayerToWindow()
        when the user selects the menu option.


Revision 816 - Directory Listing
Modified Mon May 5 15:05:16 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__init__): Rearrange the
        order that the controls are created so that tabbing works correctly.
(ProjFrame.OnApply): Renamed from _OnTry() to use wxDialog behaviour.
(ProjFrame.OnOK): Renamed from _OnOK() to use wxDialog behaviour.
(ProjFrame.OnCancel): Renamed from _OnClose() to use wxDialog behaviour.        (ProjPanel.__init__): Add "Airy" to the list of ellipsoids so we
        can provide the "UK National Grid" as a default projection.
(UTMPanel.__init__): Rearrange the order that the controls are
        created so that tabbing works correctly.


Revision 815 - Directory Listing
Modified Mon May 5 15:04:57 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add "..." to menu items that will open new dialogs.


Revision 814 - Directory Listing
Modified Mon May 5 15:04:42 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Copied NonModalDialog box and changed it
        to derive from a wxDialog but behave like the original implementation
        which was derived from a wxFrame. wxDialog provides useful key
        handling functionality like ESC calling OnCancel and ENTER calling
        OnOK which is lost with wxFrame.


Revision 813 - Directory Listing
Modified Mon May 5 15:04:21 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__): Rearrange the
        order that the controls are created so that tabbing works correctly.
(SelectPropertiesDialog.__init__): Rearrange the order that the
        controls are created so that tabbing works correctly.


Revision 812 - Directory Listing
Modified Mon May 5 15:04:06 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.__init__): Rearrange the
        order that the controls are created so that tabbing works correctly.
(ClassGenDialog.OnOK): Renamed from _OnGenerate() so that the
        wxDialog can handle the default button correctly.
(ClassGenDialog.OnCancel): Renamed from _OnCloseBtn() for the
        same reasons as for OnOK.
(GenUniformPanel._OnRetrieve): Call wxBeginBusyCursor/wxEndBusyCursor
        when we ask the table for the maximum/minimum values of a field
        which could take a very long time.


Revision 808 - Directory Listing
Modified Mon May 5 10:33:47 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(TableGrid.disallow_messages)
(TableGrid.allow_messages): New methods to make it possible to
inhibit message sending.
(TableGrid.issue): Only send the message if not inhibited.
(LayerTableGrid.select_shape): Use the new methods to make sure
that no ROW_SELECTED message is sent while we're updating the
selected rows to match the selected shapes.


Revision 799 - Directory Listing
Modified Wed Apr 30 17:02:21 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnPaint): Add a try/except block
        around the redraw routine to try to catch problems that the user
        may create by selecting invalid projections for the data set and
        map. Clears the display if there are any problems and prints the
        error.
(MapCanvas.do_redraw): Use DC.Clear() instead of drawing a filled
        rectangle.


Revision 798 - Directory Listing
Modified Wed Apr 30 17:02:04 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Optimize
        the rendering loop by reducing the number of if's, removing the
        unnecessary try/except block, and checking if the old group
        is the same as the new one (which happens a lot if there is
        no classification, or lots of shapes are in the same group).


Revision 797 - Directory Listing
Modified Wed Apr 30 17:01:48 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame._OnSave): Add missing parameter in call to SetClientData.
(GeoPanel): Add support for selecting the units that the
        source data is in (Radians or Degrees).


Revision 796 - Directory Listing
Modified Wed Apr 30 17:01:18 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Move menu item map_rename up.


Revision 795 - Directory Listing
Modified Wed Apr 30 17:01:06 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(LegendTree.MoveCurrentItemUp,
        LegendTree.MoveCurrentItemDown): If the layer or any of the layer's
        groups are selected, move the layer up/down. Fixes RTbug #1833.


Revision 789 - Directory Listing
Modified Wed Apr 30 11:06:00 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Fix some typos.


Revision 787 - Directory Listing
Modified Wed Apr 30 10:57:24 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.identify_view_on_demand): Do
not pop up the dialog if the selection becomes empty (this could
happen if e.g. a new selection is opened while the identify tool
is active and dialog had been closed)


Revision 783 - Directory Listing
Modified Tue Apr 29 17:29:32 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Remove Thuban.common import.


Revision 782 - Directory Listing
Modified Tue Apr 29 16:53:55 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Remove all uses of Str2Num.
(ClassTable.SetValueAsCustom): Rename keyword argument in
        ClassGroup* constructors to match argument name.


Revision 781 - Directory Listing
Modified Tue Apr 29 16:53:38 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Remove all uses of Str2Num.


Revision 768 - Directory Listing
Modified Tue Apr 29 13:03:59 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.SetMap): Look up the
        legend dialog box and tell it to change its map to the one
        supplied to SetMap(). Fixes RTbug #1770.


Revision 765 - Directory Listing
Modified Tue Apr 29 12:42:14 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Next step of table implementation. Introduce a transient database
using SQLite that some of the data is copied to on demand. This
allows us to do joins and other operations that require an index
for good performance with reasonable efficiency. Thuban now needs
SQLite 2.8.0 and pysqlite 0.4.1. Older versions may work but I
haven't tested that.

* Thuban/Model/transientdb.py: New. Transient database
implementation.

* test/test_transientdb.py: New. Tests for the transient DB
classes.

* Thuban/Model/session.py (AutoRemoveFile, AutoRemoveDir): New
classes to help automatically remove temporary files and
directories.
(Session.__init__): New instance variables temp_dir for the
temporary directory and transient_db for the SQLite database
(Session.temp_directory): New. Create a temporary directory if not
yet done and return its name. Use AutoRemoveDir to have it
automatically deleted
(Session.TransientDB): Instantiate the transient database if not
done yet and return it.

* Thuban/Model/data.py (ShapefileStore.__init__): Use an
AutoTransientTable so that data is copied to the transient DB on
demand.
(SimpleStore): New class that simply combines a table and a
shapefile

* Thuban/Model/table.py (Table, DBFTable): Rename Table into
DBFTable and update its doc-string to reflect the fact that this
is only the table interface to a DBF file. Table is now an alias
for DBFTable for temporary backwards compatibility.

* Thuban/UI/application.py (ThubanApplication.OnExit): Make sure
the last reference to the session goes away so that the temporary
files are removed properly.

* test/test_load.py (LoadSessionTest.tearDown): Remove the
reference to the session to make sure the temporary files are
removed.


Revision 760 - Directory Listing
Modified Tue Apr 29 09:01:52 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame._OnSave): Use the new
        ProjFile.Replace() method instead of the mutator
        Projection.SetProjection(). Also requires that we reassign the
        client data to the new projection.


Revision 759 - Directory Listing
Modified Tue Apr 29 09:01:35 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.SaveSessionAs): Dialog should be of type wxSAVE and
        should verify overwriting a file.


Revision 757 - Directory Listing
Modified Fri Apr 25 17:37:44 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
quick fix for a windows bug. wxWindows under MSW complains if you set a
selection to an invalid index.


Revision 751 - Directory Listing
Modified Fri Apr 25 14:23:19 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__ShowError): Consolidate error dialogs into a single method call.
(ProjFrame.__VerifyButtons): Add more states to check.
(ProjFrame.__GetProjection): Return the current state of an
        edited projection or None.
(ProjFrame.__FillAvailList): Remove checks for states that shouldn't exist.
(ProjFrame._OnNew): Clear all selected items and supply
        a projection panel if necessary.


Revision 750 - Directory Listing
Modified Fri Apr 25 14:22:52 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.MapProjection): Set the dialog title to include the map's title.
(MainWindow.LayerProjection): Set the dialog title to include the layer's title.


Revision 747 - Directory Listing
Modified Fri Apr 25 11:02:08 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame.__FillAvailList): Now
        takes an optional argument to select the current projection.
        This does not guarantee that the item is visible due to
        limited wxWindows functionality. Fixes RTBug #1821.


Revision 741 - Directory Listing
Modified Fri Apr 25 09:14:27 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ProjFrame._OnAddToList): Renamed from
        ProjFrame._OnSaveAs. Removed old dead code from previous
        implementation.
(ProjFrame._OnExport): Add support for exporting more than one
        projection to a single file.
(ProjFrame.__FillAvailList): use string formatting (% operator)
        to build strings that are (partly) translated. Fixes RTbug #1818.


Revision 734 - Directory Listing
Modified Thu Apr 24 19:14:16 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ProjFrame._OnSaveAs): Don't translate
empty strings.


Revision 730 - Directory Listing
Modified Thu Apr 24 16:07:41 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Large changes to how the dialog is laid out. Use three panels instead of one.
        One for the list of projections, one for the edit controls, and one for
        the buttons.  Fixed resizing problems so that the dialog resizes
        correctly when the projection panel changes. Added import/export,
        save, and new buttons/functionality.


Revision 729 - Directory Listing
Modified Thu Apr 24 16:06:51 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add a Projection option under the layer menu.
(MainWindow.LayerProjection): New. Open up a projection window for a layer.


Revision 728 - Directory Listing
Modified Thu Apr 24 16:06:28 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Change all references to genCombo to genChoice.


Revision 723 - Directory Listing
Modified Thu Apr 24 15:31:53 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
First step towards table management. Introduce a simple data
abstraction so that we replace the data a layer uses more easily
in the next step.

* Thuban/Model/data.py: New file with a simple data abstraction
that bundles shapefile and dbffile into one object.

* Thuban/Model/session.py (Session.OpenShapefile): New method to
open shapefiles and return a shape store object

* Thuban/Model/layer.py (Layer.__init__): Pass the data as a store
object instead of a shapefile filename. This introduces a new
instance variable store holding the datastore. For intermediate
backwards compatibility keep the old instance variables.
(open_shapefile): Removed. No longer needed with the shape store.
(Layer.SetShapeStore, Layer.ShapeStore): New methods to set and
get the shape store used by a layer.
(Layer.Destroy): No need to explicitly destroy the shapefile or
table anymore.

* Thuban/UI/mainwindow.py (MainWindow.AddLayer)
(MainWindow.AddLayer): Use the session's OpenShapefile method to
open shapefiles

* Thuban/Model/load.py (ProcessSession.start_layer): Use the
session's OpenShapefile method to open shapefiles

* test/test_classification.py
(TestClassification.test_classification): Use the session's
OpenShapefile method to open shapefiles and build the filename in
a more platform independed way

* test/test_layer.py (TestLayer.setUp, TestLayer.tearDown):
Implement to have a session to use in the tests
(TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
(TestLayer.test_point_layer, TestLayer.test_empty_layer): Use the
session's OpenShapefile method to open shapefiles
(TestLayerLegend.setUp): Instantiate a session so that we can use
it to open shapefiles.
(TestLayerLegend.tearDown): Make sure that all references to
layers and session are removed otherwise we may get a resource
leak

* test/test_map.py (TestMapAddLayer.test_add_layer)
(TestMapWithContents.setUp): Instantiate a session so that we can
use it to open shapefiles.
(TestMapWithContents.tearDown): Make sure that all references to
layers, maps and sessions are removed otherwise we may get a
resource leak
("__main__"): use support.run_tests() so that more info about
uncollected garbage is printed

* test/test_save.py (SaveSessionTest.testSingleLayer): Use the
session's OpenShapefile method to open shapefiles
("__main__"): use support.run_tests() so that more info about
uncollected garbage is printed

* test/test_selection.py (TestSelection.tearDown): Make sure that
all references to the session and the selection are removed
otherwise we may get a resource leak
(TestSelection.get_layer): Instantiate a session so that we can
use it to open shapefiles.
("__main__"): use support.run_tests() so that more info about
uncollected garbage is printed

* test/test_session.py (TestSessionBase.tearDown)
(TestSessionWithContent.tearDown): Make sure that all references
to the session and layers are removed otherwise we may get a
resource leak
(TestSessionWithContent.setUp): Use the session's OpenShapefile
method to open shapefiles


Revision 717 - Directory Listing
Modified Wed Apr 23 08:59:57 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Projection dialog. Allows the user to select from a list
of projection templates and optionally edit them and save new ones.

(ProjFrame): New. Main dialog.
(ProjPanel): Base class for projection specific panels.
(TMPanel): Projection panel for Transverse Mercartor.
(UTMPanel): Projection panel for Universal Transverse Mercartor.
(LCCPanel): Projection panel for Lambert Conic Conformal.
(GeoPanel): Projetion panel for Geographic Projection.


Revision 713 - Directory Listing
Modified Wed Apr 23 08:46:54 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.Projection): Use new projection dialog.


Revision 712 - Directory Listing
Modified Wed Apr 23 08:46:40 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__): Use a wxChoice control instead of a wxComboBox.


Revision 711 - Directory Listing
Modified Wed Apr 23 08:46:23 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.__init__): Use a wxChoice control instead of a wxComboBox.
        wxChoice controls do not generate events as the uses highlights
        possible choices which fixes problems with resizing the dialog when
        the use selects an option.


Revision 704 - Directory Listing
Modified Tue Apr 22 16:55:50 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Remove some unused imports and global
constants


Revision 702 - Directory Listing
Modified Tue Apr 22 16:43:30 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(IdentifyListCtrl.selected_shape)
(IdentifyGridCtrl.selected_shape): Use table, not shapetable.


Revision 699 - Directory Listing
Modified Thu Apr 17 15:20:14 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.MainLoop): Removed.
In wxPython 2.4 there's no need to extend MainLoop anymore since
wxPython itself makes sure OnExit is called.


Revision 686 - Directory Listing
Modified Wed Apr 16 13:22:25 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Safer implementation of the performance enhancements of the
low-level renderer:

* extensions/thuban/wxproj.cpp (extract_projection)
(extract_pointer): Rename extract_projection to extract_pointer
and redefine its purpose to return the pointer stored in a CObject
returned by the object's cobject method. Update all callers.
(s_draw_info, free_draw_info, draw_polygon_init): Implement the
handling of these low-level parameters so that each s_draw_info
instance is handled as a CObject at python level that also
contains real references to the actual python objects which
contain the values in the struct. Add free_draw_info as the
destructor.
(draw_polygon_shape): Add the py_draw_info parameter which must a
cobject containing an s_draw_info pointer.

* Thuban/UI/renderer.py (MapRenderer.polygon_render_param): New
method to instantiat the low-level render parameter
(MapRenderer.draw_shape_layer): Use the new method. Remove some
commented out code.
(MapRenderer.draw_polygon_shape): Make the first parameter not the
layer but the low-level render parameter
(ScreenRenderer.draw_shape_layer): Use the low-level render
parameter.


Revision 677 - Directory Listing
Modified Tue Apr 15 19:21:01 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(GenUniformPanel): Fix spin control weirdness by setting the range to
        (1, maxint).


Revision 676 - Directory Listing
Modified Tue Apr 15 19:20:40 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Make drawing initialization call to
        draw_polygon_init()
(MapRenderer.draw_polygon_shape): Use new signature of draw_polygon_shape.


Revision 671 - Directory Listing
Modified Tue Apr 15 18:09:47 2003 UTC (21 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/__init__.py (_): Implement the translation function for
real using the python gettext module.

* Thuban/UI/classifier.py (ClassTable.GetRowLabelValue): Don't
translate empty strings.

* Thuban/UI/application.py (ThubanApplication.read_startup_files):
Add a missing space to a warning message

* po/README: New. Notes about the management of the translation
files.

* po/Makefile: New. Makefile to help manage the translation files.

* po/es.po: New. Spanish translation by Daniel Calvelo Aros

* MANIFEST.in: Include the *.mo files in Resources/Locale and the
translations and support files in po/

* setup.py (data_files): Add the *.mo files to the data_files too

* README: Add note about the translations when building from CVS


Revision 668 - Directory Listing
Modified Mon Apr 14 17:12:57 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(LegendPanel.__init__): The toolbar should be allowed to grow within the sizer.
        Fixes a bug under Windows where the toolbar wasn't being drawn.


Revision 667 - Directory Listing
Modified Mon Apr 14 17:12:38 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixes some window resizing problems most noticable under windows. Always
assume the button bitmaps will be there. Code clean up.
(DockabelWindow.Dock, DockableWindow.UnDock): Force all the images for the
        dock/undock button to the same images.  Work around for RTbug #1801.


Revision 666 - Directory Listing
Modified Mon Apr 14 16:36:33 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Always assume the button bitmaps will be there. Code clean up.


Revision 665 - Directory Listing
Modified Mon Apr 14 16:35:19 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
remove print statement


Revision 661 - Directory Listing
Modified Mon Apr 14 14:16:00 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__): Add a top level panel to the dialog so that the
background colors are consistent under Windows.


Revision 660 - Directory Listing
Modified Mon Apr 14 14:15:44 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog.__init__): Actively set the current selections in the combo
boxes. This is needed under Windows.


Revision 659 - Directory Listing
Modified Mon Apr 14 14:07:05 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixes some window resizing problems most noticable under windows.


Revision 658 - Directory Listing
Modified Mon Apr 14 14:06:30 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Call Create() at the end of __init__.


Revision 657 - Directory Listing
Modified Fri Apr 11 18:29:57 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
check in to test dock changes under windows.


Revision 655 - Directory Listing
Modified Fri Apr 11 15:50:13 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Enable/disable the legend buttons when the legend changes. Fixes RTbug #1793.


Revision 654 - Directory Listing
Modified Fri Apr 11 15:49:58 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Change color ramps to start at white not black.


Revision 653 - Directory Listing
Modified Fri Apr 11 14:28:29 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added new menu item and associated code to open a dialog to rename the map.
(MainWindow): Use new resource class to import bitmaps.


Revision 652 - Directory Listing
Modified Fri Apr 11 14:28:08 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use new bitmaps for the control buttons.
(LegendTree._OnMsgLayerTitleChanged): Change the displayed title
        if the layer's title changes.


Revision 651 - Directory Listing
Modified Fri Apr 11 14:27:53 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use new bitmaps for the control buttons.


Revision 650 - Directory Listing
Modified Fri Apr 11 14:27:41 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Refactored ID's from ID_CLASSIFY_* to ID_PROPERTY_*.
(Classifier.__init__): Minor changes to the layout.
(Classifier._OnTitleChanged): Listen for when the user edits the
        title and update the dialog's title and the layer's title.


Revision 649 - Directory Listing
Modified Fri Apr 11 14:27:12 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(GenUniquePanel.__init__): Reordered buttons,
        added images to the move buttons, added 'reverse' button.
(CustomRampPanel.__init__): Added images to the move buttons.
(GreyRamp): New. Generates a ramp from white to black.
(HotToColdRamp): New. Generates a ramp from cold to hot colors.


Revision 648 - Directory Listing
Modified Fri Apr 11 14:26:54 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New. Centralize the loading of resources such as bitmaps.


Revision 642 - Directory Listing
Modified Thu Apr 10 14:41:50 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
fixed bug where if there was no classification and the default was hidden,
the default was still being drawn.


Revision 641 - Directory Listing
Modified Thu Apr 10 14:36:19 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Only draw visible groups.


Revision 640 - Directory Listing
Modified Thu Apr 10 14:36:08 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
MainWindow.OpenClassifier renamed to
MainWindow.OpenLayerProperties. MainWindow.LayerEditProperties
renamed to MainWindow.LayerEditProperties.
(MainWindow.ToggleLegend): Don't include map name in legend title.
(MainWindow.SetMap): Added the map name to the window title.
(MainWindow.LayerFillColor, MainWindow.LayerTransparentFill,
        MainWindow.LayerOutlineColor, MainWindow.LayerNoOutline): Removed.
        Functionality is found in the layer properties dialog.


Revision 639 - Directory Listing
Modified Thu Apr 10 14:35:39 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Classify button is now called "Properties".
Refactored the code to change variable names.
(LegendTree.__FillTreeLayer): Only list a group if it is visible.


Revision 638 - Directory Listing
Modified Thu Apr 10 14:35:20 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassTable): Add a new column for the "Visible" check boxes.
(Classifier): Rename the buttons and refactor the code to match the new labels.


Revision 635 - Directory Listing
Modified Wed Apr 9 15:42:25 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Modifications to allow simple addition and selection of new color schemes.
(MonochromaticRamp): New. Generates a ramp between two colors.
(RedRamp): New. Generates a ramp of all red.
(GreenRamp): New. Generates a ramp of all green.
(BlueRamp): New. Generates a ramp of all blue.


Revision 633 - Directory Listing
Modified Wed Apr 9 10:11:07 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Import just the Classifier class.


Revision 632 - Directory Listing
Modified Wed Apr 9 10:10:53 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(LegendTree): Use a private method to
        consistently set the font and style of the text. Fixes RTbug #1786.


Revision 631 - Directory Listing
Modified Wed Apr 9 10:10:38 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
It was decided that if the user closes
a dockable window the window should simply hide itself. That
way if the user wants to show the dock again it appears in the
same place as it was when it was closed.
(DockableWindow.Destroy): Call renamed method OnDockDestroy().
(DockableWindow._OnButtonClose): Hide the window instead of
        destroying it.
(DockableWindow._OnClose): Hide the window instead of destroying it.


Revision 630 - Directory Listing
Modified Wed Apr 9 10:10:06 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Removed a lot of debugging code.
(Classifier._SetClassification): Callback method so that the
        class generator can set the classification in the grid.
(ClassGroupPropertiesCtrl): New. Encapsulates the drawing and
        editing of a group properties class into a wxWindows control.


Revision 629 - Directory Listing
Modified Wed Apr 9 10:09:44 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Renamed GenRangePanel to GenUniformPanel.
(GenUniquePanel): New. Controls to allow the user to select
        which unique field values they would like in the classification.
(CustomRampPanel): Code that was in ClassGenDialog that allows
        the user to select the properties for a custom ramp.
(ClassGenerator.GenUniformDistribution): Was called GenerateRanges.


Revision 624 - Directory Listing
Modified Mon Apr 7 13:34:54 2003 UTC (21 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(main_menu): Move the toggle_legend item
to the map module


Revision 622 - Directory Listing
Modified Mon Apr 7 10:54:32 2003 UTC (21 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.ShowSessionTree): Removed in
favor of ToggleSessionTree
(MainWindow.ToggleSessionTree): New method to toggle visibility of
the session tree.
(MainWindow.SessionTreeShown): New method to return whether the
session tree is currently shown.
(MainWindow.ToggleLegend): New method to toggle visibility of the
legend
(MainWindow.ShowLegend): Implement in terms of ToggleLegend and
LegendShown
(MainWindow.LegendShown): New method to return whether the legend
is currently shown.
(_method_command): Add checked parameter so we can define check
menu items
(_has_tree_window_shown, _has_legend_shown): Use the appropriate
mainwindow methods.
(show_session_tree, show_legend commands): Removed.
(toggle_session_tree, toggle_legend commands): New commands to
toggle the visibility of the dialogs


Revision 621 - Directory Listing
Modified Mon Apr 7 10:14:50 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use False instead of false.
(MainWindow.ShowLegend): Remove unnecessary switch parameter.


Revision 620 - Directory Listing
Modified Mon Apr 7 10:14:25 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fix Windows problem.


Revision 616 - Directory Listing
Modified Mon Apr 7 08:57:38 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Put "Show Legend" and "Show Session Tree" into the same group.


Revision 615 - Directory Listing
Modified Mon Apr 7 08:57:20 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Now that we can depend on the order in
        a Classification and have methods to manipulate that order we don't
        need to use our own data structures in the grid. We can simply make
        the grid/table access the information they need from a copy of
        the classification object.
(Classifier._OnCloseBtn): Event handler for when the user clicks
        'Close'. This is needed so if the user applies changes and then
        continues to change the table the user has the option of discarding
        the most recent changes and keeping what they applied.


Revision 614 - Directory Listing
Modified Mon Apr 7 08:56:38 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use Classification.AppendGroup(), not AddGroup()


Revision 611 - Directory Listing
Modified Fri Apr 4 16:34:46 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__SelectField): Move the
    call to SetSelection out of the method and before the call
    to __SelectField in __init__. This prevents a recursion of events
    when _OnFieldSelect is triggered by the user.


Revision 610 - Directory Listing
Modified Fri Apr 4 13:56:59 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Rename Color.None to Color.Transparent.


Revision 607 - Directory Listing
Modified Fri Apr 4 12:16:57 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGenDialog): Dialog for generating
        classifications.
(GenRangePanel): Panel specific to range generation.
(GenSingletonPanel): Panel specific to singleton generation.
(ClassGenerator): Class responsible for actually generating
        the classification from the data gathered in the dialog box.
(PropertyRamp): Generates properties whose values range from
        a starting property to an ending property.


Revision 606 - Directory Listing
Modified Fri Apr 4 12:16:39 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fix assert calls.
(ClassGrid._OnCellDClick): Call up to the classifier to open the
        dialog to edit the groups properties.
(ClassGrid._OnCellResize): Make sure that the scollbars are drawn
        correctly if a cell is resized.
(ClassTable.SetClassification): New. Changes the classification
        that is in the table.
(ClassTable.__SetRow): Allow groups to be prepended.
(Classifier): New code for opening the EditProperties and
        GenerateRanges dialogs.
(SelectPropertiesDialog.__GetColor): Only set the color in the
        color dialog if the current color is not None.


Revision 605 - Directory Listing
Modified Fri Apr 4 12:16:13 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fix assert calls.


Revision 592 - Directory Listing
Modified Wed Apr 2 18:26:12 2003 UTC (21 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OpenSession): Make
sure the filename is absolute to avoid problems when saving the
session again


Revision 588 - Directory Listing
Modified Tue Apr 1 15:58:02 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_point_shape): Check
        that there actually are points in the returned list of points
        before trying to index into the list. The list may be empty if
        the shape is a Null Shape.


Revision 583 - Directory Listing
Modified Tue Apr 1 10:22:16 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(DockableWindow._OnButtonClose): Call
        self.Destroy() to close the window after yesterday's changes.


Revision 580 - Directory Listing
Modified Mon Mar 31 18:32:22 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Renamed OnClose to _OnClose for
        symmetry with other such methods.
(MainWindow.ShowLegend): Show the legend docked by default.


Revision 579 - Directory Listing
Modified Mon Mar 31 18:32:07 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Show the legend by default when Thuban starts.


Revision 578 - Directory Listing
Modified Mon Mar 31 18:31:46 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(LegendPanel.Destroy): New. Cleans up
        when then window is told to close.
(LegendTree._OnMsgLayerChanged): Fixes a seg fault bug. See
        comment in source for more info.


Revision 577 - Directory Listing
Modified Mon Mar 31 18:31:33 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(DockableWindow.UnDock): Restore size and
        position (although position doesn't work yet under GTK).
(DockableWindow.Destroy): New. Called when the window must be
        closed. Namely needed when the DockFrame closes and must close
        its children.
(DockFrame): Listen for EVT_CLOSE and destroy all children.


Revision 576 - Directory Listing
Modified Mon Mar 31 18:31:17 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Commented out some debugging statements.
(ClassDataPreviewer.Draw): Draw rectangles for polygon layers per
        RTbug #1769.


Revision 574 - Directory Listing
Modified Fri Mar 28 17:07:26 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.__init__): Added assert
        to check if scale > 0. Trying to track down a divide by zero.


Revision 573 - Directory Listing
Modified Fri Mar 28 17:07:06 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Removed legend specific code and replaced it with calls to the new dock code.


Revision 572 - Directory Listing
Modified Fri Mar 28 17:06:50 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Modifications to support selecting a
        specific group in the classification dialog. Changed how layers
        are drawn when the layer is visible/invisible.


Revision 571 - Directory Listing
Modified Fri Mar 28 17:06:38 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Complete rework on the dock code so that
        that it is fairly removed from the rest of the Thuban application.
        It is easy to add new docks which the rest of the program having
        to be aware of them.


Revision 570 - Directory Listing
Modified Fri Mar 28 17:06:26 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Support for highlighting a specific
        group within the grid when the classification dialog is opened.
        Also contains a lot of debugging printouts which will later
        be removed.


Revision 568 - Directory Listing
Modified Wed Mar 26 11:51:28 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Removed unnecessary LegendDialog class.
(LegendPanel): Removed _OnDock()/_OnUnDock() methods which are
        now part of DockableWindow.
(LegendPanel.DoOnSelChanged): Select the current layer in the map.
(LegendTree._OnSelChanged): Call LegendPanel.DoOnSelChanged()
        with the selected layer and/or group.


Revision 566 - Directory Listing
Modified Wed Mar 26 11:10:41 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added missing import line.


Revision 565 - Directory Listing
Modified Wed Mar 26 11:07:40 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanves.SetMap): Listen for LAYER_CHANGED, not LAYER_LEGEND_CHANGED,messages.


Revision 564 - Directory Listing
Modified Wed Mar 26 11:07:19 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added DOCKABLE_* messages.


Revision 563 - Directory Listing
Modified Wed Mar 26 11:07:02 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added sash windows to the main window and supporting functions for
manipulating the sashes.
(MainWindow.ShowLegend): Create a DockableWindow with the LegendPanel as the
contents.


Revision 562 - Directory Listing
Modified Wed Mar 26 11:06:22 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added some more buttons and made the LegendPanel a DockPanel.


Revision 561 - Directory Listing
Modified Wed Mar 26 11:06:01 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New. Classes for the DockPanel and DockableWindow.


Revision 560 - Directory Listing
Modified Wed Mar 26 11:05:47 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__): Use wxADJUST_MINSIZE
        as one of the style properties for the fieldTypeText item to
        be sure that its size is correct when the text changes.


Revision 551 - Directory Listing
Modified Thu Mar 20 09:45:33 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use new message names.


Revision 550 - Directory Listing
Modified Thu Mar 20 09:45:19 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New code to open the legend.


Revision 549 - Directory Listing
Modified Thu Mar 20 09:45:07 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
 Remember if any changes have actually
        been applied so that if the dialog is cancelled without an application
        of changes we don't have to set a new classification.
(ClassDataPreviewer): Pulled out the window specific code and put it
        ClassDataPreviewWindow. ClassDataPreviewer can then be used to draw
        symbols on any DC.


Revision 542 - Directory Listing
Modified Thu Mar 20 09:43:16 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
New. Creates a window that shows the map's
        Legend information and allows the user to add/modify classifications
        and how the layers are drawn on the map.


Revision 540 - Directory Listing
Modified Wed Mar 19 15:37:24 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(verify_versions): New. Checks the versions of Python, wxPython,
and some other libraries.


Revision 535 - Directory Listing
Modified Fri Mar 14 20:42:18 2003 UTC (21 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Implement multiple selected shapes

* Thuban/UI/selection.py: New module with a class to represent the
selection.

* Thuban/UI/messages.py (SELECTED_TABLE, SELECTED_MAP): Remove
these unused messages

* Thuban/UI/application.py (ThubanApplication.OnInit)
(ThubanApplication.OnExit, ThubanApplication.SetSession): The
interactor is gone now.
(ThubanApplication.CreateMainWindow): There is no interactor
anymore so we pass None as the interactor argument for now for
compatibility.

* Thuban/UI/view.py (MapCanvas.delegated_messages)
(MapCanvas.Subscribe, MapCanvas.Unsubscribe): In Subscribe and
Unsubscribe, delegate messages according to the delegated_messages
class variable.
(MapCanvas.__getattr__, MapCanvas.delegated_methods): Get some
attributes from instance variables as described with the
delegated_methods class variable.
(MapCanvas.__init__): New instance variable selection holding the
current selection
(MapCanvas.do_redraw): Deal with multiple selected shapes. Simply
pass them on to the renderer
(MapCanvas.SetMap): Clear the selection when a different map is
selected.
(MapCanvas.shape_selected): Simple force a complete redraw. The
selection class now takes care of only issueing SHAPES_SELECTED
messages when the set of selected shapes actually does change.
(MapCanvas.SelectShapeAt): The selection is now managed in
self.selection

* Thuban/UI/mainwindow.py (MainWindow.delegated_messages)
(MainWindow.Subscribe, MainWindow.Unsubscribe): In Subscribe and
Unsubscribe, delegate messages according to the delegated_messages
class variable.
(MainWindow.delegated_methods, MainWindow.__getattr__): Get some
attributes from instance variables as described with the
delegated_methods class variable.
(MainWindow.__init__): The interactor as ivar is gone. The
parameter is still there for compatibility. The selection messages
now come from the canvas.
(MainWindow.current_layer, MainWindow.has_selected_layer):
Delegate to the the canvas.
(MainWindow.LayerShowTable, MainWindow.Classify)
(MainWindow.identify_view_on_demand): The dialogs don't need the
interactor parameter anymore.

* Thuban/UI/tableview.py (TableFrame.__init__)
(LayerTableFrame.__init__, LayerTableFrame.OnClose)
(LayerTableFrame.row_selected): The interactor is gone. It's job
from the dialog's point of view is now done by the mainwindow,
i.e. the parent. Subscribe to SHAPES_SELECTED instead
of SELECTED_SHAPE

* Thuban/UI/dialogs.py (NonModalDialog.__init__): The interactor
is gone. It's job from the dialog's point of view is now done by
the mainwindow, i.e. the parent.

* Thuban/UI/classifier.py (Classifier.__init__): The interactor is
gone. It's job from the dialog's point of view is now done by the
mainwindow, i.e. the parent.

* Thuban/UI/tree.py (SessionTreeView.__init__): The interactor is
gone. It's job from the dialog's point of view is now done by the
mainwindow, i.e. the parent.
(SessionTreeCtrl.__init__): New parameter mainwindow which is
stored as self.mainwindow. The mainwindow is need so that the tree
can still subscribe to the selection messages.
(SessionTreeCtrl.__init__, SessionTreeCtrl.unsubscribe_all)
(SessionTreeCtrl.update_tree, SessionTreeCtrl.OnSelChanged): The
selection is now accessible through the mainwindow. Subscribe to
SHAPES_SELECTED instead of SELECTED_SHAPE

* Thuban/UI/identifyview.py (IdentifyView.__init__): Use the
SHAPES_SELECTED message now.
(IdentifyView.selected_shape): Now subscribed to SHAPES_SELECTED,
so deal with multiple shapes
(IdentifyView.__init__, IdentifyView.OnClose): The interactor is
gone. It's job from the dialog's point of view is now done by the
mainwindow, i.e. the parent.

* Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Rename the
selected_shape parameter and ivar to selected_shapes. It's now a
list of shape ids.
(MapRenderer.draw_label_layer): Deal with multiple selected
shapes. Rearrange the code a bit so that the setup and shape type
distinctions are only executed once.


Revision 521 - Directory Listing
Modified Wed Mar 12 13:18:50 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Create an empty image to use when there is no special image for an item.


Revision 520 - Directory Listing
Modified Wed Mar 12 10:35:49 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Try using a 0x0 image for items that don't need an image so that the
tree looks OK under Windows.


Revision 519 - Directory Listing
Modified Tue Mar 11 22:27:35 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Undo last changes so that we now need wxWindows2.4


Revision 518 - Directory Listing
Modified Tue Mar 11 17:34:21 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use True instead of true.


Revision 517 - Directory Listing
Modified Tue Mar 11 17:28:39 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
About window shows version number.


Revision 513 - Directory Listing
Modified Tue Mar 11 16:42:38 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Quick fix so that the ClassGrid works on wxWindows 2.3.


Revision 512 - Directory Listing
Modified Tue Mar 11 16:32:39 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use True instead of true.


Revision 511 - Directory Listing
Modified Tue Mar 11 16:27:52 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
More work with the classifier panel.


Revision 510 - Directory Listing
Modified Tue Mar 11 16:05:18 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fixed problem with unwanted tree item images under Windows.


Revision 509 - Directory Listing
Modified Tue Mar 11 09:45:59 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Working to get wxPanel to behave correctly.


Revision 508 - Directory Listing
Modified Tue Mar 11 09:45:31 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
 Add normal border.


Revision 507 - Directory Listing
Modified Mon Mar 10 17:36:42 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Add normal border to SelectPropertiesDialog.


Revision 506 - Directory Listing
Modified Mon Mar 10 15:49:22 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier.__init__): Make the
        field type label grow so that when the text changes the
        size is updated correctly. This may be a wxWindows bug.


Revision 504 - Directory Listing
Modified Mon Mar 10 15:12:24 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Changed SESSION_CHANGED to SESSION_REPLACED.  Go back to using OnClose()
instead of Shutdown().


Revision 503 - Directory Listing
Modified Mon Mar 10 15:12:09 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Changed SESSION_CHANGED to SESSION_REPLACED.


Revision 502 - Directory Listing
Modified Mon Mar 10 15:11:53 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.prepare_new_session): Call Close() instead of Shutdown().


Revision 501 - Directory Listing
Modified Mon Mar 10 15:11:39 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Don't need Shutdown(); just use Close()!


Revision 500 - Directory Listing
Modified Mon Mar 10 15:11:24 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Wrap text with _().
(ClassGrid.CreateTable): Set dimensions and size hints here,
        instead of in Reset, so we only set the size once.


Revision 498 - Directory Listing
Modified Mon Mar 10 11:03:22 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier): SelectField() needed
        to know the old field index as well as the new one.


Revision 496 - Directory Listing
Modified Mon Mar 10 10:54:50 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(Classifier): Use __SelectField()
        to correctly set the table information and call this from
        __init__ and from _OnFieldSelect so that all the information
        is up to date when the dialog opens and when a field is changed.


Revision 489 - Directory Listing
Modified Fri Mar 7 18:22:47 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
removed print statement


Revision 488 - Directory Listing
Modified Fri Mar 7 18:21:25 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(SessionTreeView): Remove OnClose and let
        the parent class handle it. Add Shutdown() to unsubscibe from
        event notification and call the parent Shutdown(). This was
        necessary so the application can close the tree window.


Revision 487 - Directory Listing
Modified Fri Mar 7 18:21:03 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.prepare_new_session):
        Shuts down open dialogs. Used when a new session is created
        or a session is opened.
(MainWindow.SaveSession): Should only call application.SaveSession()
        if we don't call SaveSessionAs first.
(MainWindow.Classify): Allow different classifier dialogs for
        different layers.


Revision 486 - Directory Listing
Modified Fri Mar 7 18:20:46 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(NonModalDialog.Shutdown): New method which
        does what OnClose did, but can be called by the application to
        close a window. Needed when a session changes, and we have to
        close the classifier windows.


Revision 485 - Directory Listing
Modified Fri Mar 7 18:20:31 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Setting and Getting table values now
        uses a consistent set of functions.
(Classifier): Now non-modal. Has field type label which changes
        as the field changes. Keep track of buttons in a list so that
        we can enable/disable the buttons when the None field is selected.
(SelectPropertiesDialog): Add buttons to make the colors transparent.


Revision 476 - Directory Listing
Modified Thu Mar 6 15:03:37 2003 UTC (22 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ClassGrid.__init__)
(ClassGrid.CreateTable): Move the SetSelectionMode call to
CreateTable because otherwise it triggers an assertion in
wxPython/wxGTK 2.4.


Revision 473 - Directory Listing
Modified Wed Mar 5 18:39:45 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
import FIELDTYPE constants from table


Revision 469 - Directory Listing
Modified Wed Mar 5 18:19:25 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Function name changes.


Revision 468 - Directory Listing
Modified Wed Mar 5 18:19:13 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Only get the layer classification once.
Don't try to classify values when the field is None: just use the default
properties.


Revision 460 - Directory Listing
Modified Wed Mar 5 18:16:28 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Added class documentation.
        Fixed RTbug #1713, #1714. Added Move[Up|Down] buttons.
        Store just the groups in the table and generate the other
        column information when it is requested. Add "None" field
        to pull-down to select no classification.


Revision 455 - Directory Listing
Modified Tue Mar 4 11:32:20 2003 UTC (22 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ClassGrid.__init__): Set the table
before the selection mode. Doing it the other way round triggers
an assertion in wxWindows.


Revision 451 - Directory Listing
Modified Tue Mar 4 10:33:56 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGrid): Moved OnCellDClick() from
        Classifier to ClassGrid. Added support for removing selected rows,
        which including code for keeping track of when cells are selected,
        and deselected.
(ClassTable): Support for added/removing rows. Fixed a problem
        with __ParseInput whereby it would not allow strings (only numbers)
        to be entered.
(Classifier): Added button and supporting code for removing selected rows.


Revision 450 - Directory Listing
Modified Tue Mar 4 10:33:28 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use Layer.GetClassification() since the class attribute __classification is
now private.


Revision 444 - Directory Listing
Modified Thu Feb 27 16:02:59 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Fix to create a tuple with a single value instead of simply returning the value.


Revision 443 - Directory Listing
Modified Thu Feb 27 15:55:42 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use common.py functions.


Revision 442 - Directory Listing
Modified Thu Feb 27 15:55:25 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use new Classification and Group functions.  Use common.py functions.


Revision 441 - Directory Listing
Modified Thu Feb 27 15:55:00 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Changes to use new Classification and Group functions.


Revision 438 - Directory Listing
Modified Thu Feb 27 15:53:48 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Common functions used in several UI modules


Revision 433 - Directory Listing
Modified Mon Feb 24 18:47:49 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.find_shape_at): Use method calls
        instead of accessing now non-existent class variables.


Revision 432 - Directory Listing
Modified Mon Feb 24 18:47:36 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Change
        Classification method name from GetProperties to GetClassData.


Revision 431 - Directory Listing
Modified Mon Feb 24 18:47:21 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(MainWindow.OpenSession,
        MainWindow.SaveSessionAs): Text string changes so the dialogs
        have more meaningful titles.


Revision 430 - Directory Listing
Modified Mon Feb 24 18:47:06 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(SelectPropertiesDialog): Support
        for changing the stroke and fill colors and previewing the
        changes.


Revision 424 - Directory Listing
Modified Mon Feb 24 14:17:07 2003 UTC (22 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapRenderer.draw_shape_layer): Remove
unneeded Shape() call. Rendering is substantially faster without
it and it avoids some problems with broken shape files.


Revision 422 - Directory Listing
Modified Thu Feb 20 16:23:31 2003 UTC (22 years ago) by frank
Original Path: trunk/thuban/Thuban/UI
(IdentifyView.__init__): Set size of dialog.


Revision 421 - Directory Listing
Modified Thu Feb 20 16:23:12 2003 UTC (22 years ago) by frank
Original Path: trunk/thuban/Thuban/UI
(LabelDialog.dialog_layout): Set size of listctrl.


Revision 420 - Directory Listing
Modified Thu Feb 20 16:22:46 2003 UTC (22 years ago) by frank
Original Path: trunk/thuban/Thuban/UI
(RecordListCtrl): Set minimal width for columns.


Revision 417 - Directory Listing
Modified Wed Feb 19 16:53:22 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Formatting changes.


Revision 416 - Directory Listing
Modified Wed Feb 19 16:53:08 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Use new Color and Classification methods.


Revision 415 - Directory Listing
Modified Wed Feb 19 16:52:51 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
(ClassGrid): New class to represent a
        custom grid.
(ClassTable): Support for editing Values and Labels and for
        changing what type (point or range) of data is stored in each
        property based on how the user enters the data.
(Classifier): Support for saving the new classifications and
        launching the dialog to edit a property.
(SelectPropertiesDialog): New class for editing the visual
        properties of a classification (stroke color, width, and fill color)
(ClassPreviewer): Took the Draw method from ClassRenderer and
        made most of it into this new class. Intend to use this class in
        the SelectPropertiesDialog for previewing changes.


Revision 404 - Directory Listing
Modified Fri Feb 14 17:40:26 2003 UTC (22 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnLeftUp): Make sure that the
dragging flag is always set to 0 even when the tool implementation
raises an exception


Revision 401 - Directory Listing
Modified Tue Feb 11 15:19:21 2003 UTC (22 years ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OnInit): Call the
new splash_screen method to determine whether the application
should display a splash screen. If it displays a splash screen do
not immediately show the main window.
(ThubanApplication.splash_screen): New method to create a splash
screen.
(ThubanApplication.ShowMainWindow): New. Show the main window.
Needed so the splash screen can display the mainwindow


Revision 400 - Directory Listing
Modified Tue Feb 11 14:29:09 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
typo fix


Revision 398 - Directory Listing
Modified Tue Feb 11 14:23:45 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/classifier.py (ClassTable): Didn't need to hang
        onto the clinfo parameter, so removed the deepcopy().


Revision 394 - Directory Listing
Modified Mon Feb 10 15:27:13 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods
        of the ClassData class.


Revision 393 - Directory Listing
Modified Mon Feb 10 15:26:54 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()
        methods of the Classification class.


Revision 392 - Directory Listing
Modified Mon Feb 10 15:26:30 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/classifier.py (ClassRenderer): New class to
        draw the classifications in the dialog box's table.
        (Classifier): Modified to use the ClassRenderer class.


Revision 383 - Directory Listing
Modified Tue Jan 28 18:38:03 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Handle drawing Colors in the tree view.


Revision 379 - Directory Listing
Modified Tue Jan 28 12:54:01 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
added i18n wrapper _() to text


Revision 377 - Directory Listing
Modified Tue Jan 28 12:09:56 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
fixed a missed conflict


Revision 376 - Directory Listing
Modified Tue Jan 28 12:01:38 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
fix i18n merge conflict


Revision 374 - Directory Listing
Modified Mon Jan 27 14:20:02 2003 UTC (22 years, 1 month ago) by jan
Original Path: trunk/thuban/Thuban/UI
Replace user string by _() for i18n.


Revision 372 - Directory Listing
Modified Mon Jan 27 13:50:58 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
Dialog box for modifying classification information


Revision 363 - Directory Listing
Modified Mon Jan 27 11:40:13 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
added 'Classify' option in 'Layer' menu


Revision 362 - Directory Listing
Modified Mon Jan 27 11:39:03 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI
added support for drawing classifications


Revision 357 - Directory Listing
Modified Mon Dec 9 10:32:27 2002 UTC (22 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.update_command_ui): If an
active tool's command turns insensitive, disable the tool.
(_tool_command): Use the new ToolCommand class


Revision 356 - Directory Listing
Modified Mon Dec 9 10:32:15 2002 UTC (22 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.SelectTool): New method to select
the tool to avoid direct assignments to instance variables
(MapCanvas.ZoomInTool, MapCanvas.ZoomOutTool, MapCanvas.PanTool)
(MapCanvas.IdentifyTool, MapCanvas.LabelTool): Use SelectTool to
change the tool


Revision 355 - Directory Listing
Modified Mon Dec 9 10:31:58 2002 UTC (22 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ToolCommand): New class for tool commands.
(Command.IsTool): New method to distinguish between command
switching tools and other commands.


Revision 353 - Directory Listing
Modified Tue Dec 3 17:35:30 2002 UTC (22 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(SessionTreeCtrl.normalize_selection): Handle
the case of selected items that are not children of Layers or Maps
properly. Previously this bug would trigger an assertion in
wxWindows.


Revision 351 - Directory Listing
Modified Wed Nov 6 14:46:33 2002 UTC (22 years, 4 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
Altered the order of tools in the toolbar:
First now are all navigation tools (Zoom In/Out, Pan, Full Extent).


Revision 346 - Directory Listing
Modified Wed Oct 23 14:45:28 2002 UTC (22 years, 4 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.About): Add 2002 to copyright notice.


Revision 321 - Directory Listing
Modified Fri Sep 13 14:21:48 2002 UTC (22 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.view_position_changed)
(MainWindow.set_position_text): Put the code that puts the text
with the mouse position into the status bar into the new method
set_position_text so that it can overwritten in derived classes.


Revision 316 - Directory Listing
Modified Thu Sep 12 18:46:01 2002 UTC (22 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.RunMessageBox): Center the
message box on the main window.


Revision 314 - Directory Listing
Modified Wed Sep 11 15:18:09 2002 UTC (22 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.build_menu): remove an incorrect comment.


Revision 312 - Directory Listing
Modified Wed Sep 11 13:59:37 2002 UTC (22 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Underline the 'x' in "Exit" instead of
the 'E' because it's less likely to interfere with other menu
entries.


Revision 310 - Directory Listing
Modified Tue Sep 10 16:45:22 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.Map): New.
(_tool_command): Add sensitive parameter
(_has_visible_map): Sensitivity callback to tools and other
commands that require a visible map. Use it in map_zoom_in_tool,
map_zoom_out_tool, map_pan_tool, map_identify_tool, map_label_tool
and map_full_extent


Revision 307 - Directory Listing
Modified Fri Sep 6 10:01:16 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.OnClose): Unsubscribe VIEW_POSITION


Revision 303 - Directory Listing
Modified Mon Sep 2 16:47:53 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/view.py: Get rid of the idle redraw. This is done by
wxWindows already and our implementation doesn't work correctly
with wxGTK 2.3:
(MapCanvas.__init__): Remove the instance variable
(MapCanvas.OnPaint): Always call do_redraw when there's a map to
be drawin
(MapCanvas.OnIdle): Removed.


Revision 301 - Directory Listing
Modified Mon Sep 2 15:59:11 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.unprojected_rect_around_point): Add
a parameter to determine the size of the rectangle.
(MapCanvas.find_shape_at): Create the box around the point on a
layer by layer basis and make the size depend on the shape type.
This solves a problem with the selection of point shapes at the
border of the layer's bounding box


Revision 299 - Directory Listing
Modified Fri Aug 30 17:41:04 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.CanRemoveLayer): New method
for the sensitivity  of remove layer.
(_can_remove_layer): New. Sensitivity callback for remove layer
(Command layer_remove): Use _can_remove_layer


Revision 296 - Directory Listing
Modified Fri Aug 30 16:10:45 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
(MapCanvas.do_redraw): Get rid of the unused update_region
instance variable


Revision 295 - Directory Listing
Modified Fri Aug 30 10:39:17 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Add some more doc-strings.


Revision 293 - Directory Listing
Modified Fri Aug 30 10:18:50 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Add/update some doc-strings.


Revision 290 - Directory Listing
Modified Thu Aug 29 14:11:28 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ScreenRenderer.draw_shape_layer): Handle
arcs with multiple parts.


Revision 288 - Directory Listing
Modified Thu Aug 29 13:31:43 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ZoomInTool.MouseUp, ZoomOutTool.MouseUp):
Handle degenrate rectangles.


Revision 281 - Directory Listing
Modified Mon Aug 26 18:16:36 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py: Refactor the context creation:
(MainWindow.Context): New method to return a context
(MainWindow.invoke_command, MainWindow.update_command_ui): Use the
new method


Revision 279 - Directory Listing
Modified Mon Aug 26 15:06:01 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LayerTableGrid.select_shape): Remove a debug print


Revision 278 - Directory Listing
Modified Mon Aug 26 12:50:23 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
layer table specific code from TableGrid into LayerTableGrid
(TableFrame, LayerTableFrame): Split the layer table specific code
from TableFrame into LayerTableFrame

* Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
LayerTableFrame


Revision 274 - Directory Listing
Modified Thu Aug 22 16:25:46 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/Model/table.py (Table.write_record): New method to write
records.
(Table.__init__): Open the DBF file for writing too.

* Thuban/UI/controls.py (RecordTable.SetValue): Write the value
into the underlying table.


Revision 270 - Directory Listing
Modified Thu Aug 22 13:46:46 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(make_check_current_tool)
(_tool_command): Put the code that generates the "checked"
callback into a separate function so that we can reuse it
elsewhere


Revision 264 - Directory Listing
Modified Fri Aug 16 17:06:38 2002 UTC (22 years, 6 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
menu item 'show session tree' now disable if tree window already open


Revision 261 - Directory Listing
Modified Thu Aug 15 17:44:33 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.OnLeftUp): Only release the mouse
when we have actually captured it.


Revision 255 - Directory Listing
Modified Wed Aug 14 15:08:01 2002 UTC (22 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(RecordTable.__init__): Remove the unused
instance variable columns
(RecordTable.GetTypeName): row and col may be negative in some
cases.


Revision 251 - Directory Listing
Modified Tue Jul 30 14:18:40 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.OnExit): Do some cleanup.
(ThubanApplication.MainLoop): Extend to automatically call OnExit.


Revision 246 - Directory Listing
Modified Mon Jul 29 13:38:04 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MapCanvas.find_shape_at): Change the
selected_layer parameter to searched_layer which is the layer to
search in.
(MapCanvas.SelectShapeAt): New parameter layer to restrict the
search to that layer. Return the selected layer and shape.


Revision 242 - Directory Listing
Modified Wed Jul 24 17:16:31 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ThubanApplication.create_session):
Extend the doc string.
(ThubanApplication.subscribe_session)
(ThubanApplication.unsubscribe_session): New methods to
subscribe/unsubscribe to/from session channels.
(ThubanApplication.SetSession): Call the new methods here.
(ThubanApplication.maps_changed, ThubanApplication.set_map):
Renamed set_map to maps_changed. Its now a subscriber for
MAPS_CHANGED.


Revision 239 - Directory Listing
Modified Wed Jul 24 17:15:54 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(ZoomOutTool.MouseUp): Use the correct
x-coordinate in case of simple clicks


Revision 238 - Directory Listing
Modified Wed Jul 24 10:19:46 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.__init__): Turn the initial
window size into a parameter.


Revision 236 - Directory Listing
Modified Tue Jul 23 16:53:14 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(Menu.item_index): Also search for menus not
just commands.


Revision 235 - Directory Listing
Modified Tue Jul 23 10:56:29 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py (MainWindow.__init__): Change the
parameter list a bit to allow setting the window title and the
initial message in the status bar. Update the callers.

* Thuban/UI/application.py (ThubanApplication.OnInit)
(ThubanApplication.CreateMainWindow): Put the mainwindow
instantiation into a separate method so that it can be overridden
by a subclass.


Revision 233 - Directory Listing
Modified Fri Jul 19 15:15:16 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py: We can now simply subscribe to the session's
	CHANGED channel to be informed of changes.
	(SessionTreeCtrl.session_channels): Not needed any longer.
	(SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
	Only have to (un)subscribe CHANGED


Revision 230 - Directory Listing
Modified Fri Jul 19 13:21:14 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/main.py, Thuban/UI/__init__.py: Move the work-around
for the wxPython locale bug to __init__.py so that it's
automatically executed by anybody using UI code from Thuban.


Revision 229 - Directory Listing
Modified Thu Jul 18 16:27:44 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/application.py (ThubanApplication.OnInit): Instantiate
	the main window with self.


Revision 227 - Directory Listing
Modified Thu Jul 18 16:27:11 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.__init__): Add application
	as parameter and store it in an instance variable
	(MainWindow.invoke_command, MainWindow.update_command_ui)
	(MainWindow.save_modified_session, MainWindow.NewSession)
	(MainWindow.OpenSession, MainWindow.SaveSession)
	(MainWindow.SaveSessionAs, MainWindow.ShowSessionTree): Use self's
	application object.


Revision 226 - Directory Listing
Modified Thu Jul 18 16:26:11 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/main.py (main): app no longer needs to be global


Revision 222 - Directory Listing
Modified Thu Jul 18 13:03:08 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.invoke_command,
	MainWindow.update_command_ui): Pass an instance of the context
	class to the command's methods
	(check_current_tool, call_method): Handle the new context
	implementation


Revision 221 - Directory Listing
Modified Thu Jul 18 13:01:55 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/command.py (Command): Update doc string.


Revision 220 - Directory Listing
Modified Thu Jul 18 13:00:37 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New module with the context class


Revision 219 - Directory Listing
Modified Thu Jul 18 12:55:07 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/application.py (ThubanApplication.SetSession): Add
	doc-string
	(ThubanApplication.Session): New method to return the session
	object


Revision 218 - Directory Listing
Modified Thu Jul 18 12:54:48 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (SessionTreeCtrl.update_tree): The
	interactor's selected_layer may not be a layer of the current
	session when the tree is updated while a new session is being set.


Revision 217 - Directory Listing
Modified Wed Jul 17 10:50:40 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/tree.py (color_string): Removed. No longer used.
(SessionTreeCtrl.update_tree, SessionTreeCtrl.add_items): Split
update_tree into update_tree and add_items. The tree now uses a
more generic way to display the contents of the tree.
(SessionTreeCtrl): Add a doc string explaining the TreeInfo method

* Thuban/Model/layer.py (Layer.TreeInfo),
Thuban/Model/extension.py (Extension.TreeInfo),
Thuban/Model/map.py (Map.TreeInfo),
Thuban/Model/session.py (Session.TreeInfo):
Add TreeInfo methods to implement the new tree view update scheme


Revision 215 - Directory Listing
Modified Tue Jul 16 15:26:06 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/application.py: Don't use "import from" for the
	MainWindow. It can't always be resolved.
	(ThubanApplication.OnInit): change reference to MainWindow
	accordingly.


Revision 214 - Directory Listing
Modified Tue Jul 16 15:25:24 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/menu.py (Menu.SetItems): New method to replace a menu
	completely


Revision 198 - Directory Listing
Modified Thu Jun 20 15:24:26 2002 UTC (22 years, 8 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
(SessionTreeCrtl:update_tree): Added visualization
of Extension titles and title and names of its objects.


Revision 193 - Directory Listing
Modified Wed May 29 10:33:41 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.bind_command_events): Bind
	the events for a comnmand.
	(MainWindow.add_toolbar_command, MainWindow.add_menu_command):
	Call bind_command_events to bind the events. add_toolbar_command
	can now bind events too so that it's possible to have commands
	that are only available through the toolbar.
	(MainWindow.init_ids): New instance variable events_bound to keep
	track of for which commands events have been bound.


Revision 191 - Directory Listing
Modified Tue May 28 16:04:49 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.__init__, main_toolbar):
	Move the toolbar definition to the Menu instance main_toolbar.
	(MainWindow.build_toolbar): New method to build the toolbar
	similar to the build_menu methods


Revision 189 - Directory Listing
Modified Tue May 28 12:39:17 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/application.py (ThubanApplication.OnInit): Read the
	startup file
	(ThubanApplication.read_startup_files): New method to run
	~/.thuban/thubanstart.py


Revision 188 - Directory Listing
Modified Tue May 28 12:38:45 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py: Remove some unused imports.
	(MainWindow.__init__, main_menu): move the definition of the main
	menu from __init__ to the Menu instance main_menu.
	(MainWindow.build_menu_bar, MainWindow.build_menu): New methods to
	build the menu bar and sub-menus from a menu description.


Revision 187 - Directory Listing
Modified Tue May 28 12:38:17 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/menu.py: New module to build and manage menus.


Revision 185 - Directory Listing
Modified Thu May 23 15:37:39 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.__init__): Fix spelling of
	layer_outline_color. Fix it in the definition of the command too.


Revision 183 - Directory Listing
Modified Thu May 23 14:59:11 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/command.py (Command): Fix typo in doc string


Revision 181 - Directory Listing
Modified Wed May 22 13:42:04 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Fix a typo
	in the docstring


Revision 177 - Directory Listing
Modified Wed May 15 14:02:09 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (SessionTreeCtrl.update_tree): Deal with the
	layer's bbox being None.


Revision 176 - Directory Listing
Modified Wed May 15 13:38:49 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
remove some debug prints


Revision 174 - Directory Listing
Modified Wed May 15 13:30:00 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas.shape_selected): Only redraw when
	necessary.
	(MapCanvas.__init__): New instance variables, last_selected_layer
	and last_selected_shape to determine how the selection has
	changed.


Revision 173 - Directory Listing
Modified Wed May 15 13:29:34 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tableview.py (TableGrid.__init__): Do not call
	AutoSizeColumns because it will cause a traversal of the entire
	table which for large .dbf files will take a very long time.


Revision 161 - Directory Listing
Modified Wed May 8 13:47:10 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
	debug print and set session to None after unsubscribing


Revision 159 - Directory Listing
Modified Wed May 8 13:46:15 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (PanTool.MouseMove): Use the bitmap the view
	maintains to redraw the window during a drag.
	(MapCanvas.unprojected_rect_around_point): New method to determine
	a small region around a point for hit-testing.
	(MapCanvas.find_shape_at): Only test the shapes in a small region
	around the point.


Revision 151 - Directory Listing
Modified Tue May 7 17:01:35 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (session_channels): New class constant with
	all the session channels to subscribe to to update the tree
	(SessionTreeCtrl.session_changed): Remember the session so that we
	can unsubscribe properly. Use the new class constant to
	unsubscribe from the old session and subscribe to the new one.
	(SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
	subscriptions of the SessionTreeCtrl.
	(SessionTreeView.OnClose): Call the tree's unsubscribe_all method.


Revision 150 - Directory Listing
Modified Tue May 7 16:55:38 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
	Session Tree" command to the file menu.


Revision 149 - Directory Listing
Modified Tue May 7 16:41:07 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
	as update_region to the renderer.


Revision 148 - Directory Listing
Modified Tue May 7 16:40:29 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/renderer.py
	(ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
	update box is now directly a tuple, not a wxRect anymore.


Revision 145 - Directory Listing
Modified Tue May 7 14:58:05 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas.__init__): New instance variable
	update_region for the update region.
	(MapCanvas.OnPaint): Maintain the update region
	(MapCanvas.do_redraw): Pass the bounding box of the update_region
	to the renderer when drawing the bitmap. Reset the update_region.


Revision 144 - Directory Listing
Modified Tue May 7 14:54:02 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
	return the shape ids to be rendered in a given layer.
	(MapRenderer.draw_shape_layer): Call layer_ids to get the list of
	ids.
	(ScreenRenderer.RenderMap): New parameter
	for the rectangle that has to be updated
	(ScreenRenderer.layer_ids): Make use of the layer's quadtree by
	calling it's ShapesInRegion method.


Revision 130 - Directory Listing
Modified Fri May 3 14:50:18 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
	MainWindow.OpenSession): Change the file extension of the session
	files to .thuban


Revision 125 - Directory Listing
Modified Thu May 2 18:55:33 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py: Keep the temporary bitmap used during drawing
	around to speed up most redraws:
	(MapCanvas.__init__): New instance variable bitmap which holds the
	bitmap
	(MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
	self.bitmap to draw.
	(MapCanvas.full_redraw): New method to force a full redraw
	including the bitmap
	(MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
	make sure the bitmap is redrawn.
	(MapCanvas.projection_changed, MapCanvas.set_view_transform,
	MapCanvas.shape_selected): Call full_redraw instead of readraw to
	make sure the bitmap is redrawn.
	(MapCanvas.OnSize): New method to handle size events so that the
	bitmap can be redrawn.


Revision 123 - Directory Listing
Modified Mon Apr 29 18:05:04 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
	canvas' VIEW_POSITION event
	(MainWindow.view_position_changed): Handler for VIEW_POSITION.
	Update the text in the status-bar accordingly.


Revision 122 - Directory Listing
Modified Mon Apr 29 18:04:54 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
	(MapCanvas.__del__): Implement because Publisher.__del__ has to be
	called.
	(MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
	current_position
	(MapCanvas.set_current_position): New method to set
	current_position. Issue a VIEW_POSITION event
	(MapCanvas.CurrentPosition): New public method to return the value
	of current_position. Should be called when the VIEW_POSITION event
	is processed.
	(MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
	Update the position.
	(MapCanvas.OnLeaveWindow): Set the position to None.


Revision 121 - Directory Listing
Modified Mon Apr 29 18:04:32 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/messages.py (VIEW_POSITION): New message for the
	position in the statusbar


Revision 119 - Directory Listing
Modified Fri Apr 26 09:30:41 2002 UTC (22 years, 10 months ago) by frank
Original Path: trunk/thuban/Thuban/UI
AddLayer: Dialog title changed: s/session/data


Revision 115 - Directory Listing
Modified Mon Apr 22 11:30:20 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
added test for None on map bounding box


Revision 113 - Directory Listing
Modified Sun Apr 21 17:38:50 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
removed old comments


Revision 112 - Directory Listing
Modified Sun Apr 21 17:30:37 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
added propose dialog for UMT Zone


Revision 111 - Directory Listing
Modified Sun Apr 21 17:29:50 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
added map extent to tree view


Revision 110 - Directory Listing
Modified Sun Apr 21 17:28:16 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
added full-extent to toolbar; adapted proj4 call


Revision 104 - Directory Listing
Modified Fri Apr 19 14:46:08 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
add filename and modified status to tree view


Revision 102 - Directory Listing
Modified Fri Apr 19 14:22:25 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI
launch save as dialog for saving new sessions


Revision 84 - Directory Listing
Modified Wed Apr 3 15:21:46 2002 UTC (22 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
	Layer" and "Remove Layer" commands from the layer menu to the map
	menu


Revision 80 - Directory Listing
Modified Mon Feb 4 19:53:01 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
	RecordGrid in the identifyview.
	(IdentifyView.__init__): Use IdentifyGridCtrl instead of
	IdentifyListCtrl. The grid allows editing of the values.


Revision 79 - Directory Listing
Modified Mon Feb 4 19:50:28 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
	implementing a grid for a single row of a thuban table.


Revision 78 - Directory Listing
Modified Mon Feb 4 19:37:16 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
	layers by default. Easier to use than the previous default of only
	searching through the select layer which meant that if no layer
	was selected, you couldn't select a shape.


Revision 77 - Directory Listing
Modified Mon Feb 4 19:27:13 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tableview.py (TableGrid.__init__): Fix typo


Revision 76 - Directory Listing
Modified Mon Feb 4 19:23:30 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
	stroke_width attribute


Revision 66 - Directory Listing
Modified Fri Sep 14 14:56:45 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
	Handle the case of no layer (i.e. layer is None) properly.


Revision 65 - Directory Listing
Modified Fri Sep 14 14:55:34 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
	Set the initial selection of the combo boxes to reflect the
	projection we're starting with in a way that works on windows,
	too.


Revision 61 - Directory Listing
Modified Thu Sep 13 17:58:49 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
	deselect the layer if no layer is selected


Revision 60 - Directory Listing
Modified Thu Sep 13 14:47:39 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	(MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
	index, i.e. reversed drawing order) so that objects appearing to
	be in from of others are selected first. This is probably mostly
	relevant for point shapes where the symbols used may overlap


Revision 58 - Directory Listing
Modified Thu Sep 13 13:56:23 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
	create_empty_session session to create the new, empty session.

	* Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
	the tool bitmaps.
	(MainWindow.OnClose, MainWindow.save_modified_session): Separate
	the code that asks whether the session should be saved into the
	new method save_modified_session.
	(MainWindow.OpenSession, MainWindow.NewSession): Use the new
	method to save modified session here too.


Revision 57 - Directory Listing
Modified Thu Sep 13 13:55:33 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
	idle time when there actually is something to draw. If there's
	nothing to draw simply clear the window
	(MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
	(MapCanvas.SetMap): force a redraw in all cases because
	FitMapToWindow doesn't always do it.
	(MapCanvas.ZoomFactor): Add an optional parameter, center, to
	specify the point to move into the center of the window
	(ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
	dragged, zoon in/out by a factor of 2


Revision 52 - Directory Listing
Modified Mon Sep 10 16:05:13 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(LabelDialog.OnOK): Check whether the return value of GetValue is None
instead of using it as a boolean directly so that Zero numbers are
handled properly.
(LabelListCtrl): Derive from the new class SelectableRecordListCtrl


Revision 51 - Directory Listing
Modified Mon Sep 10 16:04:43 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(IdentifyListCtrl): Derive from the new class RecordListCtrl


Revision 50 - Directory Listing
Modified Mon Sep 10 16:04:21 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New file with two classes RecordListCtrl and SelectableRecordListCtrl
that implement the code shared by the identify view and the label dialog


Revision 49 - Directory Listing
Modified Mon Sep 10 16:03:59 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(MainWindow.IdentifyTool): Popup the identify view immediately


Revision 47 - Directory Listing
Modified Mon Sep 10 12:52:44 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
	(Proj4Dialog.dialogLayout): Make the window resizable and set the
	size of the text control explicitly to make the sizers work on
	both Windows and X.


Revision 45 - Directory Listing
Modified Fri Sep 7 15:00:21 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	(MapCanvas.FitRectToWindow): If the rect has zero with or zero
	height do nothing (avoids zero division errors)


Revision 43 - Directory Listing
Modified Fri Sep 7 11:55:51 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
	that can limit the search to the currently selected layer.
	(MapCanvas.SelectShapeAt): Make sure that the currently selected
	layer stays selected even when no shape is found


Revision 41 - Directory Listing
Modified Thu Sep 6 18:58:46 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
	Correct the spelling of SessionTreeCtrl. dabbrev is too damn
	convenient :-)
	(SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
	a new instvar layer_to_item to map layers to tree items
	(SessionTreeCtrl.layer_selected): Select the appropriate tree item
	to match the current selection in the interactor


Revision 39 - Directory Listing
Modified Thu Sep 6 17:18:22 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Create the session tree view in main with the new mainwindow method
ShowSessionTree and not directly the application's OnInit method


Revision 38 - Directory Listing
Modified Thu Sep 6 17:17:28 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(Interactor.SelectedLayer):
(Interactor.HasSelectedLayer): New methods to query the current
selection


Revision 37 - Directory Listing
Modified Thu Sep 6 17:16:54 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.current_layer):
	(MainWindow.has_selected_layer): Simply call the appropriate
	interactor method

	* Thuban/UI/mainwindow.py (MainWindow.__init__):
	(MainWindow.LayerShowTable):
	(MainWindow.identify_view_on_demand): Store the interactor in an
	instvar and use that reference instead of going through main.app

	* Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
	* Thuban/UI/application.py (ThubanApplication.OnInit):
	* Thuban/UI/main.py (main): Create the session tree view in main
	with the new mainwindow method ShowSessionTree and not directly
	the application's OnInit method


Revision 36 - Directory Listing
Modified Thu Sep 6 17:16:06 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (myTreeCtrlPanel):
	(SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
	TreeCtrl isntead of a panel. This affects most method since we now
	refer to self instead of self.tree
	(SessionTreeView): New class implementing a non-modal dialog
	showing the session tree.


Revision 34 - Directory Listing
Modified Thu Sep 6 15:32:56 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tableview.py: Add some doc-strings
	(TableGrid):
	(TableGrid.OnRangeSelect):
	(TableGrid.OnSelectCell):
	(TableFrame.__init__):
	(TableFrame.row_selected):
	Selecting rows in the grid view now updates the selected shapes
	through the TableFrame. To achieve this we derive TableGrid from
	Publisher and introduce the message type ROW_SELECTED which the
	TableFrame subscribes to and which is issued by OnRangeSelect and
	OnSelectCell

	(DataTable.SelectRow): Removed because it's no longer needed in
	the row/shape selection scheme


Revision 33 - Directory Listing
Modified Thu Sep 6 15:31:31 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
	layer to the tableview dialog.


Revision 31 - Directory Listing
Modified Thu Sep 6 13:32:39 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.init_dialogs):
	(MainWindow.add_dialog):
	(MainWindow.dialog_open):
	(MainWindow.remove_dialog):
	(MainWindow.get_open_dialog): New methods to maintain a dictionary
	of opened non-modal dialogs.

	(MainWindow.__init__): Initialize the new non-modal dictionary
	management code
	(MainWindow.LayerShowTable): maintain separate dialogs for each
	table using the non-modal dialog management code to only open a
	view once for each table.

	(MainWindow.IdentifyTool):
	(MainWindow.__init__):
	(MainWindow.identify_view_on_demand): Don't open the identify view
	in IdentifyTool anymore. This will be done automatically by the
	new method identify_view_on_demand which handles the
	SELECTED_SHAPE message so that the identify view will be opened on
	demand


Revision 30 - Directory Listing
Modified Thu Sep 6 13:31:57 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(TableGrid.__init__): Don't subscribe to the SELECTED_SHAPE message
anymore. This is now handled by the parent.
(TableGrid.select_shape): Only update the selection if the shape is not
None.

(TableFrame): Inherit from the new NonModalDialog class.
(TableFrame.__init__, TableFrame.select_shape): Handle the SELECT_SHAPE
message.
(TableFrame.OnClose): Extend the inherited method to unsubscribe
SELECT_SHAPE


Revision 29 - Directory Listing
Modified Thu Sep 6 13:30:59 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
(IdentifyListCtrl.__init__): Remove the interactor argument. The
SELECTED_SHAPE message is now handled by the parent.

(IdentifyView.__init__): Add the interactor argument so that we can
handle the SELECTED_SHAPE message here

(IdentifyView.selected_shape): New method to handle the SELECTED_SHAPE
messages

(IdentifyView): Derive from the new NonModalDialog class
(IdentifyView.OnClose): Extend the inherited version to unsubscribe
SELECT_SHAPE


Revision 28 - Directory Listing
Modified Thu Sep 6 13:29:57 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New file implementing common classes for dialogs


Revision 25 - Directory Listing
Modified Wed Sep 5 13:36:13 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
Use the new argument to the MainWindow constructor to get rid of the
ugly hack that made main.app available early just so that the mapcanvas
could access the interactor object.


Revision 24 - Directory Listing
Modified Wed Sep 5 13:35:46 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New argument interactor to pass through to the MapCanvas


Revision 23 - Directory Listing
Modified Wed Sep 5 13:35:22 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
New argument, interactor.


Revision 20 - Directory Listing
Modified Tue Sep 4 16:44:31 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): New method
	that runs a modal message box
	(MainWindow.OnClose): Use the new method
	(MainWindow.RemoveLayer): Just do nothing in case no layer is
	selected. The command should be grayed out anyway, so there's no
	need to pop up a message box.
	(MainWindow.AddLayer): Pop up a message box with an error message
	if the shape file can't be opened


Revision 19 - Directory Listing
Modified Tue Sep 4 15:11:27 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* MANIFEST.in: Add extensions/pyprojection/LICENSE

* setup.py (thuban_bdist_rpm): New class implementing a Thuban
specific bdist_rpm command.

* Thuban/UI/main.py: Catch ImportError exceptions when importing
the locale module because it may not be available on some
installations.

* extensions/pyprojection/LICENSE: Copy of the license text in
Projection.i. Having it in a separate file makes it easier to
refer to license text in e.g. RPMs

* setup.py: use wx-config instead of wxgtk-config because it's
more generic

* setup.py (ThubanInstall.get_outputs): Add the symlink in
<prefix>/bin to the outputs
(ThubanInstall.link_file): New method to link files. We need this
because the standard copy_files refuses to link non-existing
files.
(ThubanInstall.run): Remove the leading install root from the
script filename if an install root was specified and use the new
link_file method


Revision 18 - Directory Listing
Modified Mon Sep 3 16:25:09 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
* Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
the window when the first layer is added to the map.

* setup.py (ThubanInstall.run): Honor the build root (self.root)
when linking thuban.py to <prefix>/bin


Revision 14 - Directory Listing
Modified Fri Aug 31 15:34:33 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/tree.py (myTreeCtrlPanel.__init__): New inst var
	changing_selection to avoid recursive selection events when
	modifying the selection in response to a selection event.
	(myTreeCtrlPanel.normalize_selection): Set the new inst var when
	changing the tree's selection.
	(myTreeCtrlPanel.OnSelChanged): Only normalize the selection when
	we're not being called indirectly from normalize_selection.


Revision 13 - Directory Listing
Modified Fri Aug 31 15:33:42 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
	* Thuban/UI/mainwindow.py (MainWindow.update_command_ui): Call
	event.Check only if the command is actuall checkable.
	(MainWindow.__init__): Call the toolbar's Realize method to make
	sure that the items are actually shown


Revision 6 - Directory Listing
Added Tue Aug 28 15:41:52 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI
import all the source files


[email protected]
ViewVC Help
Powered by ViewVC 1.1.26