25 |
ID_LEGEND_CLASSIFY = 4004 |
ID_LEGEND_CLASSIFY = 4004 |
26 |
ID_LEGEND_SHOWLAYER = 4005 |
ID_LEGEND_SHOWLAYER = 4005 |
27 |
ID_LEGEND_HIDELAYER = 4006 |
ID_LEGEND_HIDELAYER = 4006 |
|
ID_LEGEND_DOCK = 4007 |
|
|
ID_LEGEND_UNDOCK = 4008 |
|
28 |
|
|
29 |
BMP_SIZE_W = 30 |
BMP_SIZE_W = 30 |
30 |
BMP_SIZE_H = 15 |
BMP_SIZE_H = 15 |
31 |
|
|
|
#class LegendDialog(NonModalDialog): |
|
|
|
|
|
#def __init__(self, parent, name, panel): |
|
|
#NonModalDialog.__init__(self, parent, name, |
|
|
#_("Legend: %s") % map.Title()) |
|
|
|
|
|
##topBox = wxBoxSizer(wxVERTICAL) |
|
|
|
|
|
#panel = LegendPanel(self, map) |
|
|
|
|
|
#self.panel = panel |
|
|
|
|
|
#topBox.Add(panel, 1, wxGROW, 4) |
|
|
|
|
|
##self.SetAutoLayout(True) |
|
|
##self.SetSizer(topBox) |
|
|
|
|
|
#def GetLegendPanel(self): |
|
|
#return self.panel |
|
|
|
|
|
#def OnClose(self, event): |
|
|
#NonModalDialog.OnClose(self, event) |
|
|
|
|
|
#self.panel.SetMap(None) |
|
|
|
|
32 |
class LegendPanel(DockPanel): |
class LegendPanel(DockPanel): |
33 |
|
|
34 |
def __init__(self, parent, map, mainWindow): |
def __init__(self, parent, map, mainWindow): |
63 |
buttonBox.Add(button, 0, wxGROW | wxLEFT | wxRIGHT, 0) |
buttonBox.Add(button, 0, wxGROW | wxLEFT | wxRIGHT, 0) |
64 |
self.buttons.append(button) |
self.buttons.append(button) |
65 |
|
|
|
# button = wxButton(self, ID_LEGEND_DOCK, _("Dock")) |
|
|
# buttonBox.Add(button, 0, wxGROW | wxLEFT | wxRIGHT, 0) |
|
|
# self.buttons.append(button) |
|
|
|
|
|
# button = wxButton(self, ID_LEGEND_UNDOCK, _("Undock")) |
|
|
# buttonBox.Add(button, 0, wxGROW | wxLEFT | wxRIGHT, 0) |
|
|
# self.buttons.append(button) |
|
|
|
|
|
|
|
66 |
EVT_BUTTON(self, ID_LEGEND_MOVEUP, self._OnMoveUp) |
EVT_BUTTON(self, ID_LEGEND_MOVEUP, self._OnMoveUp) |
67 |
EVT_BUTTON(self, ID_LEGEND_MOVEDOWN, self._OnMoveDown) |
EVT_BUTTON(self, ID_LEGEND_MOVEDOWN, self._OnMoveDown) |
68 |
EVT_BUTTON(self, ID_LEGEND_CLASSIFY, self._OnClassify) |
EVT_BUTTON(self, ID_LEGEND_CLASSIFY, self._OnClassify) |
69 |
EVT_BUTTON(self, ID_LEGEND_SHOWLAYER, self._OnShowLayer) |
EVT_BUTTON(self, ID_LEGEND_SHOWLAYER, self._OnShowLayer) |
70 |
EVT_BUTTON(self, ID_LEGEND_HIDELAYER, self._OnHideLayer) |
EVT_BUTTON(self, ID_LEGEND_HIDELAYER, self._OnHideLayer) |
|
#EVT_BUTTON(self, ID_LEGEND_DOCK, self._OnDock) |
|
|
#EVT_BUTTON(self, ID_LEGEND_UNDOCK, self._OnUndock) |
|
71 |
|
|
72 |
panelBox.Add(buttonBox, 0, 0, 4) |
panelBox.Add(buttonBox, 0, 0, 4) |
73 |
|
|
89 |
def SetMap(self, map): |
def SetMap(self, map): |
90 |
self.tree.SetMap(map) |
self.tree.SetMap(map) |
91 |
|
|
92 |
def DoOnSelChanged(self): |
def DoOnSelChanged(self, layer, group = None): |
93 |
self.__EnableButtons(self.tree.GetSelection().IsOk()) |
sel = self.tree.GetSelection() |
94 |
|
self.__EnableButtons(sel.IsOk()) |
95 |
|
|
96 |
|
if sel.IsOk(): |
97 |
|
self.mainWindow.SelectLayer(layer) |
98 |
|
|
99 |
def _OnClassify(self, event): |
def _OnClassify(self, event): |
100 |
self.tree.DoOnClassify() |
self.tree.DoOnClassify() |
113 |
self.tree.DoOnHideLayer() |
self.tree.DoOnHideLayer() |
114 |
pass |
pass |
115 |
|
|
|
def _OnDock(self, event): |
|
|
self.Dock() |
|
|
|
|
|
def _OnUndock(self, event): |
|
|
self.UnDock() |
|
|
|
|
116 |
def __EnableButtons(self, on): |
def __EnableButtons(self, on): |
117 |
for b in self.buttons: |
for b in self.buttons: |
118 |
b.Enable(on) |
b.Enable(on) |
216 |
def DoOnClassify(self): |
def DoOnClassify(self): |
217 |
id = self.GetSelection() |
id = self.GetSelection() |
218 |
assert(id.IsOk()) |
assert(id.IsOk()) |
|
assert(id.IsOk()) |
|
219 |
|
|
220 |
item = self.GetPyData(id) |
item = self.GetPyData(id) |
221 |
if isinstance(item, ClassGroup): |
if isinstance(item, ClassGroup): |
231 |
self.SortChildren(self.GetRootItem()) |
self.SortChildren(self.GetRootItem()) |
232 |
|
|
233 |
def _OnSelChanged(self, event): |
def _OnSelChanged(self, event): |
234 |
self.parent.DoOnSelChanged() |
id = self.GetSelection() |
235 |
|
assert(id.IsOk()) |
236 |
|
|
237 |
|
group = None |
238 |
|
layer = self.GetPyData(id) |
239 |
|
if isinstance(layer, ClassGroup): |
240 |
|
id = self.GetItemParent(id) |
241 |
|
assert(id.IsOk()) |
242 |
|
group = layer |
243 |
|
layer = self.GetPyData(id) |
244 |
|
|
245 |
|
self.parent.DoOnSelChanged(layer, group) |
246 |
|
|
247 |
def _OnItemActivated(self, event): |
def _OnItemActivated(self, event): |
248 |
self.DoOnClassify() |
self.DoOnClassify() |