Changeset 58642


Ignore:
Timestamp:
Jan 8, 2014, 9:23:47 AM (11 years ago)
Author:
martinl
Message:

wxGUI/extension: show manual page (via contextual menu)

Location:
grass/trunk/gui/wxpython
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • grass/trunk/gui/wxpython/lmgr/giface.py

    r58089 r58642  
    1515@author Vaclav Petras <wenzeslaus gmail.com>
    1616"""
     17
     18import os
    1719
    1820from grass.pydispatch.signal import Signal
     
    145147        self.lmgr._gconsole.RunCmd(*args, **kwargs)
    146148
    147     def Help(self, entry):
     149    def Help(self, entry, online=False):
    148150        cmdlist = ['g.manual', 'entry=%s' % entry]
     151        if online:
     152            cmdlist.append('-o')
    149153        self.RunCmd(cmdlist, compReg = False, notification=Notification.NO_NOTIFICATION)
    150154
  • grass/trunk/gui/wxpython/modules/extensions.py

    r57219 r58642  
    1010 - extensions::CheckListExtension
    1111
    12 (C) 2008-2013 by the GRASS Development Team
     12(C) 2008-2014 by the GRASS Development Team
    1313
    1414This program is free software under the GNU General Public License
     
    4141        self._giface = giface
    4242        self.options = dict() # list of options
    43        
     43
    4444        wx.Frame.__init__(self, parent = parent, id = id, title = title, **kwargs)
    4545        self.SetIcon(wx.Icon(os.path.join(globalvar.ETCICONDIR, 'grass.ico'), wx.BITMAP_TYPE_ICO))
     
    110110        self.tree.selectionChanged.connect(self.OnItemSelected)
    111111        self.tree.itemActivated.connect(self.OnItemActivated)
     112        self.tree.contextMenu.connect(self.OnContextMenu)
    112113
    113114        wx.CallAfter(self._fetch)
     
    198199        wx.EndBusyCursor()
    199200
     201    def OnContextMenu(self, node):
     202        if not hasattr (self, "popupID"):
     203            self.popupID = dict()
     204            for key in ('install', 'help'):
     205                self.popupID[key] = wx.NewId()
     206       
     207        data = node.data
     208        if data and 'command' in data:
     209            self.popupMenu = wx.Menu()
     210            self.popupMenu.Append(self.popupID['install'], text = _("Install"))
     211            self.Bind(wx.EVT_MENU, self.OnInstall, id = self.popupID['install'])
     212            self.popupMenu.AppendSeparator()
     213            self.popupMenu.Append(self.popupID['help'], text = _("Show manual page"))
     214            self.Bind(wx.EVT_MENU, self.OnItemHelp, id = self.popupID['help'])
     215           
     216            self.PopupMenu(self.popupMenu)
     217            self.popupMenu.Destroy()
     218
    200219    def OnItemActivated(self, node):
    201220        data = node.data
     
    217236            globalvar.UpdateGRASSAddOnCommands()
    218237            toolboxesOutdated()
     238
     239    def OnItemHelp(self, event):
     240        item = self.tree.GetSelected()
     241        if not item or 'command' not in item[0].data:
     242            return
     243       
     244        self._giface.Help(entry=item[0].data['command'], online=True)
    219245
    220246    def OnHelp(self, event):
     
    230256            self.SetStatusText(data.get('description', ''), 0)
    231257            self.btnInstall.Enable(True)
    232 
    233258
    234259class ExtensionTreeModelBuilder:
Note: See TracChangeset for help on using the changeset viewer.