commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8163 - in trunk/gnue-forms/src/uidrivers/wx26: . widgets


From: johannes
Subject: [gnue] r8163 - in trunk/gnue-forms/src/uidrivers/wx26: . widgets
Date: Mon, 13 Feb 2006 01:05:23 -0600 (CST)

Author: johannes
Date: 2006-02-13 01:05:23 -0600 (Mon, 13 Feb 2006)
New Revision: 8163

Modified:
   trunk/gnue-forms/src/uidrivers/wx26/ToolBar.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
Log:
Removed obsolete stuff, fixed handling of sizers, so scrolling will work 
for wxGTK, wxMSW and wxMac.


Modified: trunk/gnue-forms/src/uidrivers/wx26/ToolBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/ToolBar.py      2006-02-12 18:51:16 UTC 
(rev 8162)
+++ trunk/gnue-forms/src/uidrivers/wx26/ToolBar.py      2006-02-13 07:05:23 UTC 
(rev 8163)
@@ -58,7 +58,6 @@
 
     self.toolbar = wx.ToolBar (self.container, -1)
     self.toolbar.SetToolBitmapSize ((24, 24))
-    self.container.GetSizer ().Add (self.toolbar, 0, wx.EXPAND | 
wx.ALIGN_TOP|wx.ALIGN_LEFT)
 
     return self.toolbar
 

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-02-12 18:51:16 UTC 
(rev 8162)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-02-13 07:05:23 UTC 
(rev 8163)
@@ -45,7 +45,6 @@
 
   def __init__ (self, event):
 
-    self._wxPages    = []
     self.statusBar   = None
 
     UIHelper.__init__ (self, event)
@@ -78,14 +77,9 @@
     self.mainWindow.SetIcons (self.__loadIcons ())
     self.mainWindow.Bind (wx.EVT_CLOSE, self.__closeTrap, self.mainWindow)
 
-    frameSizer = wx.BoxSizer (wx.VERTICAL)
-    panelSizer = wx.BoxSizer (wx.VERTICAL)
+    self.__basePanel = wx.Panel (self.mainWindow, -1)
+    self.__baseSizer = wx.BoxSizer (wx.VERTICAL)
 
-    basePanel = wx.Panel (self.mainWindow, -1)
-    basePanel.SetSizer (panelSizer)
-
-    frameSizer.Add (basePanel, 1, wx.EXPAND)
-
     # Add Statusbar, Toolbar and Menubar as requested and/or allowed
     if self._form.style != 'dialog':
       if not self._form._features ['GUI:STATUSBAR:SUPPRESS']:
@@ -97,16 +91,15 @@
         MenuBar (self._uiDriver, self.mainWindow, self._form)
 
       if not self._form._features.get ('GUI:TOOLBAR:SUPPRESS'):
-        tlb = ToolBar (self._uiDriver, basePanel, self._form)
+        tlb = ToolBar (self._uiDriver, self.__basePanel, self._form)
+        self.__baseSizer.Add (tlb.toolbar, 0, wx.EXPAND)
 
     if self._form._layout.tabbed != 'none':
-      wrapper = TabbedWrapper (self, basePanel)
+      wrapper = TabbedWrapper (self, self.__basePanel, self.__baseSizer)
     else:
-      wrapper = BaseWrapper (self, basePanel)
+      wrapper = BaseWrapper (self, self.__basePanel, self.__baseSizer)
 
     self._containerToolkitWidget = wrapper
-    self._sizers = [(self.mainWindow, frameSizer),
-                    (wrapper, wrapper.pageSizer)]
 
     return wrapper
 
@@ -139,18 +132,22 @@
 
   def _updateSizers (self):
 
-    for (window, sizer) in self._sizers:
-      window.SetSizerAndFit (sizer)
+    self._containerToolkitWidget.fitAllSizers ()
 
+    self.__baseSizer.Fit (self.__basePanel)
+    self.__basePanel.SetSizer (self.__baseSizer)
 
+    self.mainWindow.Fit ()
+    self.mainWindow.CenterOnScreen ()
 
+
+
   # ---------------------------------------------------------------------------
   # Show the form/dialog
   # ---------------------------------------------------------------------------
 
   def show (self):
 
-    self.mainWindow.Fit ()
     self.mainWindow.Raise ()
     self.mainWindow.Show ()
 
@@ -161,7 +158,6 @@
 
   def showModal (self):
 
-    self.mainWindow.Fit ()
     self.mainWindow.Raise ()
     self.mainWindow.ShowModal ()
 
@@ -226,20 +222,32 @@
   # Constructor
   # ---------------------------------------------------------------------------
 
-  def __init__ (self, uiForm, wxParent):
+  def __init__ (self, uiForm, parent, sizer):
 
     self._uiForm   = uiForm
     self._uiDriver = uiForm._uiDriver
     self._gfObject = uiForm._gfObject
     self._pages    = []
 
-    wx.ScrolledWindow.__init__ (self, wxParent, wx.ID_ANY)
-    wxParent.GetSizer ().Add (self, 1, wx.EXPAND | wx.ALIGN_LEFT | wx.ALL, 6)
+    wx.ScrolledWindow.__init__ (self, parent, -1)
+    sizer.Add (self, 1, wx.EXPAND)
 
     self.pageSizer     = wx.BoxSizer (wx.VERTICAL)
     self.pageContainer = self._createPageContainer ()
 
-    self.pageSizer.Add (self.pageContainer, 1, wx.EXPAND | wx.ALIGN_LEFT)
+    self.pageSizer.Add (self.pageContainer, 1, wx.EXPAND | wx.ALL, 6)
+
+
+
+  # ---------------------------------------------------------------------------
+  # Make sure to set all sizers and layout them
+  # ---------------------------------------------------------------------------
+
+  def fitAllSizers (self):
+
+    self.pageSizer.Fit (self)
+
+    self.SetScrollRate (self._uiDriver.cellWidth, self._uiDriver.cellHeight)
     self.SetSizer (self.pageSizer)
 
 
@@ -249,7 +257,7 @@
 
   def _createPageContainer (self):
 
-    return wx.Panel (self, wx.ID_ANY)
+    return wx.Panel (self, -1)
 
 
   # ---------------------------------------------------------------------------
@@ -264,27 +272,21 @@
     @param gfPage: GFPage instance to create a page widget for
     """
 
-    basePanel = wx.Panel (self.pageContainer, wx.ID_ANY)
-    pageSizer = wx.BoxSizer (wx.VERTICAL)
+    fw = self._uiDriver._form._layout.Char__width  * self._uiDriver.cellWidth
+    fh = self._uiDriver._form._layout.Char__height * self._uiDriver.cellHeight
 
-    pagePanel = wx.Panel (basePanel, wx.ID_ANY)
+    basePanel = wx.Panel (self.pageContainer, -1, size = (fw, fh))
 
-    fw = self._uiForm._form._layout.Char__width  * self._uiDriver.cellWidth
-    fh = self._uiForm._form._layout.Char__height * self._uiDriver.cellHeight
+    # Since all pages will have the same size, it doesn't matter which page
+    # will be added to the sizer. But only add one page to the sizer !
+    if not self.pageCount:
+      self.pageSizer.Add (basePanel, 1, wx.EXPAND)
 
-    pagePanel.SetSizeHints (fw, fh)
-    pageSizer.Add (pagePanel, 1, wx.EXPAND | wx.ALIGN_LEFT)
-
-    basePanel.SetSizerAndFit (pageSizer)
-
     self._addToContainer (gfPage, basePanel)
 
-    self.SetVirtualSize ((fw, fh))
-    self.SetScrollRate (self._uiDriver.cellWidth, self._uiDriver.cellHeight)
+    return basePanel
 
-    return pagePanel
 
-
   # ---------------------------------------------------------------------------
   # Add a given page widget to the page container
   # ---------------------------------------------------------------------------
@@ -353,10 +355,9 @@
 
   def _createPageContainer (self):
 
-    notebook = wx.Notebook (self, wx.ID_ANY, wx.DefaultPosition,
-        wx.DefaultSize, self._TAB_STYLE [self._uiForm._form._layout.tabbed])
-    notebook.Connect (wx.ID_ANY, wx.ID_ANY,
-        wx.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, self.__changePage)
+    notebook = wx.Notebook (self, -1,
+        style = self._TAB_STYLE [self._uiForm._form._layout.tabbed])
+    notebook.Bind (wx.EVT_NOTEBOOK_PAGE_CHANGING, self.__changePage, notebook)
 
     return notebook
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]