[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9287 - in trunk: gnue-forms/src/uidrivers/wx26/widgets gnue-navi
From: |
reinhard |
Subject: |
[gnue] r9287 - in trunk: gnue-forms/src/uidrivers/wx26/widgets gnue-navigator/src |
Date: |
Fri, 12 Jan 2007 08:41:29 -0600 (CST) |
Author: reinhard
Date: 2007-01-12 08:41:28 -0600 (Fri, 12 Jan 2007)
New Revision: 9287
Modified:
trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
trunk/gnue-navigator/src/UIwx26.py
Log:
First steps towards embedded forms.
Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2007-01-12 14:40:06 UTC
(rev 9286)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2007-01-12 14:41:28 UTC
(rev 9287)
@@ -100,6 +100,9 @@
self.__status_bar = None
self.__master_sizer = None
+ # Is this form embedded?
+ self.__embedded = False
+
# Set to True to block focus events
self.block_focus_events = False
@@ -121,12 +124,18 @@
"""
if self._form.style != 'dialog':
- self.main_window = self._uiDriver._parentContainer
- if not self.main_window:
+ embed = self._uiDriver._parentContainer
+ if embed is not None:
+ self.main_window = embed['frame']
+ self._container = embed['panel']
+ self.__embedded = True
+ else:
self.main_window = wx.Frame(None, -1)
+ self._container = None
else:
self.main_window = wx.Dialog(None, -1,
style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
+ self._container = None
self.main_window.SetTitle(self._form.title)
self.main_window.SetIcons(self.__load_icons())
@@ -136,11 +145,12 @@
# The base panel is needed on wxMSW to get a uniform background of the
# frame.
- base_panel = wx.Panel(self.main_window, -1)
+ if self._container is None:
+ self._container = wx.Panel(self.main_window, -1)
base_sizer = wx.BoxSizer(wx.VERTICAL)
- base_panel.SetSizer(base_sizer)
+ self._container.SetSizer(base_sizer)
- self.__master_sizer.Add(base_panel, 1, wx.EXPAND)
+ self.__master_sizer.Add(self._container, 1, wx.EXPAND)
# Add Statusbar, Toolbar and Menubar as requested and/or allowed
if self._form.style != 'dialog':
@@ -153,19 +163,17 @@
MenuBar(self._uiDriver, self.main_window, self._form)
if not self._form._features.get ('GUI:TOOLBAR:SUPPRESS'):
- tlb = ToolBar(self._uiDriver, base_panel, self._form)
+ tlb = ToolBar(self._uiDriver, self._container, self._form)
base_sizer.Add(tlb.toolbar, 0, wx.EXPAND)
# If the form is using tabs, we need to create a Notebook control as
# page container, otherwise we can just use the base panel
if self._form._layout.tabbed != 'none':
style = self._TAB_STYLE[self._form._layout.tabbed]
- self._container = wx.Notebook(base_panel, -1, style = style)
+ self._container = wx.Notebook(self._container, -1, style = style)
# The border between the edge of the form and the page is 12 pixel
# according to the GNOME Human Interface Guidlines.
base_sizer.Add(self._container, 1, wx.EXPAND | wx.ALL, 12)
- else:
- self._container = base_panel
return self.main_window
@@ -204,8 +212,9 @@
self.__on_page_changed)
self.show_page(0, True)
- self.main_window.SetSizerAndFit(self.__master_sizer)
- self.main_window.CenterOnScreen ()
+ if not self.__embedded:
+ self.main_window.SetSizerAndFit(self.__master_sizer)
+ self.main_window.CenterOnScreen ()
# -------------------------------------------------------------------------
Modified: trunk/gnue-navigator/src/UIwx26.py
===================================================================
--- trunk/gnue-navigator/src/UIwx26.py 2007-01-12 14:40:06 UTC (rev 9286)
+++ trunk/gnue-navigator/src/UIwx26.py 2007-01-12 14:41:28 UTC (rev 9287)
@@ -81,8 +81,9 @@
self.splitter= wx.SplitterWindow(self.frame,-1)
- self.panel1 = wx.Window(self.splitter, -1)
- self.panel2 = wx.Window(self.splitter, -1)
+ self.panel1 = wx.Panel(self.splitter)
+ self.panel2 = wx.Panel(self.splitter)
+ self.form_panel = wx.Panel(self.splitter)
# Panel 1 contents
self.panel1.SetBackgroundColour(wx.WHITE)
@@ -174,11 +175,6 @@
object.run()
- def handleError(self, mesg):
- dlg = wx.MessageDialog(self.frame, "Error: %s!" % mesg, "Error", wx.OK)
- dlg.ShowModal()
- dlg.Destroy()
-
def runForm(self, step, parameters = {}):
# parameters are now part of the step in _params
@@ -201,12 +197,7 @@
def _runForm(self, formfile, parameters):
- try:
#
- # Create the instance
- #
-
- #
# TODO: The next if looks funny because the code above results in
#
# disable splash: 1 <type 'int'>
@@ -214,27 +205,22 @@
#
# And I don't have time to dig ATM
#
- # FIXME: Embedding forms does not work.
- # if gConfigNav('embedForms') == "%s" % True:
- if False:
- instance = GFInstance(self,connections=self.connections,
- ui=ui,disableSplash=1,
- parentContainer=self.panel2)
+ self.splitter.ReplaceWindow(self.panel2, self.form_panel)
+ if gConfigNav('embedForms') == "%s" % True:
+ instance = GFInstance(self,
+ connections=self.connections,
+ ui=ui,
+ disableSplash=1,
+ parentContainer={'frame': self.frame, 'panel':
self.form_panel})
else:
instance = GFInstance(id(self),
- connections=self.connections,
+ connections=self.connections, parentContainer=None,
ui=ui, disableSplash=1)
self._formInstances[id(self)] = instance
instance.run_from_file(formfile, parameters)
- except IOError, mesg:
- self.handleError(_("Unable to open file\n\n %s")%mesg)
- except Exceptions.ConnectionError, mesg:
- self.handleError(\
- _("Error while communicating with datasource.\n\n %s") %mesg)
-
def setTitle(self, title):
self.frame.SetTitle ("GNUe Navigator: %s (form)" % title )
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9287 - in trunk: gnue-forms/src/uidrivers/wx26/widgets gnue-navigator/src,
reinhard <=