Skip to content

Commit

Permalink
wxGUI: layer tree popup menu - export data
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.osgeo.org/grass/grass/trunk@45034 15284696-431f-4ddb-bdfa-cd5b030d7da7
  • Loading branch information
landam committed Jan 14, 2011
1 parent ecd834e commit 63a48bf
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 13 deletions.
43 changes: 32 additions & 11 deletions gui/wxpython/gui_modules/layertree.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,8 @@ def OnLayerContextMenu (self, event):
return

ltype = self.GetPyData(self.layer_selected)[0]['type']

mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']

Debug.msg (4, "LayerTree.OnContextMenu: layertype=%s" % \
ltype)

Expand All @@ -271,15 +272,16 @@ def OnLayerContextMenu (self, event):
self.popupID14 = wx.NewId()
self.popupID15 = wx.NewId()
self.popupID16 = wx.NewId()

self.popupID17 = wx.NewId()

self.popupMenu = wx.Menu()

numSelected = len(self.GetSelections())

# general item
self.popupMenu.Append(self.popupID1, text = _("Remove"))
self.Bind(wx.EVT_MENU, self.lmgr.OnDeleteLayer, id = self.popupID1)

if ltype != "command": # rename
self.popupMenu.Append(self.popupID2, text = _("Rename"))
self.Bind(wx.EVT_MENU, self.OnRenameLayer, id = self.popupID2)
Expand All @@ -304,21 +306,28 @@ def OnLayerContextMenu (self, event):
self.Bind(wx.EVT_MENU, self.mapdisplay.OnZoomToMap, id = self.popupID9)
self.popupMenu.Append(self.popupID10, text = _("Set computational region from selected map(s)"))
self.Bind(wx.EVT_MENU, self.OnSetCompRegFromMap, id = self.popupID10)

if numSelected > 1:
self.popupMenu.Enable(self.popupID8, False)
self.popupMenu.Enable(self.popupID3, False)

# specific items
try:
mltype = self.GetPyData(self.layer_selected)[0]['type']
except:
mltype = None

# vector layers (specific items)
if mltype and mltype == "vector":
self.popupMenu.AppendSeparator()
self.popupMenu.Append(self.popupID17, text = _("Export"))
self.Bind(wx.EVT_MENU, lambda x: self.lmgr.OnMenuCmd(cmd = ['v.out.ogr',
'input=%s' % mapLayer.GetName()]),
id = self.popupID17)

self.popupMenu.AppendSeparator()
self.popupMenu.Append(self.popupID4, text = _("Show attribute data"))
self.Bind (wx.EVT_MENU, self.lmgr.OnShowAttributeTable, id = self.popupID4)
self.Bind(wx.EVT_MENU, self.lmgr.OnShowAttributeTable, id = self.popupID4)

self.popupMenu.Append(self.popupID5, text = _("Start editing"))
self.popupMenu.Append(self.popupID6, text = _("Stop editing"))
Expand Down Expand Up @@ -372,18 +381,27 @@ def OnLayerContextMenu (self, event):
self.popupMenu.Append(self.popupID7, _("Metadata"))
self.Bind (wx.EVT_MENU, self.OnMetadata, id = self.popupID7)
if numSelected > 1:
self.popupMenu.Enable(self.popupID4, False)
self.popupMenu.Enable(self.popupID5, False)
self.popupMenu.Enable(self.popupID6, False)
self.popupMenu.Enable(self.popupID7, False)
self.popupMenu.Enable(self.popupID4, False)
self.popupMenu.Enable(self.popupID5, False)
self.popupMenu.Enable(self.popupID6, False)
self.popupMenu.Enable(self.popupID7, False)
self.popupMenu.Enable(self.popupID14, False)
self.popupMenu.Enable(self.popupID16, False)
self.popupMenu.Enable(self.popupID17, False)

# raster layers (specific items)
elif mltype and mltype == "raster":
self.popupMenu.Append(self.popupID12, text = _("Zoom to selected map(s) (ignore NULLs)"))
self.Bind(wx.EVT_MENU, self.mapdisplay.OnZoomToRaster, id = self.popupID12)
self.popupMenu.Append(self.popupID13, text = _("Set computational region from selected map(s) (ignore NULLs)"))
self.Bind(wx.EVT_MENU, self.OnSetCompRegFromRaster, id = self.popupID13)

self.popupMenu.AppendSeparator()
self.popupMenu.Append(self.popupID17, text = _("Export"))
self.Bind(wx.EVT_MENU, lambda x: self.lmgr.OnMenuCmd(cmd = ['r.out.gdal',
'input=%s' % mapLayer.GetName()]),
id = self.popupID17)

self.popupMenu.AppendSeparator()
self.popupMenu.Append(self.popupID15, _("Set color table"))
self.Bind (wx.EVT_MENU, self.OnColorTable, id = self.popupID15)
Expand All @@ -402,6 +420,9 @@ def OnLayerContextMenu (self, event):
self.popupMenu.Enable(self.popupID5, False)
self.popupMenu.Enable(self.popupID6, False)
self.popupMenu.Enable(self.popupID11, False)
self.popupMenu.Enable(self.popupID17, False)



# self.PopupMenu(self.popupMenu, pos)
self.PopupMenu(self.popupMenu)
Expand Down
4 changes: 2 additions & 2 deletions gui/wxpython/wxgui.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,13 +418,13 @@ def GetMenuCmd(self, event):

return cmdlist

def RunMenuCmd(self, event, cmd = ''):
def RunMenuCmd(self, event = None, cmd = []):
"""!Run command selected from menu"""
if event:
cmd = self.GetMenuCmd(event)
self.goutput.RunCmd(cmd, switchPage = False)

def OnMenuCmd(self, event, cmd = ''):
def OnMenuCmd(self, event = None, cmd = []):
"""!Parse command selected from menu"""
if event:
cmd = self.GetMenuCmd(event)
Expand Down

0 comments on commit 63a48bf

Please sign in to comment.