[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9397 - in trunk/gnue-forms/src/uidrivers/qt3: . widgets,
johannes <=