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

Legend:
Removed from v.636  
changed lines
  Added in v.715

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26