commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9331 - in trunk/gnue-forms/src/uidrivers/qt4: . widgets


From: jcater
Subject: [gnue] r9331 - in trunk/gnue-forms/src/uidrivers/qt4: . widgets
Date: Fri, 26 Jan 2007 02:01:56 -0600 (CST)

Author: jcater
Date: 2007-01-26 02:01:55 -0600 (Fri, 26 Jan 2007)
New Revision: 9331

Modified:
   trunk/gnue-forms/src/uidrivers/qt4/MenuBar.py
   trunk/gnue-forms/src/uidrivers/qt4/QTApp.py
   trunk/gnue-forms/src/uidrivers/qt4/ToolBar.py
   trunk/gnue-forms/src/uidrivers/qt4/UILoginHandler.py
   trunk/gnue-forms/src/uidrivers/qt4/UIdriver.py
   trunk/gnue-forms/src/uidrivers/qt4/dialogs.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/_base.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/box.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/button.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/entry.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/form.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/grid.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/gridline.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/hbox.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/image.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/label.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/page.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/scrollbar.py
   trunk/gnue-forms/src/uidrivers/qt4/widgets/vbox.py
Log:
change from qt API to PyQt4 API

Modified: trunk/gnue-forms/src/uidrivers/qt4/MenuBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/MenuBar.py       2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/MenuBar.py       2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -1,4 +1,4 @@
-# GNU Enterprise Forms - QT3 UI driver - MenuBar
+# GNU Enterprise Forms - qt4 UI driver - MenuBar
 #
 # Copyright 2001-2007 Free Software Foundation
 #
@@ -24,13 +24,13 @@
 Menu bar
 """
 
-import qt
+from PyQt4 import Qt as qt
 from gnue.forms.uidrivers._commonGuiToolkit import MenuBar as _Base
 
 _ICON_CACHE = {}
 
 # =============================================================================
-# Implementation of the menu bar for qt3
+# Implementation of the menu bar for qt4
 # =============================================================================
 
 class MenuBar(_Base.MenuBar):
@@ -41,7 +41,7 @@
 
     def init(self):
         self.menubar = self.container.menuBar()
-        self.__idmap = {}
+        self.__actions = []
         return self.menubar
 
     # -------------------------------------------------------------------------
@@ -50,7 +50,7 @@
 
     def addMenu(self, name, parent):
         """
-        Add antoher menu to the given parent menu or menubar
+        Add another menu to the given parent menu or menubar
 
         @param name: name of the menu
         @param parent: parent menu or menubar to append the new menu to
@@ -58,10 +58,10 @@
         @result: newly created menu
         """
 
-        menu = qt.QPopupMenu(parent)
-        parent.insertItem(name, menu)
-        qt.QObject.connect(menu, qt.SIGNAL('activated(int)'),
-                self.__item_selected)
+        menu = qt.QMenu(name, parent)
+        parent.addMenu(menu)
+#        qt.QObject.connect(menu, qt.SIGNAL('activated(int)'),
+#                self.__item_selected)
         return menu
 
 
@@ -86,27 +86,31 @@
         # Set the action icon if available
         if iconloc:
             icon = _ICON_CACHE.setdefault(iconloc,
-                                          qt.QIconSet(qt.QPixmap(iconloc)))
-            mid = parent.insertItem(icon, label)
+                                          qt.QIcon(qt.QPixmap(iconloc)))
+            mid = parent.addAction(icon, label)
         else:
-            mid = parent.insertItem(label)
-
+            mid = parent.addAction(label)
+            
         hotkey = userAction.getHotKeyText({'PAGEDOWN': 'PgDown'})
         if hotkey:
-            parent.setAccel(qt.QKeySequence(hotkey), mid)
+            mid.setShortcut(qt.QKeySequence(hotkey))
 
-        parent.setWhatsThis(mid, userAction.description or '')
+        mid.setWhatsThis(userAction.description or '')
 
-        self.__idmap[mid] = userAction
+        handler = event_proxy(self._fire, userAction)
+        # We're keeping a list of actions so GC won't delete them
+        self.__actions.append(handler)
+        
+        qt.QObject.connect(mid, qt.SIGNAL('triggered()'),
+                           handler)
 
         return (parent, mid)
 
     # -------------------------------------------------------------------------
     # Add a separator
     # -------------------------------------------------------------------------
-
     def addSeparator(self, parent):
-        parent.insertSeparator()
+        parent.addSeparator()
 
 
     # -------------------------------------------------------------------------
@@ -115,7 +119,7 @@
 
     def enableItem(self, item):
         parent, mid = item
-        parent.setItemEnabled(mid, True)
+        mid.setEnabled(True)
 
 
     # -------------------------------------------------------------------------
@@ -124,13 +128,14 @@
 
     def disableItem(self, item):
         parent, mid = item
-        parent.setItemEnabled(mid, False)
+        mid.setEnabled(False)
 
 
-    # -------------------------------------------------------------------------
-    # A menu item was selected
-    # -------------------------------------------------------------------------
-
-    def __item_selected(self, itemid):
-
-        self._fire(self.__idmap[itemid])
+class event_proxy(object):
+    def __init__(self, method, arg):
+        self.method = method
+        self.arg = arg
+        
+    def __call__(self): 
+        print "foo"
+        self.method(self.arg)    

Modified: trunk/gnue-forms/src/uidrivers/qt4/QTApp.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/QTApp.py 2007-01-26 08:00:24 UTC (rev 
9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/QTApp.py 2007-01-26 08:01:55 UTC (rev 
9331)
@@ -1,4 +1,4 @@
-# GNU Enterprise Forms - QT 3 UI driver - Application object
+# GNU Enterprise Forms - QT 4 UI driver - Application object
 #
 # Copyright 2001-2007 Free Software Foundation
 #
@@ -22,7 +22,7 @@
 # $Id$
 
 import sys
-import qt
+from PyQt4 import Qt as qt
 
 from gnue.common.apps import GDebug
 
@@ -77,4 +77,4 @@
 
         if not self.__started:
             self.__started = True
-            self.exec_loop()
+            self.exec_()

Modified: trunk/gnue-forms/src/uidrivers/qt4/ToolBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/ToolBar.py       2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/ToolBar.py       2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -1,4 +1,4 @@
-# GNU Enterprise Forms - QT3 UI driver - ToolBar
+# GNU Enterprise Forms - qt4 UI driver - ToolBar
 #
 # Copyright 2001-2007 Free Software Foundation
 #
@@ -21,7 +21,7 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
 from gnue.forms.uidrivers._commonGuiToolkit import ToolBar as _Base
 
@@ -35,7 +35,7 @@
 
 class ToolBar(_Base.ToolBar):
     """
-    Implementation of the QT3 tool bar
+    Implementation of the qt4 tool bar
     """
 
     # -------------------------------------------------------------------------
@@ -49,6 +49,7 @@
         """
 
         self.toolbar = qt.QToolBar(u_("Forms Toolbar"), self.container)
+        self.container.addToolBar(self.toolbar)
         self.toolbar.show()
         return self.toolbar
 
@@ -96,14 +97,14 @@
     # -------------------------------------------------------------------------
 
     def startingItem(self, item):
-        item.setOn(True)
+        item.setChecked(True)
 
     # -------------------------------------------------------------------------
     # Set a toggle action to 'off'
     # -------------------------------------------------------------------------
 
     def endingItem(self, item):
-        item.setOn(False)
+        item.setChecked(False)
 
 
 # =============================================================================
@@ -131,21 +132,21 @@
         # Set the action icon if available
         if iconloc:
             icon = _ICON_CACHE.setdefault(iconloc,
-                                          qt.QIconSet(qt.QPixmap(iconloc)))
-            self.setIconSet(icon)
+                                          qt.QIcon(qt.QPixmap(iconloc)))
+            self.setIcon(icon)
         else:
             print u_("** WARNING: Cannot add '%s' to toolbar; no icon") \
                                 %  user_action.event
 
         self.setText(name)
         if user_action.canToggle:
-            self.setToggleAction(True)
+            self.setCheckable(True)
 
         self.setToolTip(user_action.description or '')
 
         self.connect(self, qt.SIGNAL('activated()'), self.__activated)
 
-        self.addTo(parent.toolbar)
+        parent.toolbar.addAction(self)
 
     # -------------------------------------------------------------------------
     # String representation

Modified: trunk/gnue-forms/src/uidrivers/qt4/UILoginHandler.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/UILoginHandler.py        2007-01-26 
08:00:24 UTC (rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/UILoginHandler.py        2007-01-26 
08:01:55 UTC (rev 9331)
@@ -1,4 +1,4 @@
-# GNU Enterprise Forms - QT 3 UI Driver - Login Handler
+# GNU Enterprise Forms - QT 4 UI Driver - Login Handler
 #
 # Copyright 2001-2007 Free Software Foundation
 #
@@ -25,16 +25,16 @@
 
 from gnue.common.datasources import GLoginHandler
 from gnue.common.apps import GConfig, i18n
-from gnue.forms.uidrivers.qt3 import dialogs, QTApp
+from gnue.forms.uidrivers.qt4 import dialogs, QTApp
 
 
 # =============================================================================
-# This class implements a login handler for QT3
+# This class implements a login handler for qt4
 # =============================================================================
 
 class UILoginHandler(GLoginHandler.LoginHandler):
     """
-    Implementation of a LoginHandler for QT3
+    Implementation of a LoginHandler for qt4
     """
 
     # -------------------------------------------------------------------------
@@ -67,7 +67,7 @@
         dialog = dialogs.InputDialog(title, lfields)
     
         try:
-          dialog.exec_loop()
+          dialog.exec_()
           result = dialog.inputData
 
         finally:

Modified: trunk/gnue-forms/src/uidrivers/qt4/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/UIdriver.py      2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/UIdriver.py      2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -29,23 +29,22 @@
 from gnue.forms.uidrivers._base import Exceptions
 
 try:
-    import qt
+    from PyQt4 import Qt
 
 except ImportError:
     raise Exceptions.DriverNotSupported, \
-            u_("The GNUe-Forms QT3 driver requires PyQT 3.x.")
+            u_("The GNUe-Forms qt4 driver requires PyQT 4.1+")
 
 from gnue.common.apps import GConfig
 from gnue.forms.uidrivers._commonGuiToolkit import UIdriver as commonToolkit
-from gnue.forms.uidrivers.qt3.QTApp import *
-from gnue.forms.uidrivers.qt3 import dialogs
+from gnue.forms.uidrivers.qt4.QTApp import *
+from gnue.forms.uidrivers.qt4 import dialogs
 
 
 # =============================================================================
-# Splash Screen
+# Splash screen
 # =============================================================================
-
-class UISplashScreen(qt.QMainWindow):
+class UISplashScreen(qt.QSplashScreen):
     """
     Splash screen window
     """
@@ -56,25 +55,20 @@
 
     def __init__(self):
 
-        qt.QMainWindow.__init__(self, None, 'GNUeSplash', qt.Qt.WStyle_Splash |
-                qt.Qt.WStyle_StaysOnTop)
-
         idir = GConfig.getInstalledBase('forms_images', 'common_images')
         picture = gConfigForms ('splashScreenPNG')
         if not os.path.isabs(picture):
             picture = os.path.join (idir, picture)
 
-        image = qt.QLabel('', self)
-        image.setPixmap(qt.QPixmap(picture))
+        qt.QSplashScreen.__init__(self, qt.QPixmap(picture))
 
-        self.setCentralWidget(image)
         self.show()
         getQtApp().processEvents()
 
 
 
 # =============================================================================
-# This class implements the User Interface for QT3
+# This class implements the User Interface for qt4
 # =============================================================================
 
 class GFUserInterface(commonToolkit.GFUserInterface):
@@ -96,7 +90,7 @@
         self.textWidth = self.widgetWidth = -1
         self.textHeight = self.widgetHeight = -1
 
-        self.name = "QT3"
+        self.name = "qt4"
 
         self._disabledColour = None
         self._qtapp = getQtApp()
@@ -159,7 +153,7 @@
 
         self.hide_splash()
         dlg = dialogs.ExceptionDialog(group, name, message, detail)
-        dlg.exec_loop()
+        dlg.exec_()
 
     # -------------------------------------------------------------------------
     # Create and run an input dialog
@@ -168,7 +162,7 @@
     def _getInput(self, title, fields, cancel=True):
 
         dlg = dialogs.InputDialog(title, fields, cancel)
-        dlg.exec_loop()
+        dlg.exec_()
         return dlg.inputData
 
 

Modified: trunk/gnue-forms/src/uidrivers/qt4/dialogs.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/dialogs.py       2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/dialogs.py       2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -1,4 +1,4 @@
-# GNU Enterprise Forms - QT3 UI Driver - UI specific dialogs
+# GNU Enterprise Forms - qt4 UI Driver - UI specific dialogs
 #
 # Copyright 2001-2007 Free Software Foundation
 #
@@ -21,10 +21,10 @@
 #
 # $Id$
 """
-Implementation of some common dialogs for the QT3 driver
+Implementation of some common dialogs for the qt4 driver
 """
 
-import qt
+from PyQt4 import Qt as qt
 
 from gnue.forms import VERSION
 
@@ -76,7 +76,7 @@
         self.msg = qt.QLabel(self._FORMAT.get(group) % message, self)
         hbox.addWidget(self.msg, 1)
 
-        self.ext = qt.QMultiLineEdit(self)
+        self.ext = qt.QTextEdit(self)
         self.ext.setText(detail)
         self.ext.setReadOnly(True)
 
@@ -103,7 +103,7 @@
 
         self.vbox.addLayout(bbox, 0)
 
-        self.setCaption(self._TITLE.get(group, u'Error'))
+        self.setWindowTitle(self._TITLE.get(group, u'Error'))
 
     # -------------------------------------------------------------------------
 
@@ -148,7 +148,7 @@
         small = qt.QFont(current.family(), current.pointSize()-1)
         bold = qt.QFont(current.family(), current.pointSize(), qt.QFont.Bold)
 
-        self.setCaption(u_("About %s") % name)
+        self.setWindowTitle(u_("About %s") % name)
 
         vbox = qt.QVBoxLayout(self)
         vbox.setMargin(12)
@@ -173,9 +173,10 @@
 
         if descr:
             label = qt.QLabel(descr, self)
-            vbox.addWidget(label, 1, qt.Qt.AlignHCenter | qt.Qt.WordBreak)
+            label.setWordWrap(True)
+            vbox.addWidget(label, 1, qt.Qt.AlignHCenter)
 
-        sep = qt.QFrame(self, "separatorline")
+        sep = qt.QFrame(self)
         sep.setFrameStyle(qt.QFrame.HLine | qt.QFrame.Sunken)
         vbox.addWidget(sep, 0)
 
@@ -413,7 +414,7 @@
 
         qt.QDialog.__init__ (self)
 
-        self.setCaption(title)
+        self.setWindowTitle(title)
         self.setIcon(qt.QMessageBox.standardIcon(qt.QMessageBox.Question))
 
         self.top_sizer = qt.QVBoxLayout(self)
@@ -652,4 +653,4 @@
     finally:
         app.quit()
 
-    app.exec_loop()
+    app.exec_()

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/_base.py 2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/_base.py 2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -1,4 +1,4 @@
-# GNU Enterprise Forms - QT3 UI Driver - Basic UI widget
+# GNU Enterprise Forms - qt4 UI Driver - Basic UI widget
 #
 # Copyright 2001-2007 Free Software Foundation
 #
@@ -21,19 +21,19 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
 from gnue.forms.uidrivers._base.widgets._base import UIWidget
 
 __all__ = ['UIHelper']
 
 # =============================================================================
-# Base class for all qt3 UI widgets 
+# Base class for all qt4 UI widgets 
 # =============================================================================
 
 class UIHelper(UIWidget):
     """
-    Implements the common behaviour of qt3 UI widgets
+    Implements the common behaviour of qt4 UI widgets
     """
 
     growable = False
@@ -104,25 +104,27 @@
         """
         """
 
-        self._container = self.widget = qt.QGroupBox(event.container)
+        self._container = self.widget = groupbox = 
qt.QGroupBox(event.container)
         if self._gfObject.label is not None:
             self._container.setTitle(self._gfObject.label)
 
-        self._container.setInsideMargin(6)
+        #self._container.setInsideMargin(6)
 
         if self._vertical_:
-            self.sizer = qt.QGridLayout(1, 2, 2)
+            self.sizer = qt.QGridLayout(groupbox)
         else:
-            self.sizer = qt.QGridLayout(2, 1, 2)
+            self.sizer = qt.QGridLayout(groupbox)
+            
+        self.sizer.setMargin(2)
 
         self._entry_pos = self.__need_both() and 2 or 1
 
         if self._vertical_:
-            self.sizer.setColStretch(self._entry_pos - 1, 1)
+            self.sizer.setColumnStretch(self._entry_pos - 1, 1)
         else:
             self.sizer.setRowStretch(self._entry_pos - 1, 1)
 
-        self._container.layout().addLayout(self.sizer)
+        ##QT3##self._container.addLayout(self.sizer)
         self.getParent().add_widgets(self, 0)
 
         self.last_item = 0

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/box.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/box.py   2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/box.py   2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets._base import UIHelper
+from gnue.forms.uidrivers.qt4.widgets._base import UIHelper
 
 __all__ = ['UIBox']
 
@@ -48,11 +48,10 @@
         """
     
         self._container = qt.QGroupBox(self._gfObject.label, event.container)
-        self._container.setInsideMargin(6)
+##        self._container.setInsideMargin(6)
         self.widget = self._container
 
-        self.sizer = qt.QGridLayout(self.chr_h, self.chr_w, 2)
-        self._container.layout().addLayout(self.sizer)
+        self.sizer = qt.QGridLayout(self.widget)
 
         self.getParent().add_widgets(self, 0)
         
@@ -73,9 +72,8 @@
 
         item = ui_widget.widget
 
-        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)
+        self.sizer.addWidget(item, ui_widget.chr_y,
+                ui_widget.chr_x, ui_widget.chr_h, ui_widget.chr_w)
 
 
 

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/button.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/button.py        2007-01-26 
08:00:24 UTC (rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/button.py        2007-01-26 
08:01:55 UTC (rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets._base import UIHelper
+from gnue.forms.uidrivers.qt4.widgets._base import UIHelper
 
 __all__ = ['UIButton']
 

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/entry.py 2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/entry.py 2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -24,11 +24,11 @@
 Entry widget
 """
 
-import qt
+from PyQt4 import Qt as qt
 
 from gnue.forms.input import GFKeyMapper
 from gnue.forms.input.GFKeyMapper import vk
-from gnue.forms.uidrivers.qt3.widgets._base import UIHelper
+from gnue.forms.uidrivers.qt4.widgets._base import UIHelper
 
 # =============================================================================
 # Interface class for entry widgets
@@ -327,12 +327,14 @@
         """
 
         keycode = event.key()
-        state = event.state()
+        
+        # Not sure why, but the int is important or "&" will fail...
+        state = int(event.modifiers())
 
         (command, args) = GFKeyMapper.KeyMapper.getEvent(keycode,
-                state & qt.QKeyEvent.ShiftButton > 0,
-                state & qt.QKeyEvent.ControlButton > 0,
-                state & qt.QKeyEvent.AltButton > 0)
+                state & qt.Qt.SHIFT > 0,
+                state & qt.Qt.CTRL > 0,
+                state & qt.Qt.ALT > 0)
 
         if command:
             if command == 'NEWLINE':
@@ -506,8 +508,6 @@
         self.__last_para = 0
         self.__last_pos = 0
 
-        self.setTextFormat(qt.Qt.PlainText)
-
         self.connect(self, qt.SIGNAL('textChanged()'),
                 self.__on_text_changed)
         self.connect(self, qt.SIGNAL('cursorPositionChanged(int, int)'),
@@ -519,14 +519,17 @@
 
     def _ui_set_value_(self, value):
 
-        self.setText(value)
+        self.clear()
+        self.insertPlainText(value)
 
     # -------------------------------------------------------------------------
 
     def _ui_set_cursor_position_(self, position):
 
         (para, offset) = self.__position_to_qt(position)
-        self.setCursorPosition(para, offset)
+        cursor = self.textCursor()
+        # TODO!!!!
+        self.setTextCursor(cursor)
 
     # -------------------------------------------------------------------------
 
@@ -535,7 +538,8 @@
         (para1, offs1) = self.__position_to_qt(selection1)
         (para2, offs2) = self.__position_to_qt(selection2)
 
-        self.setSelection(para1, offs1, para2, offs2)
+        # TODO!!
+#        self.setSelection(para1, offs1, para2, offs2)
 
 
     # -------------------------------------------------------------------------
@@ -581,7 +585,7 @@
 
     def __position_to_qt(self, position):
 
-        val = unicode(self.text())[:position]
+        val = unicode(self.toPlainText())[:position]
         para = val.count('\n')
         offset = position
         if para > 0:
@@ -612,7 +616,7 @@
         # otherwise the checkbox won't request the focus-change on clicking
         # into it using the mouse.  This is needed to enable the GFInstance to
         # process the TOGGLECHKBOX request
-        self.setFocusPolicy(qt.QWidget.StrongFocus)
+        self.setFocusPolicy(qt.Qt.StrongFocus)
 
         self._blocked_ = False
         self.connect(self, qt.SIGNAL('toggled(bool)'), self.__on_toggled)
@@ -636,11 +640,12 @@
         self._blocked_ = True
         try:
             if value is None:
-                self.setState(qt.QButton.NoChange)
+                # TODO: In converting from Qt3, this might not be right.
+                self.setCheckState(qt.Qt.PartiallyChecked)
             elif value:
-                self.setState(qt.QButton.On)
+                self.setCheckState(qt.Qt.Checked)
             else:
-                self.setState(qt.QButton.Off)
+                self.setCheckState(qt.Qt.Unchecked)
 
         finally:
             self._blocked_ = False
@@ -671,11 +676,9 @@
 
     def _ui_set_choices_(self, choices):
         self.clear()
+        self.addItems(choices)
 
-        for item in choices:
-            self.insertItem(item)
 
-
 # =============================================================================
 # Dropdown widgets
 # =============================================================================
@@ -691,9 +694,10 @@
 
     def __init__(self, parent, ui_widget):
 
-        qt.QComboBox.__init__(self, True, parent)
+        qt.QComboBox.__init__(self, parent)
         ChoiceEntry.__init__(self, ui_widget, qt.QComboBox)
-
+        
+        self.setEditable(True)
         self.setDuplicatesEnabled(False)
 
         self.__lineEdit = LineEdit(parent, ui_widget)
@@ -718,7 +722,7 @@
 
     def _ui_set_value_(self, value):
 
-        self.setCurrentText(value)
+        self.lineEdit().setText(value)
 
     # -------------------------------------------------------------------------
 
@@ -761,7 +765,7 @@
 # Listbox widgets
 # =============================================================================
 
-class ListBox(ChoiceEntry, qt.QListBox):
+class ListBox(ChoiceEntry, qt.QListWidget):
     """
     Listbox widgets
     """
@@ -772,29 +776,39 @@
 
     def __init__(self, parent, ui_widget):
 
-        qt.QListBox.__init__(self, parent)
-        ChoiceEntry.__init__(self, ui_widget, qt.QListBox)
+        qt.QListWidget.__init__(self, parent)
+        ChoiceEntry.__init__(self, ui_widget, qt.QListWidget)
 
-        self.connect(self, qt.SIGNAL('highlighted(int)'), 
self.__on_highlighted)
+        self.connect(self, 
+                     qt.SIGNAL('currentItemChanged(QListWidgetItem*, 
QListWidgetItem*)'), 
+                     self.__on_highlighted)
 
 
+    def _ui_set_selected_area_(self, selection1, selection2):
+        """
+        Our setSelection is different than TextEdit, et al. 
+        """
+        return
+
     # -------------------------------------------------------------------------
     # Event-Handler
     # -------------------------------------------------------------------------
 
-    def __on_highlighted(self, index):
+    def __on_highlighted(self, index, old):
         self.ui_widget._request('REPLACEVALUE',
-                text=unicode(self.currentText()))
+                text=unicode(index.text()))
 
     # -------------------------------------------------------------------------
 
     def _ui_set_value_(self, value):
+        
+        matches = self.findItems(value, qt.Qt.MatchExactly)
+        if matches: 
+            self.setCurrentItem(matches[0])
 
-        self.setCurrentItem(self.findItem(value))
 
 
 
-
 # =============================================================================
 # Keymapper configuration: Translate from QT to our virtual keystrokes
 # =============================================================================
@@ -810,7 +824,7 @@
     vk.F11    : qt.Qt.Key_F11,       vk.F12       : qt.Qt.Key_F12,
     vk.INSERT : qt.Qt.Key_Insert,    vk.DELETE    : qt.Qt.Key_Delete,
     vk.HOME   : qt.Qt.Key_Home,      vk.END       : qt.Qt.Key_End,
-    vk.PAGEUP : qt.Qt.Key_Prior,     vk.PAGEDOWN  : qt.Qt.Key_Next,
+    vk.PAGEUP : qt.Qt.Key_PageUp,    vk.PAGEDOWN  : qt.Qt.Key_PageDown,
     vk.UP     : qt.Qt.Key_Up,        vk.DOWN      : qt.Qt.Key_Down,
     vk.LEFT   : qt.Qt.Key_Left,      vk.RIGHT     : qt.Qt.Key_Right,
     vk.TAB    : qt.Qt.Key_Tab,

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/form.py  2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/form.py  2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -24,14 +24,14 @@
 Implementation of the UI layer for the <form> and <dialog> tag
 """
 
-import qt
+from PyQt4 import Qt as qt
 import os
 
 from gnue.common.apps import GConfig
-from gnue.forms.uidrivers.qt3 import dialogs, QTApp
-from gnue.forms.uidrivers.qt3.MenuBar import MenuBar
-from gnue.forms.uidrivers.qt3.ToolBar import ToolBar
-from gnue.forms.uidrivers.qt3.widgets._base import UIHelper
+from gnue.forms.uidrivers.qt4 import dialogs, QTApp
+from gnue.forms.uidrivers.qt4.MenuBar import MenuBar
+from gnue.forms.uidrivers.qt4.ToolBar import ToolBar
+from gnue.forms.uidrivers.qt4.widgets._base import UIHelper
 
 # =============================================================================
 # The form
@@ -42,10 +42,10 @@
     Implementation of the <form> and <dialog> tag
     """
 
-    _TAB_STYLE = {'left': qt.QTabWidget.Top,
-                  'top' : qt.QTabWidget.Top,
-                  'right': qt.QTabWidget.Bottom,
-                  'bottom': qt.QTabWidget.Bottom}
+    _TAB_STYLE = {'left': qt.QTabWidget.West,
+                  'top' : qt.QTabWidget.North,
+                  'right': qt.QTabWidget.East,
+                  'bottom': qt.QTabWidget.South}
 
     _MBOX_KIND = {'Info'    : {'style': qt.QMessageBox.information,
                                'title': u_("Information"),
@@ -91,7 +91,7 @@
         else:
             self.main_window = Dialog(self)
 
-        self.main_window.setCaption(self._form.title)
+        self.main_window.setWindowTitle(self._form.title)
 
         self.main_widget = qt.QWidget(self.main_window)
         if self._form.style != 'dialog':
@@ -99,7 +99,7 @@
 
         base_sizer = qt.QVBoxLayout(self.main_widget)
         base_sizer.setMargin(6)
-        base_sizer.setResizeMode(qt.QLayout.Minimum)
+        base_sizer.setSizeConstraint(qt.QLayout.SetMinimumSize)
 
         if self._form.style != 'dialog':
             if not self._form._features['GUI:STATUSBAR:SUPPRESS']:
@@ -158,7 +158,7 @@
         self.sizing_enabled = True
         if isinstance(self.main_window, qt.QDialog):
             self.main_window.setModal(True)
-            self.main_window.exec_loop()
+            self.main_window.exec_()
         else:
             self.main_window.show()
 
@@ -177,7 +177,7 @@
         if isinstance(self._container, qt.QTabWidget):
             self._container.blockSignals(True)
             try:
-                self._container.setCurrentPage(page_index)
+                self._container.setCurrentIndex(page_index)
             finally:
                 self._container.blockSignals(False)
         else:
@@ -208,7 +208,7 @@
                 stretch = 0
             else:
                 stretch = 1
-            self.__status_bar.addWidget(widget, stretch, True)
+            self.__status_bar.addPermanentWidget(widget, stretch)
 
     # -------------------------------------------------------------------------
     # Event-handler
@@ -347,7 +347,7 @@
 
         dlg = dialogs.AboutBox(self.main_window, name, version, author,
                 description, icon)
-        dlg.exec_loop()
+        dlg.exec_()
 
     # -------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/grid.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/grid.py  2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/grid.py  2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets import _base
+from gnue.forms.uidrivers.qt4.widgets import _base
 
 __all__ = ['UIGrid']
 

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/gridline.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/gridline.py      2007-01-26 
08:00:24 UTC (rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/gridline.py      2007-01-26 
08:01:55 UTC (rev 9331)
@@ -25,9 +25,9 @@
 and defines the controls building up the line.
 """
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets import _base
+from gnue.forms.uidrivers.qt4.widgets import _base
 
 __all__ = ['UIGridLine']
 

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/hbox.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/hbox.py  2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/hbox.py  2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets._base import ManagedBox
+from gnue.forms.uidrivers.qt4.widgets._base import ManagedBox
 
 __all__ = ['UIHBox']
 
@@ -55,19 +55,23 @@
 
         if ui_widget.label:
             add = True
-            self.sizer.addMultiCellWidget(ui_widget.label, 0, 0,
-                    self.last_item, self.last_item)
+            self.sizer.addWidget(ui_widget.label, 0, self.last_item, 
+                                 1, 1)
 
         if ui_widget.widget:
             add = True
 
-            span = 0
             if both and not ui_widget.label:
+                span = 2
+            else:
                 span = 1
 
             row = self._entry_pos - 1
-            self.sizer.addMultiCellWidget(ui_widget.widget, row, row+span,
-                    self.last_item, self.last_item)
+            print (row, self.last_item, 
+                   row+span, self.last_item)
+                   
+            self.sizer.addWidget(ui_widget.widget, row, self.last_item, 
+                                 1, span)
 
         if add and ui_widget.growable:
             self.sizer.setColStretch(self.last_item, ui_widget.stretch)

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/image.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/image.py 2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/image.py 2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,7 +21,7 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 import cStringIO
 
 try:
@@ -31,7 +31,7 @@
   PILImage = None
 
 from gnue.common.definitions import GParser
-from gnue.forms.uidrivers.qt3.widgets import _base
+from gnue.forms.uidrivers.qt4.widgets import _base
 
 # =============================================================================
 # Exceptions

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/label.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/label.py 2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/label.py 2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets._base import UIHelper
+from gnue.forms.uidrivers.qt4.widgets._base import UIHelper
 
 _alignment = {
         'left'  : qt.Qt.AlignLeft | qt.Qt.AlignVCenter,

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/page.py  2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/page.py  2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,7 +21,7 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
 from _base import UIHelper
 
@@ -62,14 +62,16 @@
         else:
             w = getattr(self._form._layout, 'Char__width', -1)
             h = getattr(self._form._layout, 'Char__height', -1)
-            page_sizer = qt.QGridLayout(self._container, h, w, 2, 2)
+            page_sizer = qt.QGridLayout(self._container)
+            page_sizer.setMargin(2)
+            page_sizer.setSpacing(2)
 
         if isinstance(parent, qt.QTabWidget):
             title = "%s" % (self._gfObject.caption or self._gfObject.name)
             parent.addTab(self._container, title)
         else:
             parent.layout().addWidget(self._container)
-
+            
         self._uiForm.pages.append(self._container)
 
         return self._container
@@ -93,7 +95,7 @@
         if self.managed:
             sizer.addWidget(item)
         else:
-            sizer.addMultiCellWidget(item, ui_widget.chr_y, ui_widget.chr_y +
+            sizer.addWidget(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)
     

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/scrollbar.py     2007-01-26 
08:00:24 UTC (rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/scrollbar.py     2007-01-26 
08:01:55 UTC (rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets._base import UIHelper
+from gnue.forms.uidrivers.qt4.widgets._base import UIHelper
 
 # =============================================================================
 # The scrollbar widget

Modified: trunk/gnue-forms/src/uidrivers/qt4/widgets/vbox.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt4/widgets/vbox.py  2007-01-26 08:00:24 UTC 
(rev 9330)
+++ trunk/gnue-forms/src/uidrivers/qt4/widgets/vbox.py  2007-01-26 08:01:55 UTC 
(rev 9331)
@@ -21,9 +21,9 @@
 #
 # $Id$
 
-import qt
+from PyQt4 import Qt as qt
 
-from gnue.forms.uidrivers.qt3.widgets._base import ManagedBox
+from gnue.forms.uidrivers.qt4.widgets._base import ManagedBox
 
 __all__ = ['UIVBox']
 
@@ -55,23 +55,21 @@
 
         if ui_widget.label:
             add = True
-            self.sizer.addMultiCellWidget(ui_widget.label, self.last_item,
-                    self.last_item, 0, 0, qt.Qt.AlignLeft | qt.Qt.AlignTop)
+            self.sizer.addWidget(ui_widget.label, self.last_item,
+                    0, 1, 1, qt.Qt.AlignLeft | qt.Qt.AlignTop)
 
         if ui_widget.widget:
             add = True
 
-            span = 0
+            span = 1
             row = self.last_item
             left = self._entry_pos - 1
-            right = left + span
 
             if both and not ui_widget.label:
                 left = 0
-                span = 1
+                span = 2
 
-            self.sizer.addMultiCellWidget(ui_widget.widget, row, row, left,
-                    right)
+            self.sizer.addWidget(ui_widget.widget, row, left, 1, span)
 
         if add and ui_widget.growable:
             self.sizer.setRowStretch(self.last_item, ui_widget.stretch)





reply via email to

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