[GRASS-SVN] r42101 - in grass/trunk/gui/wxpython: . gui_modules xml

svn_grass at osgeo.org svn_grass at osgeo.org
Tue May 4 04:42:03 EDT 2010


Author: martinl
Date: 2010-05-04 04:42:01 -0400 (Tue, 04 May 2010)
New Revision: 42101

Modified:
   grass/trunk/gui/wxpython/gui_modules/gmodeler.py
   grass/trunk/gui/wxpython/gui_modules/goutput.py
   grass/trunk/gui/wxpython/gui_modules/help.py
   grass/trunk/gui/wxpython/wxgui.py
   grass/trunk/gui/wxpython/xml/menudata.xml
Log:
wxGUI: search module moved as notebook page in Layer Manager


Modified: grass/trunk/gui/wxpython/gui_modules/gmodeler.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/gmodeler.py	2010-05-04 00:32:59 UTC (rev 42100)
+++ grass/trunk/gui/wxpython/gui_modules/gmodeler.py	2010-05-04 08:42:01 UTC (rev 42101)
@@ -900,8 +900,8 @@
                         data.SetValue(p.get('value', ''))
                         continue
                     
-                    data = self.FindData(p.get('value', ''),
-                                         p.get('prompt', ''))
+                    data = self.model.FindData(p.get('value', ''),
+                                              p.get('prompt', ''))
                     if data:
                         if p.get('age', 'old') == 'old':
                             self._addLine(data, layer)

Modified: grass/trunk/gui/wxpython/gui_modules/goutput.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/goutput.py	2010-05-04 00:32:59 UTC (rev 42100)
+++ grass/trunk/gui/wxpython/gui_modules/goutput.py	2010-05-04 08:42:01 UTC (rev 42101)
@@ -142,7 +142,7 @@
                  **kwargs):
         wx.SplitterWindow.__init__(self, parent, id, style = style, *kwargs)
         self.SetName("GMConsole")
-
+        
         self.panelOutput = wx.Panel(parent = self, id = wx.ID_ANY)
         self.panelPrompt = wx.Panel(parent = self, id = wx.ID_ANY)
         
@@ -183,7 +183,7 @@
         self.cmd_output.Bind(wx.EVT_TIMER, self.OnProcessPendingOutputWindowEvents)
         self.Bind(EVT_CMD_RUN, self.OnCmdRun)
         self.Bind(EVT_CMD_DONE, self.OnCmdDone)
-
+        
         #
         # search & command prompt
         #
@@ -205,12 +205,12 @@
         #
         self.cmd_stdout = GMStdout(self)
         self.cmd_stderr = GMStderr(self)
-
+        
         #
         # thread
         #
         self.cmdThread = CmdThread(self, self.requestQ, self.resultQ)
-
+        
         #
         # buttons
         #
@@ -237,7 +237,7 @@
         self.search.Bind(wx.EVT_TEXT,              self.OnSearchModule)
         
         self.__layout()
-
+        
     def __layout(self):
         """!Do layout"""
         OutputSizer = wx.BoxSizer(wx.VERTICAL)
@@ -277,10 +277,10 @@
         
         OutputSizer.Fit(self)
         OutputSizer.SetSizeHints(self)
-
+        
         PromptSizer.Fit(self)
         PromptSizer.SetSizeHints(self)
-
+        
         self.panelOutput.SetSizer(OutputSizer)
         self.panelPrompt.SetSizer(PromptSizer)
         

Modified: grass/trunk/gui/wxpython/gui_modules/help.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/help.py	2010-05-04 00:32:59 UTC (rev 42100)
+++ grass/trunk/gui/wxpython/gui_modules/help.py	2010-05-04 08:42:01 UTC (rev 42101)
@@ -56,20 +56,17 @@
         #        sizer.SetSizeHints(self)
         self.Layout()
 
-class MenuTreeWindow(wx.Frame):
+class MenuTreeWindow(wx.Panel):
     """!Show menu tree"""
-    def __init__(self, parent, id = wx.ID_ANY, title = _("Menu tree window"), **kwargs):
+    def __init__(self, parent, id = wx.ID_ANY, **kwargs):
         self.parent = parent # LayerManager
         
-        wx.Frame.__init__(self, parent = parent, id = id, title = title, **kwargs)
-
-        self.SetIcon(wx.Icon(os.path.join(globalvar.ETCICONDIR, 'grass.ico'), wx.BITMAP_TYPE_ICO))
+        wx.Panel.__init__(self, parent = parent, id = id, **kwargs)
         
-        self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
-        self.dataBox = wx.StaticBox(parent = self.panel, id = wx.ID_ANY,
+        self.dataBox = wx.StaticBox(parent = self, id = wx.ID_ANY,
                                     label=" %s " % _("Menu tree (double-click to run command)"))        
         # tree
-        self.tree = MenuTree(parent = self.panel, data = menudata.ManagerData())
+        self.tree = MenuTree(parent = self, data = menudata.ManagerData())
         self.tree.Load()
         
         self.searchDict = { _('label')    : 'label', # i18n workaround
@@ -77,45 +74,34 @@
                             _('command')  : 'command',
                             _('keywords') : 'keywords' }
         # search
-        self.searchBy = wx.Choice(parent = self.panel, id = wx.ID_ANY,
+        self.searchBy = wx.Choice(parent = self, id = wx.ID_ANY,
                                   choices = [_('label'),
                                              _('help'),
                                              _('command'),
                                              _('keywords')])
         self.searchBy.SetSelection(3)
         
-        self.search = wx.TextCtrl(parent = self.panel, id = wx.ID_ANY,
+        self.search = wx.TextCtrl(parent = self, id = wx.ID_ANY,
                                   value = "", size = (-1, 25),
                                   style = wx.TE_PROCESS_ENTER)
         
-        # statusbar
-        self.statusbar = self.CreateStatusBar(number=1)
-
-        # close on run
-        self.closeOnRun = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
-                                      label = _("Close dialog on run"))
-        self.closeOnRun.SetValue(True)
-        
         # buttons
-        self.btnRun   = wx.Button(self.panel, id = wx.ID_OK, label = _("Run"))
+        self.btnRun   = wx.Button(self, id = wx.ID_OK, label = _("Run"))
         self.btnRun.SetToolTipString(_("Run selected command"))
         self.btnRun.Enable(False)
-        self.btnClose = wx.Button(self.panel, id = wx.ID_CLOSE)
-        self.btnClose.SetToolTipString(_("Close dialog"))
-
+        
         # bindings
-        self.btnClose.Bind(wx.EVT_BUTTON,          self.OnCloseWindow)
         self.btnRun.Bind(wx.EVT_BUTTON,            self.OnRun)
         self.search.Bind(wx.EVT_TEXT_ENTER,        self.OnShowItem)
         self.search.Bind(wx.EVT_TEXT,              self.OnUpdateStatusBar)
         self.tree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnItemActivated)
         self.tree.Bind(wx.EVT_TREE_SEL_CHANGED,    self.OnItemSelected)
-
-        self.__Layout()
-
+        
+        self._layout()
+        
         self.search.SetFocus()
         
-    def __Layout(self):
+    def _layout(self):
         """!Do dialog layout"""
         sizer = wx.BoxSizer(wx.VERTICAL)
         
@@ -126,7 +112,7 @@
         
         # search
         searchSizer = wx.BoxSizer(wx.HORIZONTAL)
-        searchSizer.Add(item = wx.StaticText(parent = self.panel, id = wx.ID_ANY,
+        searchSizer.Add(item = wx.StaticText(parent = self, id = wx.ID_ANY,
                                              label = _("Search:")),
                         proportion = 0,
                         flag = wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
@@ -142,8 +128,6 @@
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         btnSizer.Add(item = self.btnRun, proportion = 0,
                      flag = wx.LEFT | wx.RIGHT, border = 5)
-        btnSizer.Add(item = self.btnClose, proportion = 0,
-                     flag = wx.LEFT | wx.RIGHT, border = 5)
         
         sizer.Add(item = dataSizer, proportion = 1,
                   flag = wx.EXPAND | wx.ALL, border = 5)
@@ -154,15 +138,14 @@
         sizer.Add(item = btnSizer, proportion=0,
                   flag = wx.ALIGN_RIGHT | wx.ALL, border = 5)
         
-        sizer.Add(item = self.closeOnRun, proportion=0,
-                  flag = wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
+        sizer.Fit(self)
+        sizer.SetSizeHints(self)
         
-        self.panel.SetAutoLayout(True)
-        self.panel.SetSizer(sizer)
-        sizer.Fit(self.panel)
+        self.SetSizer(sizer)
         
+        self.Fit()
+        self.SetAutoLayout(True)        
         self.Layout()
-        self.SetSize((530, 370))
         
     def OnCloseWindow(self, event):
         """!Close window"""
@@ -188,9 +171,6 @@
         else:
             eval(handler)(None)
         
-        if self.closeOnRun.IsChecked():
-            self.OnCloseWindow(None)
-        
     def OnItemActivated(self, event):
         """!Item activated (double-click)"""
         item = event.GetItem()
@@ -220,7 +200,7 @@
         else:
             label = data['help']
         
-        self.statusbar.SetStatusText(label, 0)
+        self.parent.SetStatusText(label, 0)
         
     def OnShowItem(self, event):
         """!Highlight first found item in menu tree"""
@@ -260,9 +240,9 @@
         
         nItems = len(self.tree.itemsMarked)
         if event.GetString():
-            self.statusbar.SetStatusText(_("%d items match") % nItems, 0)
+            self.parent.SetStatusText(_("%d items match") % nItems, 0)
         else:
-            self.statusbar.SetStatusText("", 0)
+            self.parent.SetStatusText("", 0)
         
         event.Skip()
         

Modified: grass/trunk/gui/wxpython/wxgui.py
===================================================================
--- grass/trunk/gui/wxpython/wxgui.py	2010-05-04 00:32:59 UTC (rev 42100)
+++ grass/trunk/gui/wxpython/wxgui.py	2010-05-04 08:42:01 UTC (rev 42101)
@@ -131,7 +131,6 @@
         self.dialogs['atm'] = list()
         
         # creating widgets
-        # -> self.notebook, self.goutput, self.outpage
         self.menubar = menu.Menu(parent = self, data = menudata.ManagerData())
         self.SetMenuBar(self.menubar)
         self.menucmd = self.menubar.GetCmd()
@@ -165,9 +164,11 @@
                self.SetSize((w, h))
             except:
                 pass
-
+        
+        self.Layout()
+        self.Centre()
         self.Show()
-
+        
         # load workspace file if requested
         if self.workspaceFile:
             # load given workspace file
@@ -197,41 +198,32 @@
 
     def __createNoteBook(self):
         """!Creates notebook widgets"""
-
-        #create main notebook widget
         nbStyle = FN.FNB_FANCY_TABS | \
             FN.FNB_BOTTOM | \
             FN.FNB_NO_NAV_BUTTONS | \
             FN.FNB_NO_X_BUTTON
         
         self.notebook = FN.FlatNotebook(parent=self, id=wx.ID_ANY, style=nbStyle)
-
-        #self.notebook = wx.aui.AuiNotebook(parent=self, id=wx.ID_ANY, style=wx.aui.AUI_NB_BOTTOM)
-        #self.notebook.SetFont(wx.Font(pointSize=11, family=wx.FONTFAMILY_DEFAULT, style=wx.NORMAL, weight=0))
-
+        
         # create displays notebook widget and add it to main notebook page
         cbStyle = globalvar.FNPageStyle
         self.gm_cb = FN.FlatNotebook(self, id=wx.ID_ANY, style=cbStyle)
         self.gm_cb.SetTabAreaColour(globalvar.FNPageColor)
         self.notebook.AddPage(self.gm_cb, text=_("Map layers for each display"))
-
+        
         # create command output text area and add it to main notebook page
         self.goutput = goutput.GMConsole(self, pageid=1)
         self.outpage = self.notebook.AddPage(self.goutput, text=_("Command console"))
-
+        
+        # create 'search module' notebook page
+        self.search = MenuTreeWindow(parent = self)
+        self.notebook.AddPage(self.search, text = _("Search module"))
+        
         # bindings
         self.gm_cb.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnCBPageChanged)
         self.notebook.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         self.gm_cb.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CLOSING, self.OnCBPageClosed)
-
-        sizer = wx.BoxSizer(wx.VERTICAL)
-        sizer.Add(item=self.goutput, proportion=1,
-                  flag=wx.EXPAND | wx.ALL, border=1)
-        self.SetSizer(sizer)
-#        self.out_sizer.Fit(self.outpage)
-        self.Layout()
-
-        self.Centre()
+        
         return self.notebook
 
     def __createToolBar(self):
@@ -348,7 +340,8 @@
             # remove '(...)'
             self.notebook.SetPageText(page, _("Command console"))
             self.goutput.cmd_prompt.SetSTCFocus(True)
-            
+        self.SetStatusText('', 0)
+        
         event.Skip()
 
     def OnCBPageClosed(self, event):
@@ -517,13 +510,7 @@
                                             lchecked=True,
                                             lopacity=1.0,
                                             lcmd=['d.vect', 'map=%s' % name])
-           
-    def OnMenuTree(self, event):
-        """!Show dialog with menu tree"""
-        dlg = MenuTreeWindow(self)
-        dlg.CentreOnScreen()
-        dlg.Show()
-    
+        
     def OnAboutGRASS(self, event):
         """!Display 'About GRASS' dialog"""
         win = AboutWindow(self)

Modified: grass/trunk/gui/wxpython/xml/menudata.xml
===================================================================
--- grass/trunk/gui/wxpython/xml/menudata.xml	2010-05-04 00:32:59 UTC (rev 42100)
+++ grass/trunk/gui/wxpython/xml/menudata.xml	2010-05-04 08:42:01 UTC (rev 42101)
@@ -3049,12 +3049,6 @@
 	</menuitem>
 	<separator />
 	<menuitem>
-	  <label>Show menu tree</label>
-	  <help>Show menu tree in new window</help>
-          <handler>OnMenuTree</handler>
-	</menuitem>
-	<separator />
-	<menuitem>
 	  <label>About GRASS GIS</label>
 	  <help>About GRASS GIS</help>
 	  <handler>OnAboutGRASS</handler>



More information about the grass-commit mailing list