|
@@ -51,7 +51,10 @@ class SwipeMapFrame(DoubleMapFrame):
|
|
#
|
|
#
|
|
# Add toolbars
|
|
# Add toolbars
|
|
#
|
|
#
|
|
- self.AddToolbars()
|
|
|
|
|
|
+ for name in ("swipeMain", "swipeMap", "swipeMisc"):
|
|
|
|
+ self.AddToolbar(name)
|
|
|
|
+ self._mgr.Update()
|
|
|
|
+
|
|
self._giface = giface
|
|
self._giface = giface
|
|
#
|
|
#
|
|
# create widgets
|
|
# create widgets
|
|
@@ -90,6 +93,21 @@ class SwipeMapFrame(DoubleMapFrame):
|
|
|
|
|
|
self._mode = "swipe"
|
|
self._mode = "swipe"
|
|
|
|
|
|
|
|
+ # statusbar items
|
|
|
|
+ statusbarItems = [
|
|
|
|
+ sb.SbCoordinates,
|
|
|
|
+ sb.SbRegionExtent,
|
|
|
|
+ sb.SbCompRegionExtent,
|
|
|
|
+ sb.SbShowRegion,
|
|
|
|
+ sb.SbAlignExtent,
|
|
|
|
+ sb.SbResolution,
|
|
|
|
+ sb.SbDisplayGeometry,
|
|
|
|
+ sb.SbMapScale,
|
|
|
|
+ sb.SbGoTo,
|
|
|
|
+ sb.SbProjection,
|
|
|
|
+ ]
|
|
|
|
+ self.statusbar = self.CreateStatusbar(statusbarItems)
|
|
|
|
+
|
|
self._addPanes()
|
|
self._addPanes()
|
|
self._bindWindowsActivation()
|
|
self._bindWindowsActivation()
|
|
self._setUpMapWindow(self.firstMapWindow)
|
|
self._setUpMapWindow(self.firstMapWindow)
|
|
@@ -99,8 +117,6 @@ class SwipeMapFrame(DoubleMapFrame):
|
|
self._mgr.GetPane("sliderH").Show()
|
|
self._mgr.GetPane("sliderH").Show()
|
|
self.slider = self.sliderH
|
|
self.slider = self.sliderH
|
|
|
|
|
|
- self.InitStatusbar()
|
|
|
|
-
|
|
|
|
self.Bind(wx.EVT_SIZE, self.OnSize)
|
|
self.Bind(wx.EVT_SIZE, self.OnSize)
|
|
self.Bind(wx.EVT_IDLE, self.OnIdle)
|
|
self.Bind(wx.EVT_IDLE, self.OnIdle)
|
|
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
|
|
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
|
|
@@ -159,40 +175,6 @@ class SwipeMapFrame(DoubleMapFrame):
|
|
if not (self.rasters["first"] and self.rasters["second"]):
|
|
if not (self.rasters["first"] and self.rasters["second"]):
|
|
self.OnSelectLayers(event=None)
|
|
self.OnSelectLayers(event=None)
|
|
|
|
|
|
- def InitStatusbar(self):
|
|
|
|
- """Init statusbar (default items)."""
|
|
|
|
- # items for choice
|
|
|
|
- self.statusbarItems = [
|
|
|
|
- sb.SbCoordinates,
|
|
|
|
- sb.SbRegionExtent,
|
|
|
|
- sb.SbCompRegionExtent,
|
|
|
|
- sb.SbShowRegion,
|
|
|
|
- sb.SbAlignExtent,
|
|
|
|
- sb.SbResolution,
|
|
|
|
- sb.SbDisplayGeometry,
|
|
|
|
- sb.SbMapScale,
|
|
|
|
- sb.SbGoTo,
|
|
|
|
- sb.SbProjection,
|
|
|
|
- ]
|
|
|
|
-
|
|
|
|
- # create statusbar and its manager
|
|
|
|
- statusbar = self.CreateStatusBar(number=4, style=0)
|
|
|
|
- statusbar.SetMinHeight(24)
|
|
|
|
- statusbar.SetStatusWidths([-5, -2, -1, -1])
|
|
|
|
- self.statusbarManager = sb.SbManager(mapframe=self, statusbar=statusbar)
|
|
|
|
-
|
|
|
|
- # fill statusbar manager
|
|
|
|
- self.statusbarManager.AddStatusbarItemsByClass(
|
|
|
|
- self.statusbarItems, mapframe=self, statusbar=statusbar
|
|
|
|
- )
|
|
|
|
- self.statusbarManager.AddStatusbarItem(
|
|
|
|
- sb.SbMask(self, statusbar=statusbar, position=2)
|
|
|
|
- )
|
|
|
|
- sbRender = sb.SbRender(self, statusbar=statusbar, position=3)
|
|
|
|
- self.statusbarManager.AddStatusbarItem(sbRender)
|
|
|
|
-
|
|
|
|
- self.statusbarManager.Update()
|
|
|
|
-
|
|
|
|
def ResetSlider(self):
|
|
def ResetSlider(self):
|
|
if self.splitter.GetSplitMode() == wx.SPLIT_VERTICAL:
|
|
if self.splitter.GetSplitMode() == wx.SPLIT_VERTICAL:
|
|
size = self.splitter.GetSize()[0]
|
|
size = self.splitter.GetSize()[0]
|
|
@@ -267,75 +249,83 @@ class SwipeMapFrame(DoubleMapFrame):
|
|
style ^= wx.SP_LIVE_UPDATE
|
|
style ^= wx.SP_LIVE_UPDATE
|
|
self.splitter.SetWindowStyle(style)
|
|
self.splitter.SetWindowStyle(style)
|
|
|
|
|
|
- def AddToolbars(self):
|
|
|
|
|
|
+ def AddToolbar(self, name):
|
|
"""Add defined toolbar to the window
|
|
"""Add defined toolbar to the window
|
|
|
|
|
|
Currently known toolbars are:
|
|
Currently known toolbars are:
|
|
- - 'swipeMap' - basic map toolbar
|
|
|
|
- 'swipeMain' - swipe functionality
|
|
- 'swipeMain' - swipe functionality
|
|
|
|
+ - 'swipeMap' - basic map toolbar
|
|
- 'swipeMisc' - misc (settings, help)
|
|
- 'swipeMisc' - misc (settings, help)
|
|
"""
|
|
"""
|
|
- self.toolbars["swipeMap"] = SwipeMapToolbar(self, self._toolSwitcher)
|
|
|
|
- self._mgr.AddPane(
|
|
|
|
- self.toolbars["swipeMap"],
|
|
|
|
- wx.aui.AuiPaneInfo()
|
|
|
|
- .Name("swipeMap")
|
|
|
|
- .Caption(_("Map Toolbar"))
|
|
|
|
- .ToolbarPane()
|
|
|
|
- .Top()
|
|
|
|
- .LeftDockable(False)
|
|
|
|
- .RightDockable(False)
|
|
|
|
- .BottomDockable(False)
|
|
|
|
- .TopDockable(True)
|
|
|
|
- .CloseButton(False)
|
|
|
|
- .Layer(2)
|
|
|
|
- .Row(1)
|
|
|
|
- .Position(1)
|
|
|
|
- .BestSize((self.toolbars["swipeMap"].GetBestSize())),
|
|
|
|
- )
|
|
|
|
|
|
|
|
- self.toolbars["swipeMain"] = SwipeMainToolbar(self)
|
|
|
|
-
|
|
|
|
- self._mgr.AddPane(
|
|
|
|
- self.toolbars["swipeMain"],
|
|
|
|
- wx.aui.AuiPaneInfo()
|
|
|
|
- .Name("swipeMain")
|
|
|
|
- .Caption(_("Main Toolbar"))
|
|
|
|
- .ToolbarPane()
|
|
|
|
- .Top()
|
|
|
|
- .LeftDockable(False)
|
|
|
|
- .RightDockable(False)
|
|
|
|
- .BottomDockable(False)
|
|
|
|
- .TopDockable(True)
|
|
|
|
- .CloseButton(False)
|
|
|
|
- .Layer(2)
|
|
|
|
- .Row(1)
|
|
|
|
- .Position(0)
|
|
|
|
- .BestSize((self.toolbars["swipeMain"].GetBestSize())),
|
|
|
|
- )
|
|
|
|
|
|
+ if name == "swipeMain":
|
|
|
|
+ if "swipeMain" not in self.toolbars:
|
|
|
|
+ self.toolbars["swipeMain"] = SwipeMainToolbar(self)
|
|
|
|
+
|
|
|
|
+ self._mgr.AddPane(
|
|
|
|
+ self.toolbars["swipeMain"],
|
|
|
|
+ wx.aui.AuiPaneInfo()
|
|
|
|
+ .Name("swipeMain")
|
|
|
|
+ .Caption(_("Main Toolbar"))
|
|
|
|
+ .ToolbarPane()
|
|
|
|
+ .Top()
|
|
|
|
+ .LeftDockable(False)
|
|
|
|
+ .RightDockable(False)
|
|
|
|
+ .BottomDockable(False)
|
|
|
|
+ .TopDockable(True)
|
|
|
|
+ .CloseButton(False)
|
|
|
|
+ .Layer(2)
|
|
|
|
+ .Row(1)
|
|
|
|
+ .Position(0)
|
|
|
|
+ .BestSize((self.toolbars["swipeMain"].GetBestSize())),
|
|
|
|
+ )
|
|
|
|
|
|
- self.toolbars["swipeMisc"] = SwipeMiscToolbar(self)
|
|
|
|
|
|
+ if name == "swipeMap":
|
|
|
|
+ if "swipeMap" not in self.toolbars:
|
|
|
|
+ self.toolbars["swipeMap"] = SwipeMapToolbar(self, self._toolSwitcher)
|
|
|
|
+
|
|
|
|
+ self._mgr.AddPane(
|
|
|
|
+ self.toolbars["swipeMap"],
|
|
|
|
+ wx.aui.AuiPaneInfo()
|
|
|
|
+ .Name("swipeMap")
|
|
|
|
+ .Caption(_("Map Toolbar"))
|
|
|
|
+ .ToolbarPane()
|
|
|
|
+ .Top()
|
|
|
|
+ .LeftDockable(False)
|
|
|
|
+ .RightDockable(False)
|
|
|
|
+ .BottomDockable(False)
|
|
|
|
+ .TopDockable(True)
|
|
|
|
+ .CloseButton(False)
|
|
|
|
+ .Layer(2)
|
|
|
|
+ .Row(1)
|
|
|
|
+ .Position(1)
|
|
|
|
+ .BestSize((self.toolbars["swipeMap"].GetBestSize())),
|
|
|
|
+ )
|
|
|
|
|
|
- self._mgr.AddPane(
|
|
|
|
- self.toolbars["swipeMisc"],
|
|
|
|
- wx.aui.AuiPaneInfo()
|
|
|
|
- .Name("swipeMisc")
|
|
|
|
- .Caption(_("Misc Toolbar"))
|
|
|
|
- .ToolbarPane()
|
|
|
|
- .Top()
|
|
|
|
- .LeftDockable(False)
|
|
|
|
- .RightDockable(False)
|
|
|
|
- .BottomDockable(False)
|
|
|
|
- .TopDockable(True)
|
|
|
|
- .CloseButton(False)
|
|
|
|
- .Layer(2)
|
|
|
|
- .Row(1)
|
|
|
|
- .Position(2)
|
|
|
|
- .BestSize((self.toolbars["swipeMisc"].GetBestSize())),
|
|
|
|
- )
|
|
|
|
|
|
+ if name == "swipeMisc":
|
|
|
|
+ if "swipeMisc" not in self.toolbars:
|
|
|
|
+ self.toolbars["swipeMisc"] = SwipeMiscToolbar(self)
|
|
|
|
+
|
|
|
|
+ self._mgr.AddPane(
|
|
|
|
+ self.toolbars["swipeMisc"],
|
|
|
|
+ wx.aui.AuiPaneInfo()
|
|
|
|
+ .Name("swipeMisc")
|
|
|
|
+ .Caption(_("Misc Toolbar"))
|
|
|
|
+ .ToolbarPane()
|
|
|
|
+ .Top()
|
|
|
|
+ .LeftDockable(False)
|
|
|
|
+ .RightDockable(False)
|
|
|
|
+ .BottomDockable(False)
|
|
|
|
+ .TopDockable(True)
|
|
|
|
+ .CloseButton(False)
|
|
|
|
+ .Layer(2)
|
|
|
|
+ .Row(1)
|
|
|
|
+ .Position(2)
|
|
|
|
+ .BestSize((self.toolbars["swipeMisc"].GetBestSize())),
|
|
|
|
+ )
|
|
|
|
|
|
def _addPanes(self):
|
|
def _addPanes(self):
|
|
- """Add splitter window and sliders to aui manager"""
|
|
|
|
|
|
+ """Add splitter window, sliders and statusbar to aui manager"""
|
|
# splitter window
|
|
# splitter window
|
|
self._mgr.AddPane(
|
|
self._mgr.AddPane(
|
|
self.splitter,
|
|
self.splitter,
|
|
@@ -388,6 +378,9 @@ class SwipeMapFrame(DoubleMapFrame):
|
|
.BestSize((self.sliderV.GetBestSize())),
|
|
.BestSize((self.sliderV.GetBestSize())),
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+ # statusbar
|
|
|
|
+ self.AddStatusbarPane()
|
|
|
|
+
|
|
def ZoomToMap(self):
|
|
def ZoomToMap(self):
|
|
"""
|
|
"""
|
|
Set display extents to match selected raster (including NULLs)
|
|
Set display extents to match selected raster (including NULLs)
|