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

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

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

revision 1194 by bh, Fri Jun 13 13:02:30 2003 UTC revision 1968 by bh, Fri Nov 21 14:33:27 2003 UTC
# Line 16  from Thuban import _ Line 16  from Thuban import _
16  from dialogs import NonModalDialog  from dialogs import NonModalDialog
17  from controls import RecordListCtrl, RecordGridCtrl  from controls import RecordListCtrl, RecordGridCtrl
18  from messages import SHAPES_SELECTED  from messages import SHAPES_SELECTED
19    import main
20    
21  class IdentifyListCtrl(RecordListCtrl):  class IdentifyListCtrl(RecordListCtrl):
22    
23      def selected_shape(self, layer, shape):      def selected_shape(self, layer, shape):
24          if layer is not None:          if layer is not None:
25              table = layer.table              table = layer.ShapeStore().Table()
26          else:          else:
27              table = None              table = None
28          self.fill_list(table, shape)          self.fill_list(table, shape)
# Line 30  class IdentifyGridCtrl(RecordGridCtrl): Line 31  class IdentifyGridCtrl(RecordGridCtrl):
31    
32      def selected_shape(self, layer, shape):      def selected_shape(self, layer, shape):
33          if layer is not None:          if layer is not None:
34              table = layer.table              table = layer.ShapeStore().Table()
35          else:          else:
36              table = None              table = None
37          self.SetTableRecord(table, shape)          self.SetTableRecord(table, shape)
38    
39  class IdentifyView(NonModalDialog):  class IdentifyView(NonModalDialog):
40    
41        ID_STOP = 100
42    
43      def __init__(self, parent, name):      def __init__(self, parent, name):
44          NonModalDialog.__init__(self, parent, name, _("Identify Shape"))          NonModalDialog.__init__(self, parent, name, _("Identify Shape"))
45          parent.Subscribe(SHAPES_SELECTED, self.selected_shape)          parent.Subscribe(SHAPES_SELECTED, self.selected_shape)
46    
47          top_box = wxBoxSizer(wxVERTICAL)          top_box = wxBoxSizer(wxVERTICAL)
48          #self.list = IdentifyGridCtrl(panel)          if main.options.attribute_editing_enabled:
49          self.list = IdentifyListCtrl(self, -1)              self.list = IdentifyGridCtrl(self)
50            else:
51                self.list = IdentifyListCtrl(self, -1)
52          self.list.SetSize(wxSize(305,200))          self.list.SetSize(wxSize(305,200))
53          top_box.Add(self.list, 1, wxEXPAND|wxALL, 4)          top_box.Add(self.list, 1, wxEXPAND|wxALL, 4)
54    
55          box = wxBoxSizer(wxHORIZONTAL)          box = wxBoxSizer(wxHORIZONTAL)
56          box.Add(wxButton(self, wxID_CLOSE, _("Close")), 0, wxALL, 4)          box.Add(wxButton(self, wxID_CLOSE, _("Close Window")), 0, wxALL, 4)
57            box.Add(wxButton(self, self.ID_STOP, _("Stop Identify Mode")),
58                             0, wxALL, 4)
59          top_box.Add(box, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 4)          top_box.Add(box, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 4)
60    
61          EVT_BUTTON(self, wxID_CLOSE, self.OnClose)          EVT_BUTTON(self, wxID_CLOSE, self.OnClose)
62            EVT_BUTTON(self, self.ID_STOP, self.OnStop)
63    
64          self.SetAutoLayout(True)          self.SetAutoLayout(True)
65          self.SetSizer(top_box)          self.SetSizer(top_box)
# Line 65  class IdentifyView(NonModalDialog): Line 73  class IdentifyView(NonModalDialog):
73          self.parent.Unsubscribe(SHAPES_SELECTED, self.selected_shape)          self.parent.Unsubscribe(SHAPES_SELECTED, self.selected_shape)
74          NonModalDialog.OnClose(self, event)          NonModalDialog.OnClose(self, event)
75    
76        def OnStop(self, event):
77            self.parent.Unsubscribe(SHAPES_SELECTED, self.selected_shape)
78            self.parent.canvas.SelectTool(None)
79            NonModalDialog.OnClose(self, event)
80    
81      def selected_shape(self, layer, shapes):      def selected_shape(self, layer, shapes):
82          """Subscribed to the SHAPES_SELECTED messages.          """Subscribed to the SHAPES_SELECTED messages.
83    
84          If exatly one shape is selected, pass that shape id to the          If exactly one shape is selected, pass that shape id to the
85          list's selected_shape method. Otherwise pass None as the shape          list's selected_shape method. Otherwise pass None as the shape
86          id.          id.
87          """          """

Legend:
Removed from v.1194  
changed lines
  Added in v.1968

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26