/[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 535 by bh, Fri Mar 14 20:42:18 2003 UTC revision 1950 by bh, Fri Nov 14 16:39:36 2003 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH
2  # Authors:  # Authors:
3  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
4    # Frank Koormann <[email protected]>
5  #  #
6  # This program is free software under the GPL (>=v2)  # This program is free software under the GPL (>=v2)
7  # Read the file COPYING coming with Thuban for details.  # Read the file COPYING coming with Thuban for details.
# Line 20  class IdentifyListCtrl(RecordListCtrl): Line 21  class IdentifyListCtrl(RecordListCtrl):
21    
22      def selected_shape(self, layer, shape):      def selected_shape(self, layer, shape):
23          if layer is not None:          if layer is not None:
24              table = layer.shapetable              table = layer.ShapeStore().Table()
25          else:          else:
26              table = None              table = None
27          self.fill_list(table, shape)          self.fill_list(table, shape)
# Line 29  class IdentifyGridCtrl(RecordGridCtrl): Line 30  class IdentifyGridCtrl(RecordGridCtrl):
30    
31      def selected_shape(self, layer, shape):      def selected_shape(self, layer, shape):
32          if layer is not None:          if layer is not None:
33              table = layer.shapetable              table = layer.ShapeStore().Table()
34          else:          else:
35              table = None              table = None
36          self.SetTableRecord(table, shape)          self.SetTableRecord(table, shape)
37    
38  class IdentifyView(NonModalDialog):  class IdentifyView(NonModalDialog):
39    
40        ID_STOP = 100
41    
42      def __init__(self, parent, name):      def __init__(self, parent, name):
43          NonModalDialog.__init__(self, parent, name, _("Identify Shape"))          NonModalDialog.__init__(self, parent, name, _("Identify Shape"))
44          parent.Subscribe(SHAPES_SELECTED, self.selected_shape)          parent.Subscribe(SHAPES_SELECTED, self.selected_shape)
45    
46          panel = wxPanel(self, -1, style = wxWANTS_CHARS)          top_box = wxBoxSizer(wxVERTICAL)
47          #self.list = IdentifyListCtrl(panel, -1)          #self.list = IdentifyGridCtrl(panel)
48          self.list = IdentifyGridCtrl(panel)          self.list = IdentifyListCtrl(self, -1)
49            self.list.SetSize(wxSize(305,200))
50          sizer = wxBoxSizer(wxVERTICAL)          top_box.Add(self.list, 1, wxEXPAND|wxALL, 4)
51          sizer.Add(self.list, 1, wx.wxEXPAND| wx.wxALL, 0)  
52            box = wxBoxSizer(wxHORIZONTAL)
53          self.SetSize(wxSize(300,200))          box.Add(wxButton(self, wxID_CLOSE, _("Close Window")), 0, wxALL, 4)
54          panel.SetAutoLayout(true)          box.Add(wxButton(self, self.ID_STOP, _("Stop Identify Mode")),
55          panel.SetSizer(sizer)                           0, wxALL, 4)
56          sizer.Fit(panel)          top_box.Add(box, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 4)
57    
58            EVT_BUTTON(self, wxID_CLOSE, self.OnClose)
59            EVT_BUTTON(self, self.ID_STOP, self.OnStop)
60    
61            self.SetAutoLayout(True)
62            self.SetSizer(top_box)
63            top_box.Fit(self)
64            top_box.SetSizeHints(self)
65    
66            # Make sure to reflect the current selection.
67            self.selected_shape(parent.SelectedLayer(), parent.SelectedShapes())
68    
69      def OnClose(self, event):      def OnClose(self, event):
70          self.parent.Unsubscribe(SHAPES_SELECTED, self.selected_shape)          self.parent.Unsubscribe(SHAPES_SELECTED, self.selected_shape)
71          NonModalDialog.OnClose(self, event)          NonModalDialog.OnClose(self, event)
72    
73        def OnStop(self, event):
74            self.parent.Unsubscribe(SHAPES_SELECTED, self.selected_shape)
75            self.parent.canvas.SelectTool(None)
76            NonModalDialog.OnClose(self, event)
77    
78      def selected_shape(self, layer, shapes):      def selected_shape(self, layer, shapes):
79          """Subscribed to the SHAPES_SELECTED messages.          """Subscribed to the SHAPES_SELECTED messages.
80    
81          If exatly one shape is selected, pass that shape id to the          If exactly one shape is selected, pass that shape id to the
82          list's selected_shape method. Otherwise pass None as the shape          list's selected_shape method. Otherwise pass None as the shape
83          id.          id.
84          """          """

Legend:
Removed from v.535  
changed lines
  Added in v.1950

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26