commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9397 - in trunk/gnue-forms/src/uidrivers/qt3: . widgets


From: johannes
Subject: [gnue] r9397 - in trunk/gnue-forms/src/uidrivers/qt3: . widgets
Date: Thu, 22 Feb 2007 04:09:53 -0600 (CST)

Author: johannes
Date: 2007-02-22 04:09:53 -0600 (Thu, 22 Feb 2007)
New Revision: 9397

Modified:
   trunk/gnue-forms/src/uidrivers/qt3/UIdriver.py
   trunk/gnue-forms/src/uidrivers/qt3/widgets/box.py
   trunk/gnue-forms/src/uidrivers/qt3/widgets/button.py
   trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py
   trunk/gnue-forms/src/uidrivers/qt3/widgets/form.py
   trunk/gnue-forms/src/uidrivers/qt3/widgets/page.py
Log:
Use calculated (fixed) sizes for positioned layout


Modified: trunk/gnue-forms/src/uidrivers/qt3/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/UIdriver.py      2007-02-22 08:10:02 UTC 
(rev 9396)
+++ trunk/gnue-forms/src/uidrivers/qt3/UIdriver.py      2007-02-22 10:09:53 UTC 
(rev 9397)
@@ -106,8 +106,10 @@
         else:
             self.__splash = None
 
+        self.__cell_size()
 
 
+
     # -------------------------------------------------------------------------
     # Start the application's main loop
     # -------------------------------------------------------------------------
@@ -185,3 +187,31 @@
             child.main_window.close()
 
         assert gLeave(6)
+
+
+    # -------------------------------------------------------------------------
+    # Get the cell size for positioned layout
+    # -------------------------------------------------------------------------
+
+    def __cell_size(self):
+
+        frame = qt.QMainWindow()
+        result = {}
+
+        lb = qt.QLabel('Sample', frame)
+        tx = qt.QLineEdit(frame)
+        dr = qt.QComboBox(True, frame)
+        result['default'] = (tx.sizeHint().width(), tx.sizeHint().height())
+        result['dropdown'] = (dr.sizeHint().width(), dr.sizeHint().height())
+        result['label'] = (lb.sizeHint().width(), lb.sizeHint().height())
+
+        text = "".join([chr(i) for i in range(48, 127)])
+        self.cell_width = frame.fontMetrics().width(text) / len(text) + 1
+        self.cell_height = max([i[1] for i in result.values()]) + 2
+
+        bt = qt.QPushButton('Sample', frame)
+        mt = qt.QTextEdit(frame)
+        result['button'] = (bt.sizeHint().width(), bt.sizeHint().height())
+        result['multiline'] = (mt.sizeHint().width(), mt.sizeHint().height())
+
+        self.best_sizes = result

Modified: trunk/gnue-forms/src/uidrivers/qt3/widgets/box.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/widgets/box.py   2007-02-22 08:10:02 UTC 
(rev 9396)
+++ trunk/gnue-forms/src/uidrivers/qt3/widgets/box.py   2007-02-22 10:09:53 UTC 
(rev 9397)
@@ -50,6 +50,8 @@
         self._container = qt.QGroupBox(self._gfObject.label, event.container)
         self._container.setInsideMargin(6)
         self.widget = self._container
+        self.widget.setFixedSize(self.chr_w * self._uiDriver.cell_width,
+                self.chr_h * self._uiDriver.cell_height)
 
         self.sizer = qt.QGridLayout(self.chr_h, self.chr_w, 2)
         self._container.layout().addLayout(self.sizer)
@@ -75,7 +77,7 @@
 
         self.sizer.addMultiCellWidget(item, ui_widget.chr_y,
                 ui_widget.chr_y + ui_widget.chr_h - 1, ui_widget.chr_x,
-                ui_widget.chr_x + ui_widget.chr_w - 1)
+                ui_widget.chr_x + ui_widget.chr_w - 1, qt.Qt.AlignLeft)
 
 
 

Modified: trunk/gnue-forms/src/uidrivers/qt3/widgets/button.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/widgets/button.py        2007-02-22 
08:10:02 UTC (rev 9396)
+++ trunk/gnue-forms/src/uidrivers/qt3/widgets/button.py        2007-02-22 
10:09:53 UTC (rev 9397)
@@ -52,6 +52,9 @@
             parent = event.container
 
         self.widget = Button(parent, self)
+        if not self.managed:
+            self.widget.setFixedSize(self.chr_w * self._uiDriver.cell_width,
+                    self.chr_h * self._uiDriver.cell_height)
 
         if self.in_grid:
             self.widget._gnue_label_ = None

Modified: trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py 2007-02-22 08:10:02 UTC 
(rev 9396)
+++ trunk/gnue-forms/src/uidrivers/qt3/widgets/entry.py 2007-02-22 10:09:53 UTC 
(rev 9397)
@@ -60,6 +60,9 @@
         else:
             (self.label, self.widget) = self.__build_default(parent)
 
+        if not self.managed:
+            self.widget.set_default_size()
+
         if self.in_grid:
             self.widget._gnue_label_ = self.label
 
@@ -275,7 +278,21 @@
         self.lookup = self
         self._keypress_ = False
 
+    # -------------------------------------------------------------------------
+    # Set the default size for a widget
+    # -------------------------------------------------------------------------
 
+    def set_default_size(self):
+        """
+        Set the fixed size for this widget
+        """
+        cellw = self.ui_widget._uiDriver.cell_width
+        cellh = self.ui_widget._uiDriver.cell_height
+
+        self.setFixedSize(cellw * self.ui_widget.chr_w, cellh *
+                self.ui_widget.chr_h)
+
+
     # -------------------------------------------------------------------------
     # User-Feedback methods
     # -------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/uidrivers/qt3/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/widgets/form.py  2007-02-22 08:10:02 UTC 
(rev 9396)
+++ trunk/gnue-forms/src/uidrivers/qt3/widgets/form.py  2007-02-22 10:09:53 UTC 
(rev 9397)
@@ -123,12 +123,6 @@
         else:
             self._container = self.main_widget
 
-        fmet = self.main_window.fontMetrics()
-
-        self._uiDriver.cell_height = fmet.height()
-        text = "".join([chr(i) for i in range(48, 127)])
-        self._uiDriver.cell_width = fmet.width(text) / len(text) + 1
-
         return self.main_window
 
 

Modified: trunk/gnue-forms/src/uidrivers/qt3/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt3/widgets/page.py  2007-02-22 08:10:02 UTC 
(rev 9396)
+++ trunk/gnue-forms/src/uidrivers/qt3/widgets/page.py  2007-02-22 10:09:53 UTC 
(rev 9397)
@@ -95,7 +95,7 @@
         else:
             sizer.addMultiCellWidget(item, ui_widget.chr_y, ui_widget.chr_y +
                     ui_widget.chr_h - 1, ui_widget.chr_x, ui_widget.chr_x +
-                    ui_widget.chr_w - 1)
+                    ui_widget.chr_w - 1, qt.Qt.AlignLeft)
     
 # =============================================================================
 # Configuration





reply via email to

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