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

Diff of /branches/WIP-pyshapelib-bramz/Thuban/UI/tableview.py

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

revision 1013 by jan, Fri May 23 09:18:28 2003 UTC revision 1035 by jan, Mon May 26 17:03:08 2003 UTC
# Line 7  Line 7 
7    
8  __version__ = "$Revision$"  __version__ = "$Revision$"
9    
10    import os.path
11    
12  from Thuban import _  from Thuban import _
13    
14  from wxPython.wx import *  from wxPython.wx import *
# Line 14  from wxPython.grid import * Line 16  from wxPython.grid import *
16    
17  from Thuban.Lib.connector import Publisher  from Thuban.Lib.connector import Publisher
18  from Thuban.Model.table import FIELDTYPE_INT, FIELDTYPE_DOUBLE, \  from Thuban.Model.table import FIELDTYPE_INT, FIELDTYPE_DOUBLE, \
19       FIELDTYPE_STRING       FIELDTYPE_STRING, table_to_dbf, table_to_csv
20  import view  import view
21  from dialogs import NonModalDialog  from dialogs import NonModalDialog
22  from messages import SHAPES_SELECTED  from messages import SHAPES_SELECTED
# Line 121  class TableGrid(wxGrid, Publisher): Line 123  class TableGrid(wxGrid, Publisher):
123          # of the table and will destroy it when done. Otherwise you          # of the table and will destroy it when done. Otherwise you
124          # would need to keep a reference to it and call its Destroy          # would need to keep a reference to it and call its Destroy
125          # method later.          # method later.
126          self.SetTable(self.table, true)          self.SetTable(self.table, True)
127    
128          #self.SetMargins(0,0)          #self.SetMargins(0,0)
129    
# Line 129  class TableGrid(wxGrid, Publisher): Line 131  class TableGrid(wxGrid, Publisher):
131          # column widths automatically but it would cause a traversal of          # column widths automatically but it would cause a traversal of
132          # the entire table which for large .dbf files can take a very          # the entire table which for large .dbf files can take a very
133          # long time.          # long time.
134          #self.AutoSizeColumns(false)          #self.AutoSizeColumns(False)
135    
136          self.SetSelectionMode(wxGrid.wxGridSelectRows)          self.SetSelectionMode(wxGrid.wxGridSelectRows)
137    
# Line 392  class QueryTableFrame(TableFrame): Line 394  class QueryTableFrame(TableFrame):
394                             _("All Files (*.*)|*.*"),                             _("All Files (*.*)|*.*"),
395                             wxSAVE|wxOVERWRITE_PROMPT)                             wxSAVE|wxOVERWRITE_PROMPT)
396          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
397              pass              filename = dlg.GetPath()
398                                                                                                type = os.path.basename(filename).split('.')[-1:][0]
399          dlg.Destroy()              dlg.Destroy()
400                if type.upper() == "DBF":
401                    table_to_dbf(self.table, filename)
402                elif type.upper() == 'CSV':
403                    table_to_csv(self.table, filename)
404                else:
405                    dlg = wxMessageDialog(None, "Unsupported format: %s" % type,
406                                          "Table Export", wxOK|wxICON_WARNING)
407                    dlg.ShowModal()
408                    dlg.Destroy()
409            else:
410                dlg.Destroy()
411    
412      def OnClose(self, event):      def OnClose(self, event):
413          TableFrame.OnClose(self, event)          TableFrame.OnClose(self, event)
# Line 419  class LayerTableFrame(QueryTableFrame): Line 432  class LayerTableFrame(QueryTableFrame):
432          self.grid.Subscribe(ROW_SELECTED, self.rows_selected)          self.grid.Subscribe(ROW_SELECTED, self.rows_selected)
433          self.parent.Subscribe(SHAPES_SELECTED, self.select_shapes)          self.parent.Subscribe(SHAPES_SELECTED, self.select_shapes)
434    
435            # if there is already a selection present, update the grid
436            # accordingly
437            sel = self.get_selected().keys()
438            for i in sel:
439                self.grid.SelectRow(i, True)
440    
441      def make_grid(self, table):      def make_grid(self, table):
442          """Override the derived method to return a LayerTableGrid.          """Override the derived method to return a LayerTableGrid.
443          """          """

Legend:
Removed from v.1013  
changed lines
  Added in v.1035

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26