/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 634 by jonathan, Wed Apr 9 15:41:58 2003 UTC revision 720 by jonathan, Wed Apr 23 10:40:12 2003 UTC
# Line 1  Line 1 
1    2003-04-23  Jonathan Coles   <[email protected]>
2    
3            * Thuban/Model/resource.py: Fixes RTbug #1813.
4            (ReadProjFile): Add documentation about which exceptions are raised.
5            Always pass the exceptions up to the caller.
6            (GetProjFiles): If the directory can't be read return an empty list.
7            If any of the proj files can't be read skip that file and go
8            on to the next one.
9    
10            * test/test_proj.py: Added test cases to handle nonexistent files,
11            unreadable files, and files that don't parse correctly.
12    
13    2003-04-23  Jonathan Coles   <[email protected]>
14    
15            Projection dialog. Allows the user to select from a list
16            of projection templates and optionally edit them and save new ones.
17    
18            * Thuban/UI/projdialog.py (ProjFrame): New. Main dialog.
19            (ProjPanel): Base class for projection specific panels.
20            (TMPanel): Projection panel for Transverse Mercartor.
21            (UTMPanel): Projection panel for Universal Transverse Mercartor.
22            (LCCPanel): Projection panel for Lambert Conic Conformal.
23            (GeoPanel): Projetion panel for Geographic Projection.
24    
25    2003-04-23  Jonathan Coles   <[email protected]>
26    
27            * Thuban/Model/load.py (XMLReader): Renamed from XMLProcessor to
28            promote symmetry. There now exists XMLReader and XMLWriter.
29            (XMLReader.read): New. Call to read the given file descriptor or
30            filename.
31            (XMLReader.close): New. Make sure the file is closed.
32            (XMLReader.GetFileName): New. Return just the file name that is being
33            read from.
34            (XMLReader.GetDirectory): New. Return just the directory of the file
35            that is being read.
36            (XMLReader.AddDispatchers): New. Take a dictionary which contains
37            the names of functions to call as the XML tree is parsed.
38            (XMLReader.startElementNS): Updated to use new dispatcher dictionary.
39            (XMLReader.endElementNS): Updated to use new dispatcher dictionary.
40            (SessionLoader): Removed class variables start_dispatcher and
41            end_dispatcher since this functionality is now part of a class
42            instance. Fixes RTbug #1808.
43            (SessionLoader.__init__): Add dispatcher functions.
44            (load_xmlfile): Code was moved into the XMLReader.read().
45            (load_session): Use modified SessionLoader.
46    
47            * Thuban/Model/map.py (Map.GetProjection): New. Returns the
48            map's projection.
49    
50            * Thuban/Model/proj.py (Projection.GetParameters): Renamed to
51            GetAllParameters.
52            (Projection.GetParameter): Returns the value for the given parameter.
53    
54            * Thuban/Model/resource.py: Use XMLReader and XMLWriter.
55            (GetProjFiles): Renamed from GetProjections. Now returns a list
56            of ProjFile objects.
57            (GetSystemProjFiles): Renamed from GetSuppliedProjections. Returns
58            a list of ProjFile objects whose files are not user defined.
59            (GetUserProjFiles): Renamed from GetUserProjections. Returns a
60            list of ProjFile objects whose files are user defined.
61            (ProjFileReader): Extend new XMLReader.
62    
63            * Thuban/Model/save.py (XMLWriter): Renamed from XMLSaver to
64            promote symmetry.
65    
66            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Use a wxChoice
67            control instead of a wxComboBox. wxChoice controls do not generate
68            events as the uses highlights possible choices which fixes problems
69            with resizing the dialog when the use selects an option.
70    
71            * Thuban/UI/classifier.py (Classifier.__init__): Use a wxChoice
72            control instead of a wxComboBox.
73    
74            * Thuban/UI/mainwindow.py (MainWindow.Projection): Use new projection
75            dialog.
76    
77            * test/test_proj.py (TestProjection.test): New tests for GetParameter
78            method.
79    
80    2003-04-22  Bernhard Herzog  <[email protected]>
81    
82            * Thuban/UI/mainwindow.py: Remove some unused imports and global
83            constants
84    
85            * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape)
86            (IdentifyGridCtrl.selected_shape): Use table, not shapetable.
87    
88    2003-04-17  Bernhard Herzog  <[email protected]>
89    
90            * Thuban/Model/layer.py: Don't import LAYER_LEGEND_CHANGED.
91            (Layer): Update doc-string since LAYER_LEGEND_CHANGED is not used
92            anymore.
93            (Layer.BoundingBox, Layer.GetFieldType, Layer.NumShapes)
94            (Layer.ShapeType, Layer.Shape): No need to call
95            self.open_shapefile since it's always called in __init__
96    
97            * Thuban/UI/application.py (ThubanApplication.MainLoop): Removed.
98            In wxPython 2.4 there's no need to extend MainLoop anymore since
99            wxPython itself makes sure OnExit is called.
100    
101    2003-04-16  Jonathan Coles   <[email protected]>
102    
103            Initial putback of projection management code. Includes new
104            classes to read and write projection files. The current load
105            and save classes were abstracted a bit so they could be reused.
106            The Projection class was extended to provide new methods and
107            have a name.
108    
109            * Thuban/Model/load.py (XMLProcessor): New. Contains all the
110            general XML reading methods that were part of ProcessSession.
111    
112            * Thuban/Model/proj.py (Projection.__init__): Accepts an optional
113            name.
114            (ProjFile): New. Represents a file that contains projection
115            information.
116    
117            * Thuban/Model/resource.py: New. Contains general utilities
118            for read and writing projection files.
119    
120            * Thuban/Model/save.py (XMLSaver): New. Contains all the
121            general XML writing methods that were part of SessionSaver.
122            (SessionSaver): Renamed from Saver.
123    
124            * test/test_proj.py: New test cases for the projection
125            file read and write functions.
126    
127    2003-04-16  Jonathan Coles   <[email protected]>
128    
129            * Thuban/Model/classification.py: Use repr() around values
130            in the ClassGroup*.__repr__() methods so it is clearer when
131            a value is a string and when it is a number.
132    
133            * test/test_load.py: Rework the classification test to test
134            that we can load old files.
135            (testLabels): Test a file where the groups have labels.
136    
137    2003-04-16  Bernhard Herzog  <[email protected]>
138    
139            Safer implementation of the performance enhancements of the
140            low-level renderer:
141            
142            * extensions/thuban/wxproj.cpp (extract_projection)
143            (extract_pointer): Rename extract_projection to extract_pointer
144            and redefine its purpose to return the pointer stored in a CObject
145            returned by the object's cobject method. Update all callers.
146            (s_draw_info, free_draw_info, draw_polygon_init): Implement the
147            handling of these low-level parameters so that each s_draw_info
148            instance is handled as a CObject at python level that also
149            contains real references to the actual python objects which
150            contain the values in the struct. Add free_draw_info as the
151            destructor.
152            (draw_polygon_shape): Add the py_draw_info parameter which must a
153            cobject containing an s_draw_info pointer.
154    
155            * Thuban/UI/renderer.py (MapRenderer.polygon_render_param): New
156            method to instantiat the low-level render parameter
157            (MapRenderer.draw_shape_layer): Use the new method. Remove some
158            commented out code.
159            (MapRenderer.draw_polygon_shape): Make the first parameter not the
160            layer but the low-level render parameter
161            (ScreenRenderer.draw_shape_layer): Use the low-level render
162            parameter.
163    
164    2003-04-15  Jonathan Coles   <[email protected]>
165    
166            * Thuban/Model/classification.py: Implemented __repr__ for
167            the ClassGroup* classes to make debugging a bit easier.
168            (ClassGroup.SetLabel): Check that the string is an instance
169            of StringTypes not StringType. Accounts for Unicode strings.
170    
171            * Thuban/Model/color.py: Implemented __repr__ to make
172            debugging a bit easier.
173    
174            * Thuban/Model/save.py (Saver.write_classification): Need to
175            save the group label.
176    
177            * test/test_load.py (testClassification): New. Loads the
178            iceland_sample_test.thuban file and checks if it was loaded
179            correctly.
180    
181    2003-04-15  Jonathan Coles   <[email protected]>
182    
183            * extensions/thuban/wxproj.cpp (draw_polygon_init): New. Used
184            to improve rendering performance by initializing the variables
185            that are not change each time draw_polygon_shape() is called.
186            The values are stored in a global struct draw_info.
187            (draw_polygon_shape): Removed initialization code that is
188            now in draw_polygon_init().
189    
190            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Make
191            drawing initialization call to draw_polygon_init()
192            (MapRenderer.draw_polygon_shape): Use new signature of
193            draw_polygon_shape.
194    
195            * Thuban/UI/classgen.py (GenUniformPanel): Fix spin control
196            weirdness by setting the range to (1, maxint).
197    
198            * Thuban/Model/classification.py (ClassGroupProperties): Make
199            instance variables private and optimize comparison operator
200            by first checking if the color references are the same.
201            (ClassGroupSingleton): Make instance variables private.
202            (ClassGroupRange): Make instance variables private.
203    
204            * HOWTO-Release: Filled in missing steps for releasing packages.
205    
206    2003-04-15  Bernhard Herzog  <[email protected]>
207    
208            First stab at internationalized messages:
209    
210            * Thuban/__init__.py (_): Implement the translation function for
211            real using the python gettext module.
212    
213            * Thuban/UI/classifier.py (ClassTable.GetRowLabelValue): Don't
214            translate empty strings.
215    
216            * Thuban/UI/application.py (ThubanApplication.read_startup_files):
217            Add a missing space to a warning message
218    
219            * po/README: New. Notes about the management of the translation
220            files.
221    
222            * po/Makefile: New. Makefile to help manage the translation files.
223    
224            * po/es.po: New. Spanish translation by Daniel Calvelo Aros
225    
226            * MANIFEST.in: Include the *.mo files in Resources/Locale and the
227            translations and support files in po/
228    
229            * setup.py (data_files): Add the *.mo files to the data_files too
230    
231            * README: Add note about the translations when building from CVS
232    
233    2003-04-14  Jonathan Coles   <[email protected]>
234    
235            * Thuban/UI/dock.py: Fixes some window resizing problems most
236            noticable under windows. Always assume the button bitmaps will
237            be there. Code clean up.
238            (DockabelWindow.Dock, DockableWindow.UnDock): Force all the
239            images for the dock/undock button to the same images.
240            Work around for RTbug #1801.
241    
242            * Thuban/UI/legend.py (LegendPanel.__init__): The toolbar should
243            be allowed to grow within the sizer. Fixes a bug under Windows
244            where the toolbar wasn't being drawn.
245    
246    2003-04-14  Frank Koormann   <[email protected]>
247    
248            * Resources/Bitmaps/dock_12.xpm, Resources/Bitmaps/undock_12.xpm:
249            Updated design to try to make the button functionality more
250            transparent.
251    
252    2003-04-14  Jonathan Coles   <[email protected]>
253    
254            * Thuban/UI/legend.py (LegendPanel.__init__): Call Create() to
255            finalize the intialization of the panel.
256    
257            * Thuban/UI/dock.py (DockPanel.Create): New. Finalizes the
258            creation of the panel. Should be the last thing called in the
259            initializer of a subclass.
260    
261            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Actively
262            set the current selections in the combo boxes. This is needed
263            under Windows.
264    
265            * Thuban/UI/classifier.py (Classifier.__init__): Add a top
266            level panel to the dialog so that the background colors are
267            consistent under Windows.
268    
269    2003-04-11  Jonathan Coles   <[email protected]>
270    
271            * Thuban/UI/classgen.py: Change color ramps to start at white
272            not black.
273    
274            * Thuban/UI/legend.py: Enable/disable the legend buttons when
275            the legend changes. Fixes RTbug #1793.
276    
277            * test/test_classification.py: Added test for copying of
278            classifications.
279    
280    2003-04-11  Jonathan Coles   <[email protected]>
281    
282            * Thuban/UI/resource.py: New. Centralize the loading of resources
283            such as bitmaps.
284    
285            * Thuban/UI/classgen.py (GenUniquePanel.__init__): Reordered buttons,
286            added images to the move buttons, added 'reverse' button.
287            (CustomRampPanel.__init__): Added images to the move buttons.
288            (GreyRamp): New. Generates a ramp from white to black.
289            (HotToColdRamp): New. Generates a ramp from cold to hot colors.
290    
291            * Thuban/UI/classifier.py: Refactored ID's from ID_CLASSIFY_* to
292            ID_PROPERTY_*.
293            (Classifier.__init__): Minor changes to the layout.
294            (Classifier._OnTitleChanged): Listen for when the user edits the
295            title and update the dialog's title and the layer's title.
296    
297            * Thuban/UI/dock.py: Use new bitmaps for the control buttons.
298    
299            * Thuban/UI/legend.py: Use new bitmaps for the control buttons.
300            (LegendTree._OnMsgLayerTitleChanged): Change the displayed title
301            if the layer's title changes.
302    
303            * Thuban/UI/mainwindow.py: Added new menu item and associated code
304            to open a dialog to rename the map.
305            (MainWindow): Use new resource class to import bitmaps.
306    
307    2003-04-11  Jonathan Coles   <[email protected]>
308    
309            * Resources/Bitmaps/close_12.xpm, Resources/Bitmaps/dock_12.xpm,
310            Resources/Bitmaps/group_use.xpm, Resources/Bitmaps/group_use_all.xpm,
311            Resources/Bitmaps/group_use_none.xpm,
312            Resources/Bitmaps/group_use_not.xpm,
313            Resources/Bitmaps/hide_layer.xpm,
314            Resources/Bitmaps/layer_properties.xpm,
315            Resources/Bitmaps/lower_layer.xpm, Resources/Bitmaps/raise_layer.xpm,
316            Resources/Bitmaps/show_layer.xpm, Resources/Bitmaps/undock_12.xpm:
317            New.
318    
319    2003-04-10  Jonathan Coles   <[email protected]>
320    
321            * Thuban/Model/classification.py: (ClassGroupRange.__init__):
322            Should pass group to ClassGroup constructor.
323    
324    2003-04-10  Jonathan Coles   <[email protected]>
325    
326            * Thuban/Model/classification.py: (ClassGroup): Move all the common
327            methods of the derived classes ([Set|Get]Properties(), __eq__, __ne__)
328            here. Implement SetVisible(), IsVisible().
329            (ClassGroup.__init__): Add group parameter which acts as a copy
330            constructor.
331    
332            * Thuban/UI/classifier.py (ClassTable): Add a new column for the
333            "Visible" check boxes.
334            (Classifier): Rename the buttons and refactor the code to match
335            the new labels.
336    
337            * Thuban/UI/legend.py: Classify button is now called "Properties".
338            Refactored the code to change variable names.
339            (LegendTree.__FillTreeLayer): Only list a group if it is visible.
340    
341            * Thuban/UI/mainwindow.py: MainWindow.OpenClassifier renamed to
342            MainWindow.OpenLayerProperties. MainWindow.LayerEditProperties
343            renamed to MainWindow.LayerEditProperties.
344            (MainWindow.ToggleLegend): Don't include map name in legend title.
345            (MainWindow.SetMap): Added the map name to the window title.
346            (MainWindow.LayerFillColor, MainWindow.LayerTransparentFill,
347            MainWindow.LayerOutlineColor, MainWindow.LayerNoOutline): Removed.
348            Functionality is found in the layer properties dialog.
349    
350            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Only
351            draw visible groups.
352    
353  2003-04-09  Jonathan Coles   <[email protected]>  2003-04-09  Jonathan Coles   <[email protected]>
354    
355          * Thuban/UI/classgen.py: Modifications to allow simple          * Thuban/UI/classgen.py: Modifications to allow simple

Legend:
Removed from v.634  
changed lines
  Added in v.720

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26