|
@@ -127,6 +127,7 @@ class GMFrame(wx.Frame):
|
|
# creating widgets
|
|
# creating widgets
|
|
self._createMenuBar()
|
|
self._createMenuBar()
|
|
self.statusbar = self.CreateStatusBar(number=1)
|
|
self.statusbar = self.CreateStatusBar(number=1)
|
|
|
|
+ self.notebookPages = {}
|
|
self.notebook = self._createNoteBook()
|
|
self.notebook = self._createNoteBook()
|
|
self.toolbars = { 'main' : LayerManagerToolbar(parent = self),
|
|
self.toolbars = { 'main' : LayerManagerToolbar(parent = self),
|
|
'tools' : ToolsToolbar(parent = self) }
|
|
'tools' : ToolsToolbar(parent = self) }
|
|
@@ -163,7 +164,7 @@ class GMFrame(wx.Frame):
|
|
|
|
|
|
self._auimgr.Update()
|
|
self._auimgr.Update()
|
|
|
|
|
|
- wx.CallAfter(self.notebook.SetSelection, 0)
|
|
|
|
|
|
+ wx.CallAfter(self.SetNBPage, 'layers')
|
|
|
|
|
|
# use default window layout ?
|
|
# use default window layout ?
|
|
if UserSettings.Get(group = 'general', key = 'defWindowPos', subkey = 'enabled'):
|
|
if UserSettings.Get(group = 'general', key = 'defWindowPos', subkey = 'enabled'):
|
|
@@ -221,7 +222,6 @@ class GMFrame(wx.Frame):
|
|
self.notebook = FN.FlatNotebook(parent = self, id = wx.ID_ANY, agwStyle = globalvar.FNPageDStyle)
|
|
self.notebook = FN.FlatNotebook(parent = self, id = wx.ID_ANY, agwStyle = globalvar.FNPageDStyle)
|
|
else:
|
|
else:
|
|
self.notebook = FN.FlatNotebook(parent = self, id = wx.ID_ANY, style = globalvar.FNPageDStyle)
|
|
self.notebook = FN.FlatNotebook(parent = self, id = wx.ID_ANY, style = globalvar.FNPageDStyle)
|
|
-
|
|
|
|
# create displays notebook widget and add it to main notebook page
|
|
# create displays notebook widget and add it to main notebook page
|
|
cbStyle = globalvar.FNPageStyle
|
|
cbStyle = globalvar.FNPageStyle
|
|
if globalvar.hasAgw:
|
|
if globalvar.hasAgw:
|
|
@@ -230,18 +230,22 @@ class GMFrame(wx.Frame):
|
|
self.gm_cb = FN.FlatNotebook(self, id = wx.ID_ANY, style = cbStyle)
|
|
self.gm_cb = FN.FlatNotebook(self, id = wx.ID_ANY, style = cbStyle)
|
|
self.gm_cb.SetTabAreaColour(globalvar.FNPageColor)
|
|
self.gm_cb.SetTabAreaColour(globalvar.FNPageColor)
|
|
self.notebook.AddPage(self.gm_cb, text = _("Map layers"))
|
|
self.notebook.AddPage(self.gm_cb, text = _("Map layers"))
|
|
|
|
+ self.notebookPages['layers'] = self.gm_cb
|
|
|
|
|
|
# create 'command output' text area
|
|
# create 'command output' text area
|
|
self.goutput = goutput.GMConsole(self, pageid = 1)
|
|
self.goutput = goutput.GMConsole(self, pageid = 1)
|
|
self.notebook.AddPage(self.goutput, text = _("Command console"))
|
|
self.notebook.AddPage(self.goutput, text = _("Command console"))
|
|
|
|
+ self.notebookPages['console'] = self.goutput
|
|
|
|
|
|
# create 'search module' notebook page
|
|
# create 'search module' notebook page
|
|
self.search = MenuTreeWindow(parent = self)
|
|
self.search = MenuTreeWindow(parent = self)
|
|
self.notebook.AddPage(self.search, text = _("Search module"))
|
|
self.notebook.AddPage(self.search, text = _("Search module"))
|
|
|
|
+ self.notebookPages['search'] = self.search
|
|
|
|
|
|
# create 'python shell' notebook page
|
|
# create 'python shell' notebook page
|
|
self.pyshell = PyShellWindow(parent = self)
|
|
self.pyshell = PyShellWindow(parent = self)
|
|
self.notebook.AddPage(self.pyshell, text = _("Python shell"))
|
|
self.notebook.AddPage(self.pyshell, text = _("Python shell"))
|
|
|
|
+ self.notebookPages['pyshell'] = self.pyshell
|
|
|
|
|
|
# bindings
|
|
# bindings
|
|
self.gm_cb.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnCBPageChanged)
|
|
self.gm_cb.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnCBPageChanged)
|
|
@@ -249,20 +253,29 @@ class GMFrame(wx.Frame):
|
|
self.gm_cb.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CLOSING, self.OnCBPageClosed)
|
|
self.gm_cb.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CLOSING, self.OnCBPageClosed)
|
|
|
|
|
|
return self.notebook
|
|
return self.notebook
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ def SetNBPage(self, page):
|
|
|
|
+ """!Set notebook page - 'layers', 'console', 'search', 'pyshell', 'nviz'"""
|
|
|
|
+ self.notebook.SetSelection(self.GetNBPageIndex(page))
|
|
|
|
+
|
|
|
|
+ def GetNBPageIndex(self, page):
|
|
|
|
+ """!Get notebook page index"""
|
|
|
|
+ return self.notebook.GetPageIndex(self.notebookPages[page])
|
|
|
|
+
|
|
def AddNviz(self):
|
|
def AddNviz(self):
|
|
"""!Add nviz notebook page"""
|
|
"""!Add nviz notebook page"""
|
|
self.nviz = nviz_tools.NvizToolWindow(parent = self,
|
|
self.nviz = nviz_tools.NvizToolWindow(parent = self,
|
|
display = self.curr_page.maptree.GetMapDisplay())
|
|
display = self.curr_page.maptree.GetMapDisplay())
|
|
self.notebook.AddPage(self.nviz, text = _("3D view"))
|
|
self.notebook.AddPage(self.nviz, text = _("3D view"))
|
|
- self.notebook.SetSelection(self.notebook.GetPageCount() - 1)
|
|
|
|
|
|
+ self.notebookPages['nviz'] = self.nviz
|
|
|
|
+ self.SetNBPage('nviz')
|
|
|
|
|
|
def RemoveNviz(self):
|
|
def RemoveNviz(self):
|
|
"""!Remove nviz notebook page"""
|
|
"""!Remove nviz notebook page"""
|
|
# print self.notebook.GetPage(1)
|
|
# print self.notebook.GetPage(1)
|
|
- self.notebook.RemovePage(3)
|
|
|
|
|
|
+ self.notebook.RemovePage(self.GetNBPageIndex('nviz'))
|
|
del self.nviz
|
|
del self.nviz
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
|
|
|
|
def WorkspaceChanged(self):
|
|
def WorkspaceChanged(self):
|
|
"""!Update window title"""
|
|
"""!Update window title"""
|
|
@@ -1243,7 +1256,7 @@ class GMFrame(wx.Frame):
|
|
if not self.curr_page:
|
|
if not self.curr_page:
|
|
self.NewDisplay(show = True)
|
|
self.NewDisplay(show = True)
|
|
|
|
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('raster')
|
|
self.curr_page.maptree.AddLayer('raster')
|
|
|
|
|
|
def OnAddRaster3D(self, event):
|
|
def OnAddRaster3D(self, event):
|
|
@@ -1279,7 +1292,7 @@ class GMFrame(wx.Frame):
|
|
if not self.curr_page:
|
|
if not self.curr_page:
|
|
self.NewDisplay(show = True)
|
|
self.NewDisplay(show = True)
|
|
|
|
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('vector')
|
|
self.curr_page.maptree.AddLayer('vector')
|
|
|
|
|
|
def OnAddVectorMisc(self, event):
|
|
def OnAddVectorMisc(self, event):
|
|
@@ -1296,12 +1309,12 @@ class GMFrame(wx.Frame):
|
|
|
|
|
|
def OnAddVectorTheme(self, event):
|
|
def OnAddVectorTheme(self, event):
|
|
"""!Add thematic vector map to the current layer tree"""
|
|
"""!Add thematic vector map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('thememap')
|
|
self.curr_page.maptree.AddLayer('thememap')
|
|
|
|
|
|
def OnAddVectorChart(self, event):
|
|
def OnAddVectorChart(self, event):
|
|
"""!Add chart vector map to the current layer tree"""
|
|
"""!Add chart vector map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('themechart')
|
|
self.curr_page.maptree.AddLayer('themechart')
|
|
|
|
|
|
def OnAddOverlay(self, event):
|
|
def OnAddOverlay(self, event):
|
|
@@ -1322,32 +1335,32 @@ class GMFrame(wx.Frame):
|
|
|
|
|
|
def OnAddRaster3D(self, event):
|
|
def OnAddRaster3D(self, event):
|
|
"""!Add 3D raster map to the current layer tree"""
|
|
"""!Add 3D raster map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('3d-raster')
|
|
self.curr_page.maptree.AddLayer('3d-raster')
|
|
|
|
|
|
def OnAddRasterRGB(self, event):
|
|
def OnAddRasterRGB(self, event):
|
|
"""!Add RGB raster map to the current layer tree"""
|
|
"""!Add RGB raster map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('rgb')
|
|
self.curr_page.maptree.AddLayer('rgb')
|
|
|
|
|
|
def OnAddRasterHIS(self, event):
|
|
def OnAddRasterHIS(self, event):
|
|
"""!Add HIS raster map to the current layer tree"""
|
|
"""!Add HIS raster map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('his')
|
|
self.curr_page.maptree.AddLayer('his')
|
|
|
|
|
|
def OnAddRasterShaded(self, event):
|
|
def OnAddRasterShaded(self, event):
|
|
"""!Add shaded relief raster map to the current layer tree"""
|
|
"""!Add shaded relief raster map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('shaded')
|
|
self.curr_page.maptree.AddLayer('shaded')
|
|
|
|
|
|
def OnAddRasterArrow(self, event):
|
|
def OnAddRasterArrow(self, event):
|
|
"""!Add flow arrows raster map to the current layer tree"""
|
|
"""!Add flow arrows raster map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('rastarrow')
|
|
self.curr_page.maptree.AddLayer('rastarrow')
|
|
|
|
|
|
def OnAddRasterNum(self, event):
|
|
def OnAddRasterNum(self, event):
|
|
"""!Add cell number raster map to the current layer tree"""
|
|
"""!Add cell number raster map to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('rastnum')
|
|
self.curr_page.maptree.AddLayer('rastnum')
|
|
|
|
|
|
def OnAddCommand(self, event):
|
|
def OnAddCommand(self, event):
|
|
@@ -1356,7 +1369,7 @@ class GMFrame(wx.Frame):
|
|
if not self.curr_page:
|
|
if not self.curr_page:
|
|
self.NewDisplay(show = True)
|
|
self.NewDisplay(show = True)
|
|
|
|
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('command')
|
|
self.curr_page.maptree.AddLayer('command')
|
|
|
|
|
|
# show map display
|
|
# show map display
|
|
@@ -1368,7 +1381,7 @@ class GMFrame(wx.Frame):
|
|
if not self.curr_page:
|
|
if not self.curr_page:
|
|
self.NewDisplay(show = True)
|
|
self.NewDisplay(show = True)
|
|
|
|
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('group')
|
|
self.curr_page.maptree.AddLayer('group')
|
|
|
|
|
|
# show map display
|
|
# show map display
|
|
@@ -1376,17 +1389,17 @@ class GMFrame(wx.Frame):
|
|
|
|
|
|
def OnAddGrid(self, event):
|
|
def OnAddGrid(self, event):
|
|
"""!Add grid map layer to the current layer tree"""
|
|
"""!Add grid map layer to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('grid')
|
|
self.curr_page.maptree.AddLayer('grid')
|
|
|
|
|
|
def OnAddGeodesic(self, event):
|
|
def OnAddGeodesic(self, event):
|
|
"""!Add geodesic line map layer to the current layer tree"""
|
|
"""!Add geodesic line map layer to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('geodesic')
|
|
self.curr_page.maptree.AddLayer('geodesic')
|
|
|
|
|
|
def OnAddRhumb(self, event):
|
|
def OnAddRhumb(self, event):
|
|
"""!Add rhumb map layer to the current layer tree"""
|
|
"""!Add rhumb map layer to the current layer tree"""
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('rhumb')
|
|
self.curr_page.maptree.AddLayer('rhumb')
|
|
|
|
|
|
def OnAddLabels(self, event):
|
|
def OnAddLabels(self, event):
|
|
@@ -1395,7 +1408,7 @@ class GMFrame(wx.Frame):
|
|
if not self.curr_page:
|
|
if not self.curr_page:
|
|
self.NewDisplay(show = True)
|
|
self.NewDisplay(show = True)
|
|
|
|
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
self.curr_page.maptree.AddLayer('labels')
|
|
self.curr_page.maptree.AddLayer('labels')
|
|
|
|
|
|
# show map display
|
|
# show map display
|
|
@@ -1448,10 +1461,10 @@ class GMFrame(wx.Frame):
|
|
if event.ControlDown():
|
|
if event.ControlDown():
|
|
if kc == wx.WXK_TAB:
|
|
if kc == wx.WXK_TAB:
|
|
# switch layer list / command output
|
|
# switch layer list / command output
|
|
- if self.notebook.GetSelection() == 0:
|
|
|
|
- self.notebook.SetSelection(1)
|
|
|
|
|
|
+ if self.notebook.GetSelection() == self.GetNBPageIndex('layers'):
|
|
|
|
+ self.SetNBPage('console')
|
|
else:
|
|
else:
|
|
- self.notebook.SetSelection(0)
|
|
|
|
|
|
+ self.SetNBPage('layers')
|
|
|
|
|
|
try:
|
|
try:
|
|
ckc = chr(kc)
|
|
ckc = chr(kc)
|