Procházet zdrojové kódy

wxGUI: add import/link raster/vector data to the main toolbar

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@44792 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa před 14 roky
rodič
revize
d3a64fdba4

+ 1 - 0
gui/wxpython/icons/grass2_icons.py

@@ -68,6 +68,7 @@ IconsGrass2 = {
     "fileLoad"   : 'layer-open.png',
     "fileOpen"   : 'open.png',
     "fileSave"   : 'save.png',
+    "fileImport" : 'layer-import.png',
     "addrast"    : 'layer-raster-add.png',
     "rastmisc"   : 'layer-raster-more.png',
     "addrast3d"  : 'layer-raster3d-add.png',

+ 2 - 1
gui/wxpython/icons/grass_icons.py

@@ -53,9 +53,10 @@ IconsGrass = {
     # layer manager
     "newdisplay" : 'gui-startmon.gif',
     "fileNew"    : 'file-new.gif',
-    "fileLoad"   : 'file-new.gif', # change the icon if possible
+    "fileLoad"   : 'file-new.gif', 
     "fileOpen"   : 'file-open.gif',
     "fileSave"   : 'file-save.gif',
+    "fileImport" : 'file-new.gif',
     "addrast"    : 'element-cell.gif',
     "rastmisc"   : 'module-d.shadedmap.gif',
     "addrast3d"  : 'element-grid3.gif',

+ 8 - 0
gui/wxpython/icons/icon.py

@@ -186,6 +186,14 @@ Icons = {
                                 label=_("Open existing workspace file (Ctrl+O)")),
     "workspaceSave" : MetaIcon (img=Icons["fileSave"],
                                 label=_("Save current workspace to file (Ctrl+S)")),
+    "rastImport" : MetaIcon (img=Icons["fileImport"],
+                             label=_("Import raster data")),
+    "rastLink" : MetaIcon (img=Icons["fileImport"],
+                             label=_("Link external raster data")),
+    "vectImport" : MetaIcon (img=Icons["fileImport"],
+                             label=_("Import vector data")),
+    "vectLink" : MetaIcon (img=Icons["fileImport"],
+                             label=_("Link external vector data")),
     "addrast"    : MetaIcon (img=Icons["addrast"],
                              label=_("Add raster map layer (Ctrl+R)")),
     "rastmisc" : MetaIcon (img=Icons["rastmisc"],

+ 1 - 0
gui/wxpython/icons/silk_icons.py

@@ -71,6 +71,7 @@ IconsSilk = {
     "fileLoad"   : 'page_white_get.png',
     "fileOpen"   : 'folder.png',
     "fileSave"   : 'page_save.png',
+    "fileImport" : 'page_white_get.png',
     "addrast"    : 'image_add.png',
     "rastmisc"   : 'picture_empty.png',
     "addrast3d"  : 'bricks.png',

+ 17 - 12
gui/wxpython/wxgui.py

@@ -516,21 +516,26 @@ class GMFrame(wx.Frame):
         win.Show(True)  
         
     def OnWorkspace(self, event):
-        """!Workspace menu (new, load)"""
+        """!Workspace menu (new, load, import)"""
         point = wx.GetMousePosition()
         menu = wx.Menu()
 
-        # Add items to the menu
-        new = wx.MenuItem(menu, wx.ID_ANY, Icons["workspaceNew"].GetLabel())
-        new.SetBitmap(Icons["workspaceNew"].GetBitmap(self.iconsize))
-        menu.AppendItem(new)
-        self.Bind(wx.EVT_MENU, self.OnWorkspaceNew, new)
-
-        load = wx.MenuItem(menu, wx.ID_ANY, Icons["workspaceLoad"].GetLabel())
-        load.SetBitmap(Icons["workspaceLoad"].GetBitmap(self.iconsize))
-        menu.AppendItem(load)
-        self.Bind(wx.EVT_MENU, self.OnWorkspaceLoad, load)
-
+        for key, handler in (('workspaceNew',  self.OnWorkspaceNew),
+                             ('workspaceLoad', self.OnWorkspaceLoad),
+                             (None, None),
+                             ('rastImport',    self.OnImportGdalLayers),
+                             ('rastLink',      self.OnLinkGdalLayers),
+                             (None, None),
+                             ('vectImport',    self.OnImportOgrLayers),
+                             ('vectLink',      self.OnLinkOgrLayers)):
+            if key is None:
+                menu.AppendSeparator()
+                continue
+            item = wx.MenuItem(menu, wx.ID_ANY, Icons[key].GetLabel())
+            item.SetBitmap(Icons[key].GetBitmap(self.iconsize))
+            menu.AppendItem(item)
+            self.Bind(wx.EVT_MENU, handler, item)
+        
         # create menu
         self.PopupMenu(menu)
         menu.Destroy()