commit-gnue
[Top][All Lists]
Advanced

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

gnue/forms/src/uidrivers/qt UIdriver.py common....


From: Jason Cater
Subject: gnue/forms/src/uidrivers/qt UIdriver.py common....
Date: Sat, 22 Feb 2003 01:55:05 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/02/22 01:54:59

Modified files:
        forms/src/uidrivers/qt: UIdriver.py common.py 
        forms/src/uidrivers/qt/widgets: _base.py button.py entry.py 
        forms/src/uidrivers/qt/widgets/form: widget.py wrappers.py 

Log message:
        first displaying version of a QT driver :)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/UIdriver.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/common.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/widgets/_base.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/widgets/button.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/widgets/entry.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/widgets/form/widget.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/widgets/form/wrappers.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text

Patches:
Index: gnue/forms/src/uidrivers/qt/UIdriver.py
diff -c gnue/forms/src/uidrivers/qt/UIdriver.py:1.1 
gnue/forms/src/uidrivers/qt/UIdriver.py:1.2
*** gnue/forms/src/uidrivers/qt/UIdriver.py:1.1 Fri Feb 21 01:30:50 2003
--- gnue/forms/src/uidrivers/qt/UIdriver.py     Sat Feb 22 01:54:57 2003
***************
*** 43,61 ****
  from gnue.forms.uidrivers.qt.QTApp import *
  from gnue.forms.uidrivers.qt.QTSplashScreen import *
  from gnue.forms.uidrivers.qt.widgets._base  import *
! from gnue.forms.uidrivers.qt.common import _eventObjToQtWindow
  from common import *
  
  
  _PROMPTFORRECORD = None
  def treeShow(object, uiDriver):
!   try: 
!     print "Object ",object, object.Show(1), object.GetParent(), 
uiDriver._IdToGFObj[object.GetId()]
!   except KeyError:
!     print "Object ",object, object.Show(1), object.GetParent(), 
"NONE!!!!!!!!!!!!!"
!     
!   for child in object.GetChildren():
!     treeShow(child, uiDriver)
      
  #
  # GFUserInterface
--- 43,62 ----
  from gnue.forms.uidrivers.qt.QTApp import *
  from gnue.forms.uidrivers.qt.QTSplashScreen import *
  from gnue.forms.uidrivers.qt.widgets._base  import *
! from gnue.forms.uidrivers.qt.common import _eventObjToQtWindow, 
setWidgetBaseFont
  from common import *
  
  
  _PROMPTFORRECORD = None
  def treeShow(object, uiDriver):
!   pass 
! ##  try: 
! ##    print "Object ",object, object.Show(), object.GetParent(), 
uiDriver._IdToGFObj[object.GetId()]
! ##  except KeyError:
! ##    print "Object ",object, object.Show(), object.GetParent(), 
"NONE!!!!!!!!!!!!!"
! ##    
! ##  for child in object.GetChildren():
! ##    treeShow(child, uiDriver)
      
  #
  # GFUserInterface
***************
*** 87,92 ****
--- 88,101 ----
      # WX Specifics
      ################################################################
      self._qtapp = getQtApp()
+       
+ ##    self._qtapp.setFont(font)
+ 
+     font = QFont("Courier")
+     font.setPointSize(int(gConfig('pointSize')))
+     setWidgetBaseFont(font)
+         
+ ##    self._qtapp.font().setFixedPitch(1)
  
      #
      # SplashScreen
***************
*** 116,128 ****
  ##      maxDescent = max(maxDescent,descent)
  ##      maxLeading = max(maxLeading,leading)
  
!     ### Made-up numbers :) 
!     maxWidth=12
!     maxHeight = 6
!     maxDescent = 3
!     maxLeading = 4
!     ###
! 
      self.textWidth    = int(maxWidth+maxLeading)  # The pixel width of text 
inside a widget
      self.textHeight   = int(maxHeight+maxDescent) # The pixel height of text 
inside a widget
      self.widgetWidth  = self.textWidth            # The pixel width of a 1 
char widget (for things like buttons)
--- 125,137 ----
  ##      maxDescent = max(maxDescent,descent)
  ##      maxLeading = max(maxLeading,leading)
  
!     fm = QFontMetrics(font)
!     # TODO: Making some assumptions here!!
!     maxWidth=fm.width("W")
!     maxHeight = fm.height()
!     maxDescent = fm.descent()
!     maxLeading = fm.leading()
!     
      self.textWidth    = int(maxWidth+maxLeading)  # The pixel width of text 
inside a widget
      self.textHeight   = int(maxHeight+maxDescent) # The pixel height of text 
inside a widget
      self.widgetWidth  = self.textWidth            # The pixel width of a 1 
char widget (for things like buttons)
***************
*** 145,152 ****
        if self._formNameToUIForm[key]._form == form:
          break
  
!     self._formNameToUIForm[key].mainWindow.Raise()
!     self._formNameToUIForm[key].mainWindow.Show()
      
      self._formNameToUIForm[key].show()
      
--- 154,161 ----
        if self._formNameToUIForm[key]._form == form:
          break
  
! ##    self._formNameToUIForm[key].mainWindow.raise()
!     self._formNameToUIForm[key].mainWindow.show()
      
      self._formNameToUIForm[key].show()
      
***************
*** 193,199 ****
    #
    def mainLoop(self):
  ##    self._wxapp.MainLoop() # simply call the wxApp's MainLoop method
!     pass
  
    #
    # formAlert
--- 202,210 ----
    #
    def mainLoop(self):
  ##    self._wxapp.MainLoop() # simply call the wxApp's MainLoop method
! ##    self._qtapp.setMainWidget(self)
! ##    self.show()
!     self._qtapp.exec_loop()
  
    #
    # formAlert
Index: gnue/forms/src/uidrivers/qt/common.py
diff -c gnue/forms/src/uidrivers/qt/common.py:1.1 
gnue/forms/src/uidrivers/qt/common.py:1.2
*** gnue/forms/src/uidrivers/qt/common.py:1.1   Fri Feb 21 01:30:50 2003
--- gnue/forms/src/uidrivers/qt/common.py       Sat Feb 22 01:54:57 2003
***************
*** 51,61 ****
  # TODO: Not completed
  #
  def initFont(widget, affectsLayout=1):
!   pass
! #FIX#    if int(gConfigForms('fixedWidthFont')):
! #FIX#        
widget.SetFont(wxFont(int(gConfigForms('pointSize')),wxMODERN,wxNORMAL,\
! #FIX#                              
wxNORMAL,FALSE,'',encodings[gConfig('textEncoding')]))
!             
  
  #####################################################################
  ##
--- 51,65 ----
  # TODO: Not completed
  #
  def initFont(widget, affectsLayout=1):
!   global _font
!   widget.setFont(_font)
! 
! _font = QFont("Courier")
!   
! def setWidgetBaseFont(font):
!   global _font
!   _font = font
!               
  
  #####################################################################
  ##
Index: gnue/forms/src/uidrivers/qt/widgets/_base.py
diff -c gnue/forms/src/uidrivers/qt/widgets/_base.py:1.1 
gnue/forms/src/uidrivers/qt/widgets/_base.py:1.2
*** gnue/forms/src/uidrivers/qt/widgets/_base.py:1.1    Fri Feb 21 01:30:50 2003
--- gnue/forms/src/uidrivers/qt/widgets/_base.py        Sat Feb 22 01:54:58 2003
***************
*** 58,75 ****
    # Functions limited to the Qt driver
    #
    def _addToCrossRef(self, widget,gfobject, uiobject):
!     id = widget.GetId()
!     self._uiDriver._IdToQtObj[id]=widget
!     self._uiDriver._IdToGFObj[id]=gfobject
!     self._uiDriver._IdToUIObj[id]=uiobject
!     widget.__origBackgroundColor = widget.GetBackgroundColour()
  
    def _deleteFromCrossRef(self, widget, object):
!     id = widget.GetId()
      try:
!       del self._uiDriver._IdToQtObj[id]
!       del self._uiDriver._IdToGFObj[id]
!       del self._uiDriver._IdToUIObj[id]
      except:
        pass
  
--- 58,75 ----
    # Functions limited to the Qt driver
    #
    def _addToCrossRef(self, widget,gfobject, uiobject):
!     i = id(widget)  # ????
!     self._uiDriver._IdToQtObj[i]=widget
!     self._uiDriver._IdToGFObj[i]=gfobject
!     self._uiDriver._IdToUIObj[i]=uiobject
! #    widget.__origBackgroundColor = Qt.White # widget.getBackgroundColor()
  
    def _deleteFromCrossRef(self, widget, object):
!     i = id(widget)
      try:
!       del self._uiDriver._IdToQtObj[i]
!       del self._uiDriver._IdToGFObj[i]
!       del self._uiDriver._IdToUIObj[i]
      except:
        pass
  
***************
*** 104,110 ****
  ##    widget.SetEvtHandlerEnabled(FALSE)
  
      # Check if foreign key changed
!     object = self._uiDriver._IdToGFObj[widget.GetId()]
      try:
        if object.style == "dropdown" and \
            not object._field._allowedValues == widget._origAllowedValues:
--- 104,110 ----
  ##    widget.SetEvtHandlerEnabled(FALSE)
  
      # Check if foreign key changed
!     object = self._uiDriver._IdToGFObj[id(widget)]
      try:
        if object.style == "dropdown" and \
            not object._field._allowedValues == widget._origAllowedValues:
***************
*** 116,128 ****
        pass
  
      widget.setText(value)
!     widget.enable(enabled)
      
!     if enabled:
!       widget.setBackgroundColor(widget.__origBackgroundColor)
!     else:
!       widget.setBackgroundColor(self._uiDriver._disabledColour)
!     widget.Refresh()
  
    def setCursorPosition(self, position, index=0):
      try:
--- 116,128 ----
        pass
  
      widget.setText(value)
! ##    widget.enable(enabled)
      
! ##    if enabled:
! ##      widget.setBackgroundColor(widget.__origBackgroundColor)
! ##    else:
! ##      widget.setBackgroundColor(self._uiDriver._disabledColour)
! ##    widget.Refresh()
  
    def setCursorPosition(self, position, index=0):
      try:
***************
*** 144,152 ****
  
    def cleanup(self, object):
      for widget in self.widgets[:]:
!       id = widget.GetId()
!       del self._uiDriver._IdToWxObj[id]
!       del self._uiDriver._IdToGFObj[id]
!       del self._uiDriver._IdToUIObj[id]
        self.widgets.pop(0)
        self._deleteFromCrossRef(widget, object)
--- 144,152 ----
  
    def cleanup(self, object):
      for widget in self.widgets[:]:
!       i = id(widget)
!       del self._uiDriver._IdToWxObj[i]
!       del self._uiDriver._IdToGFObj[i]
!       del self._uiDriver._IdToUIObj[i]
        self.widgets.pop(0)
        self._deleteFromCrossRef(widget, object)
Index: gnue/forms/src/uidrivers/qt/widgets/button.py
diff -c gnue/forms/src/uidrivers/qt/widgets/button.py:1.1 
gnue/forms/src/uidrivers/qt/widgets/button.py:1.2
*** gnue/forms/src/uidrivers/qt/widgets/button.py:1.1   Fri Feb 21 01:30:50 2003
--- gnue/forms/src/uidrivers/qt/widgets/button.py       Sat Feb 22 01:54:58 2003
***************
*** 30,36 ****
  
  from gnue.common import events
  from gnue.forms.uidrivers.qt.common import _setDefaultEventHandlers
! from gnue.forms.uidrivers.qt.common import _eventObjTowxWindow
  from gnue.forms.uidrivers.qt.widgets._base import UIHelper
  
  #
--- 30,36 ----
  
  from gnue.common import events
  from gnue.forms.uidrivers.qt.common import _setDefaultEventHandlers
! from gnue.forms.uidrivers.qt.common import _eventObjToQtWindow
  from gnue.forms.uidrivers.qt.widgets._base import UIHelper
  
  #
***************
*** 43,49 ****
      object = event.object
      
      # Create a button..
!     newWidget = QPushButton(self,'button%s' % id(self))
      
      # .. set the label text..
      newWidget.setText(str(object.label))
--- 43,49 ----
      object = event.object
      
      # Create a button..
!     newWidget = QPushButton(event.container, 'button%s' % id(self))
      
      # .. set the label text..
      newWidget.setText(str(object.label))
***************
*** 68,74 ****
  ##  def buttonHandler(self,event):
  ##    if event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED:
  ##      action = None
! ##      object = _eventObjTowxWindow(event)
  ##      id = object.GetId()
  ##      gfObject     = self._uiDriver._IdToGFObj[id]
  ##      action = events.Event('buttonActivated',gfObject)
--- 68,74 ----
  ##  def buttonHandler(self,event):
  ##    if event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED:
  ##      action = None
! ##      object = _eventObjToQtWindow(event)
  ##      id = object.GetId()
  ##      gfObject     = self._uiDriver._IdToGFObj[id]
  ##      action = events.Event('buttonActivated',gfObject)
Index: gnue/forms/src/uidrivers/qt/widgets/entry.py
diff -c gnue/forms/src/uidrivers/qt/widgets/entry.py:1.1 
gnue/forms/src/uidrivers/qt/widgets/entry.py:1.2
*** gnue/forms/src/uidrivers/qt/widgets/entry.py:1.1    Fri Feb 21 01:30:50 2003
--- gnue/forms/src/uidrivers/qt/widgets/entry.py        Sat Feb 22 01:54:58 2003
***************
*** 30,36 ****
  from gnue.common import events
  
  from gnue.forms.uidrivers.qt.widgets._base import UIHelper
! from gnue.forms.uidrivers.qt.common import _eventObjTowxWindow
  from gnue.forms.uidrivers.qt.common import _setDefaultEventHandlers
  
  #
--- 30,36 ----
  from gnue.common import events
  
  from gnue.forms.uidrivers.qt.widgets._base import UIHelper
! from gnue.forms.uidrivers.qt.common import _eventObjToQtWindow
  from gnue.forms.uidrivers.qt.common import _setDefaultEventHandlers
  
  #
***************
*** 76,87 ****
  
      else: # Normal text box
        if hasattr(object,'Char__height') and object.Char__height > 1:
!         cls = QLineEdit
        else: 
          # TODO: According to the QT 3 docs, we should probably switch
          # TODO: to QTextEdit.  However, I'm not sure how to check for
          # TODO: the QT version in use :)
!         cls = QMultiLineEdit
  
        newWidget = cls(event.container)
            
--- 76,87 ----
  
      else: # Normal text box
        if hasattr(object,'Char__height') and object.Char__height > 1:
!         cls = QMultiLineEdit
        else: 
          # TODO: According to the QT 3 docs, we should probably switch
          # TODO: to QTextEdit.  However, I'm not sure how to check for
          # TODO: the QT version in use :)
!         cls = QLineEdit
  
        newWidget = cls(event.container)
            
Index: gnue/forms/src/uidrivers/qt/widgets/form/widget.py
diff -c gnue/forms/src/uidrivers/qt/widgets/form/widget.py:1.1 
gnue/forms/src/uidrivers/qt/widgets/form/widget.py:1.2
*** gnue/forms/src/uidrivers/qt/widgets/form/widget.py:1.1      Fri Feb 21 
01:30:50 2003
--- gnue/forms/src/uidrivers/qt/widgets/form/widget.py  Sat Feb 22 01:54:58 2003
***************
*** 31,37 ****
  from qt import *
  from gnue.common import events
  from gnue.forms.uidrivers.qt.common import *
! from gnue.forms.uidrivers.qt.common import _eventObjTowxWindow
  from gnue.forms.uidrivers.qt.widgets._base import UIHelper
  
  import wrappers
--- 31,37 ----
  from qt import *
  from gnue.common import events
  from gnue.forms.uidrivers.qt.common import *
! from gnue.forms.uidrivers.qt.common import _eventObjToQtWindow
  from gnue.forms.uidrivers.qt.widgets._base import UIHelper
  
  import wrappers
***************
*** 107,113 ****
      for i in range(5): 
        w = QLabel(self.statusBar,"%s" % i)
        self.statusFields.append(w)
!       self.statusBar.addWidget(w, stretch=not i, permanent=1)
      
  ##    self.statusBar.SetStatusWidths([-1,50,50,75,75])
  
--- 107,113 ----
      for i in range(5): 
        w = QLabel(self.statusBar,"%s" % i)
        self.statusFields.append(w)
!       self.statusBar.addWidget(w, not i, 1)
      
  ##    self.statusBar.SetStatusWidths([-1,50,50,75,75])
  
***************
*** 257,263 ****
      if event.CanVeto():
        self._uiDriver.dispatchEvent('requestEXIT',_form=self._form)
      else:
!       object = _eventObjTowxWindow(event)
        object.Destroy()
        # wxExit() TODO: Try and work this into navigator or here if it still 
hangs
                                                  
--- 257,263 ----
      if event.CanVeto():
        self._uiDriver.dispatchEvent('requestEXIT',_form=self._form)
      else:
!       object = _eventObjToQtWindow(event)
        object.Destroy()
        # wxExit() TODO: Try and work this into navigator or here if it still 
hangs
                                                  
Index: gnue/forms/src/uidrivers/qt/widgets/form/wrappers.py
diff -c gnue/forms/src/uidrivers/qt/widgets/form/wrappers.py:1.1 
gnue/forms/src/uidrivers/qt/widgets/form/wrappers.py:1.2
*** gnue/forms/src/uidrivers/qt/widgets/form/wrappers.py:1.1    Fri Feb 21 
01:30:50 2003
--- gnue/forms/src/uidrivers/qt/widgets/form/wrappers.py        Sat Feb 22 
01:54:59 2003
***************
*** 39,50 ****
      self.uiform = uiform
      self.frame = frame = uiform.mainWindow
      self.form = form = uiform._form
!     QScrolledWindow.__init__(self, frame)
      
  ##    EVT_SIZE(self.frame, self.OnFrameSize)
      formWidth = int(form._layout.Char__width)
      formHeight = int(form._layout.Char__height)
!     self.layoutSize = (formWidth*uiform._uiDriver.widgetWidth,
                        formHeight*uiform._uiDriver.widgetHeight)
      self._fitted = 0
      self._pageList = []
--- 39,50 ----
      self.uiform = uiform
      self.frame = frame = uiform.mainWindow
      self.form = form = uiform._form
!     QScrollView.__init__(self, frame)
      
  ##    EVT_SIZE(self.frame, self.OnFrameSize)
      formWidth = int(form._layout.Char__width)
      formHeight = int(form._layout.Char__height)
!     self.layoutSize = (0,0,formWidth*uiform._uiDriver.widgetWidth,
                        formHeight*uiform._uiDriver.widgetHeight)
      self._fitted = 0
      self._pageList = []
***************
*** 125,131 ****
    
    def notebookTabHandler(self,event):
      if event.GetEventType() == wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING:
!       #object = _IdToGFObj[_eventObjTowxWindow(event).GetId()]
        action = None
        if self.__notebookLoopTrap == 0:
          action = events.Event('requestPAGE',event.GetSelection(), 
_form=self.form)
--- 125,131 ----
    
    def notebookTabHandler(self,event):
      if event.GetEventType() == wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING:
!       #object = _IdToGFObj[_eventObjToQtWindow(event).GetId()]
        action = None
        if self.__notebookLoopTrap == 0:
          action = events.Event('requestPAGE',event.GetSelection(), 
_form=self.form)
***************
*** 156,164 ****
      
      # Only show first page
      if not self._fitted:
!       newWidget.show(1)
      else:
!       newWidget.show(0)
        
      self._pageList.append(newWidget)
  ##    self.fit()
--- 156,164 ----
      
      # Only show first page
      if not self._fitted:
!       newWidget.show()
      else:
!       newWidget.hide()
        
      self._pageList.append(newWidget)
  ##    self.fit()
***************
*** 176,184 ****
    def setPage(self, page): 
      for p in self._pageList:
        if p != page:
!         p.show(0)
        else:
!         p.show(1)
  
          
  _tabStyles = {'left': 0, ##Top,
--- 176,184 ----
    def setPage(self, page): 
      for p in self._pageList:
        if p != page:
!         p.hide()
        else:
!         p.show()
  
          
  _tabStyles = {'left': 0, ##Top,




reply via email to

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