commit-gnue
[Top][All Lists]
Advanced

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

gnue/forms/src/uidrivers/win32 GFwin32App.py To...


From: Bajusz Tamás
Subject: gnue/forms/src/uidrivers/win32 GFwin32App.py To...
Date: Tue, 15 Apr 2003 18:21:04 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Bajusz Tamás <address@hidden>   03/04/15 18:21:04

Modified files:
        forms/src/uidrivers/win32: GFwin32App.py ToolBar.py UIdriver.py 
        forms/src/uidrivers/win32/widgets: _base.py entry.py label.py 
        forms/src/uidrivers/win32/widgets/form: widget.py wrappers.py 

Log message:
        working checkbox and dropdown !

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/GFwin32App.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/ToolBar.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/UIdriver.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/_base.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/entry.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/label.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/form/widget.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: gnue/forms/src/uidrivers/win32/GFwin32App.py
diff -c gnue/forms/src/uidrivers/win32/GFwin32App.py:1.2 
gnue/forms/src/uidrivers/win32/GFwin32App.py:1.3
*** gnue/forms/src/uidrivers/win32/GFwin32App.py:1.2    Sun Mar  2 17:45:12 2003
--- gnue/forms/src/uidrivers/win32/GFwin32App.py        Tue Apr 15 18:21:03 2003
***************
*** 14,20 ****
    _mainLoop= None
    
    def __init__(self):
!     print "Win32App initializing"
      #wxInitAllImageHandlers()
  
    def MainLoop (self):
--- 14,20 ----
    _mainLoop= None
    
    def __init__(self):
!     pass
      #wxInitAllImageHandlers()
  
    def MainLoop (self):
***************
*** 22,29 ****
          # otherwise, the app does not finishes cleanly when several windows 
are open
          # 'cause the first mainloop gets all the events
          # and the others just sit and wait for something to happen
!         #if self._mainLoop==None:
!           #  self._mainLoop= 1
!             print "win32gui.PumpMessages()"
              win32gui.PumpMessages()
              
--- 22,28 ----
          # otherwise, the app does not finishes cleanly when several windows 
are open
          # 'cause the first mainloop gets all the events
          # and the others just sit and wait for something to happen
!         if self._mainLoop==None:
!             self._mainLoop= 1
              win32gui.PumpMessages()
              
Index: gnue/forms/src/uidrivers/win32/ToolBar.py
diff -c gnue/forms/src/uidrivers/win32/ToolBar.py:1.9 
gnue/forms/src/uidrivers/win32/ToolBar.py:1.10
*** gnue/forms/src/uidrivers/win32/ToolBar.py:1.9       Fri Mar 28 18:23:30 2003
--- gnue/forms/src/uidrivers/win32/ToolBar.py   Tue Apr 15 18:21:03 2003
***************
*** 27,33 ****
  # NOTES:
  #
  
! import string, sys, struct, os
  import win32api, win32gui, win32con, commctrl
  from gnue.forms.uidrivers.win32.widgets._base import Win32Window
  from gnue.forms.uidrivers._commonGuiToolkit.ToolBar import ToolBar as 
_BaseToolBar
--- 27,33 ----
  # NOTES:
  #
  
! import string, sys, struct, os, array
  import win32api, win32gui, win32con, commctrl
  from gnue.forms.uidrivers.win32.widgets._base import Win32Window
  from gnue.forms.uidrivers._commonGuiToolkit.ToolBar import ToolBar as 
_BaseToolBar
***************
*** 40,46 ****
    # Create the menu
    def init(self):
      hinst = win32api.GetModuleHandle(None)
!     style = win32con.WS_CHILD | commctrl.TBSTYLE_TOOLTIPS |win32con.WS_BORDER 
| commctrl.TBSTYLE_FLAT
      styleEx = 0
      self.toolbar = mainToolBar = Win32Window(self.driver, styleEx, 
commctrl.TOOLBARCLASSNAME, "GNUe toolbar",
        style, 0, 0, 0, 0,
--- 40,46 ----
    # Create the menu
    def init(self):
      hinst = win32api.GetModuleHandle(None)
!     style = win32con.WS_CHILD | commctrl.TBSTYLE_TOOLTIPS | 
commctrl.TBSTYLE_FLAT #|win32con.WS_BORDER 
      styleEx = 0
      self.toolbar = mainToolBar = Win32Window(self.driver, styleEx, 
commctrl.TOOLBARCLASSNAME, "GNUe toolbar",
        style, 0, 0, 0, 0,
***************
*** 49,56 ****
      win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_BUTTONSTRUCTSIZE, 
12, 0)
      win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBITMAPSIZE, 0, 
(24<<16) + 24) # 24x24
      win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBUTTONSIZE, 0, 
(24<<16) + 24)  # 24x24
!     win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_AUTOSIZE, 0, 0)
!     
      iconpath = GConfig.getInstalledBase('form_images', 'common_images')
      iconloc = os.path.join(iconpath, 'forms', 'toolbar-24x24.bmp')
      if not os.path.isfile(iconloc):
--- 49,59 ----
      win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_BUTTONSTRUCTSIZE, 
12, 0)
      win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBITMAPSIZE, 0, 
(24<<16) + 24) # 24x24
      win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBUTTONSIZE, 0, 
(24<<16) + 24)  # 24x24
!     #win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_AUTOSIZE, 0, 0)
! 
!     style = win32con.WS_CHILD | win32con.SS_SUNKEN
!     Win32Window(self.driver, 0, 'STATIC', '', style, 0, 30, 9999, 2, 
self.toolbar)
! 
      iconpath = GConfig.getInstalledBase('form_images', 'common_images')
      iconloc = os.path.join(iconpath, 'forms', 'toolbar-24x24.bmp')
      if not os.path.isfile(iconloc):
***************
*** 62,67 ****
--- 65,71 ----
        tbab = struct.pack("ii", 0, himl)
        win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETIMAGELIST, 
0, himl)
  
+     self._htt = win32gui.SendMessage(mainToolBar.GetHwnd(), 
commctrl.TB_GETTOOLTIPS, 0, 0)
      self._buttonCount = 0
      self.toolbar.Show()
  
***************
*** 83,89 ****
      # i have to count myself 'coz TB_BUTTONCOUNT counts separators too...
      self._buttonCount += 1
  
!     win32gui.SendMessage(parent.GetHwnd(), commctrl.TB_ADDSTRING, 0, 
userAction.description or '')
  
      return (parent, id)
  
--- 87,99 ----
      # i have to count myself 'coz TB_BUTTONCOUNT counts separators too...
      self._buttonCount += 1
  
! #    TOOLINFO stru (cbSize, uFlags, hwnd, uId, rect, hinst, lpszText, lParam)
!     buff = array.array('c', userAction.description or '' + "\0")
!     addrText = buff.buffer_info()[0]
!     format = "IIiIllllili"
!     size = struct.calcsize(format)
!     ti = struct.pack(format, size, commctrl.TTF_IDISHWND, parent.GetHwnd(), 
0, 0, 0, 0, 0, 0, addrText, 0)
!     win32gui.SendMessage(self._htt, commctrl.TTM_UPDATETIPTEXT , 0, ti)
  
      return (parent, id)
  
Index: gnue/forms/src/uidrivers/win32/UIdriver.py
diff -c gnue/forms/src/uidrivers/win32/UIdriver.py:1.7 
gnue/forms/src/uidrivers/win32/UIdriver.py:1.8
*** gnue/forms/src/uidrivers/win32/UIdriver.py:1.7      Tue Mar 18 16:27:04 2003
--- gnue/forms/src/uidrivers/win32/UIdriver.py  Tue Apr 15 18:21:03 2003
***************
*** 46,52 ****
  from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window, 
setWidgetBaseFont
  
  
- 
  def OnWMNotify(hwnd, msg, wParam, lParam, widget):
    return widget.OnWMNotify(hwnd, msg, wParam, lParam)
  
--- 46,51 ----
***************
*** 134,145 ****
      dc = dummyWindow.GetWindowDC()
      dc.SelectObject (font)
      metrics = dc.GetTextMetrics()
-     print metrics.items()
      maxWidth = metrics["tmMaxCharWidth"]
      maxHeight = metrics["tmHeight"]
      maxDescent = metrics["tmDescent"]
      maxLeading = metrics["tmInternalLeading"]
-     print "GetFullTextExtent",maxWidth,maxHeight,maxDescent,maxLeading
  
      self.textWidth    = int(maxWidth+maxLeading)  # The pixel width of text 
inside a widget
      self.textHeight   = int(maxHeight+maxDescent) + 2  # The pixel height of 
text inside a widget
--- 133,142 ----
***************
*** 167,176 ****
    # Tells the application to close it's main window
    #
    def _exit(self,formName):
-     print "_exit !!!", formName, self._children
      exitApp = 1
      for child in self._children:
-       print "child._form.name=",child._form.name
        if child._form.name == formName:
          child.mainWindow.Hide()
  
--- 164,171 ----
Index: gnue/forms/src/uidrivers/win32/widgets/_base.py
diff -c gnue/forms/src/uidrivers/win32/widgets/_base.py:1.9 
gnue/forms/src/uidrivers/win32/widgets/_base.py:1.10
*** gnue/forms/src/uidrivers/win32/widgets/_base.py:1.9 Fri Mar 28 18:23:30 2003
--- gnue/forms/src/uidrivers/win32/widgets/_base.py     Tue Apr 15 18:21:04 2003
***************
*** 72,85 ****
        # win32con.SetClassLong(hwnd, win32con.GCL_WNDPROC , wndproc)
        # so make instance subclassing (win32 terminology !)
        self._oldWndProc = win32gui.SetWindowLong(self._hwnd, 
win32con.GWL_WNDPROC, self._wndproc)
-     print windowTitle,className,self._id,self._hwnd
  
    def _wndproc(self, hwnd, msg, wParam, lParam):
      if msg == win32con.WM_LBUTTONDOWN:
-       win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, lParam)
-       gs = win32gui.SendMessage(hwnd, win32con.EM_GETSEL, 0, 0)
-       cursorPosition = win32api.HIWORD(gs)
-       print "cursorPosition=", cursorPosition
        gfObject = self._uiDriver._IdToGFObj[self._id]
        uiobject = self._uiDriver._IdToUIObj[self._id]
    
--- 72,80 ----
***************
*** 89,126 ****
          count = uiobject.widgets.index(self)
          uiobject._eventHandler('requestJUMPRECORD',count - 
gfObject._visibleIndex,_form=gfObject._form)
  
-       
uiobject._eventHandler('requestCURSORMOVE',position=cursorPosition,_form=gfObject._form)
        if gfObject._type == 'GFButton':
          self.SetFocus()
          self._connectTable[self._id](self._id)
  
      elif msg == win32con.WM_KEYDOWN:
        keycode = wParam
!       if keycode in NOT_WM_CHAR_KEYS:
!         object = self._uiDriver._IdToGFObj[self._id]
!         action = None
! 
!         ShiftDown = (win32api.GetKeyState(win32con.VK_SHIFT) & 0x8000) and 1 
or 0
!         ControlDown = (win32api.GetKeyState(win32con.VK_CONTROL) & 0x8000) 
and 1 or 0
!         AltDown = (win32api.GetKeyState(win32con.VK_MENU) & 0x8000) and 1 or 0
!         print "keydown in subclassed",keycode,ShiftDown,ControlDown,AltDown
  
!         command = GFKeyMapper.KeyMapper.getEvent(
!           keycode,
!           ShiftDown,
!           ControlDown,
!           AltDown)
  
!         if command:
!           action = events.Event('request%s' % command)
  
!           # Add the object's _form to the outgoing event
!           # rather than every event in the function
!           action.__dict__.update({'_form':object._form})
!           uiobject = self._uiDriver._IdToUIObj[self._id]
!           uiobject._eventHandler(action)
!       else:
!         return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
  
      elif msg == win32con.WM_CHAR:
        # The TranslateMessage function generates a WM_CHAR message 
--- 84,130 ----
          count = uiobject.widgets.index(self)
          uiobject._eventHandler('requestJUMPRECORD',count - 
gfObject._visibleIndex,_form=gfObject._form)
  
        if gfObject._type == 'GFButton':
          self.SetFocus()
          self._connectTable[self._id](self._id)
+       elif gfObject.style == 'checkbox':
+         uiobject._eventHandler('requestTOGGLECHKBOX',_form=gfObject._form)
+       else:
+         win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, lParam)
+         gs = win32gui.SendMessage(hwnd, win32con.EM_GETSEL, 0, 0)
+         cursorPosition = win32api.HIWORD(gs)
+         
uiobject._eventHandler('requestCURSORMOVE',position=cursorPosition,_form=gfObject._form)
  
      elif msg == win32con.WM_KEYDOWN:
        keycode = wParam
!       gfObject = self._uiDriver._IdToGFObj[self._id]
!       if (keycode in NOT_WM_CHAR_KEYS):
  
!         if gfObject.style == 'dropdown':
!           return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
  
!         else:
!           object = self._uiDriver._IdToGFObj[self._id]
!           action = None
  
!           ShiftDown = (win32api.GetKeyState(win32con.VK_SHIFT) & 0x8000) and 
1 or 0
!           ControlDown = (win32api.GetKeyState(win32con.VK_CONTROL) & 0x8000) 
and 1 or 0
!           AltDown = (win32api.GetKeyState(win32con.VK_MENU) & 0x8000) and 1 
or 0
! 
!           command = GFKeyMapper.KeyMapper.getEvent(
!             keycode,
!             ShiftDown,
!             ControlDown,
!             AltDown)
! 
!           if command:
!             action = events.Event('request%s' % command)
! 
!             # Add the object's _form to the outgoing event
!             # rather than every event in the function
!             action.__dict__.update({'_form':object._form})
!             uiobject = self._uiDriver._IdToUIObj[self._id]
!             uiobject._eventHandler(action)
  
      elif msg == win32con.WM_CHAR:
        # The TranslateMessage function generates a WM_CHAR message 
***************
*** 140,146 ****
        ShiftDown = (win32api.GetKeyState(win32con.VK_SHIFT) & 0x8000) and 1 or 0
        ControlDown = (win32api.GetKeyState(win32con.VK_CONTROL) & 0x8000) and 
1 or 0
        AltDown = (win32api.GetKeyState(win32con.VK_MENU) & 0x8000) and 1 or 0
-       print "keydown in subclassed",keycode,ShiftDown,ControlDown,AltDown
  
        #
        # Sigh... a hack for using <enter> in multiline entries
--- 144,149 ----
***************
*** 156,162 ****
  
        else:
  
- 
          #
          # Get the event to process from the KeyMapper
          #
--- 159,164 ----
***************
*** 165,174 ****
            ShiftDown,
            ControlDown,
            AltDown)
-         print "command=",command
        if command == 'NEWLINE':
!         action = events.Event('requestKEYPRESS', '\n',
!                      text='\n',
                       code=10)
  
        elif command and not keycode in NOT_WM_CHAR_KEYS:
--- 167,176 ----
            ShiftDown,
            ControlDown,
            AltDown)
        if command == 'NEWLINE':
!         win32gui.SendMessage(hwnd, win32con.EM_LINESCROLL, 1, 0)
!         action = events.Event('requestKEYPRESS', '\r\n',
!                      text='\r\n',
                       code=10)
  
        elif command and not keycode in NOT_WM_CHAR_KEYS:
***************
*** 178,187 ****
              action = events.Event('request%s' % command)
  
        elif object._type == 'GFButton':
-         print "elif GFButton"
          action = events.Event('buttonActivated',object)
  
!       elif object.style == 'checkbox' and object._type == 'GFEntry':
          # <space> <=> <click>
          if keycode == 32:
              action = events.Event('requestTOGGLECHKBOX')
--- 180,188 ----
              action = events.Event('request%s' % command)
  
        elif object._type == 'GFButton':
          action = events.Event('buttonActivated',object)
  
!       elif object.style == 'checkbox':
          # <space> <=> <click>
          if keycode == 32:
              action = events.Event('requestTOGGLECHKBOX')
***************
*** 191,202 ****
        else:
          try:
            char = chr(keycode)
            if char in string.printable or char == "\n" or \
              128 <= keycode <= 255:
              action = events.Event('requestKEYPRESS', char,
                           text=char,
                           code=keycode)
-             print "char=", char
          except ValueError:
            pass 
  
--- 192,203 ----
        else:
          try:
            char = chr(keycode)
+           import string
            if char in string.printable or char == "\n" or \
              128 <= keycode <= 255:
              action = events.Event('requestKEYPRESS', char,
                           text=char,
                           code=keycode)
          except ValueError:
            pass 
  
***************
*** 207,212 ****
--- 208,229 ----
          uiobject = self._uiDriver._IdToUIObj[self._id]
          uiobject._eventHandler(action)
  
+       if object.style == 'dropdown':
+         return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
+       
+     elif msg == win32con.WM_COMMAND:
+ 
+       if win32api.HIWORD(wParam) == win32con.CBN_SELCHANGE:
+         gfObject = self._uiDriver._IdToGFObj[self._id]
+         uiobject = self._uiDriver._IdToUIObj[self._id]
+         if gfObject.style == 'dropdown':
+           selection = self.GetValue()
+           string = gfObject._field.allowedValues()[1][selection]
+           uiobject._eventHandler('requestREPLACEVALUE',object=gfObject,
+                               index=selection, text=string,
+                             _form=gfObject._form)
+         return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
+ 
      else:
        return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
  
***************
*** 237,248 ****
    def SetFocus(self):
      win32gui.SetFocus(self._hwnd)
  
-   def setCursorPosition(self, position):
-     win32gui.SendMessage(self._hwnd, win32con.EM_SETSEL, position, position)
- 
-   def setSelectedArea(self, selection1, selection2):
-     win32gui.SendMessage(self._hwnd, win32con.EM_SETSEL, selection1, 
selection2)
- 
    def Enable(self, enabled):
      if enabled:
        win32gui.EnableWindow(self._hwnd, 1)
--- 254,259 ----
***************
*** 283,339 ****
          win32gui.SendMessage(hToolbar, commctrl.TB_AUTOSIZE, 0, 0)
      
    def OnWMCommand(self, hwnd, msg, wParam, lParam):
-     ###print "OnWMCommand Win32Window hwnd=", hwnd
      # menu/toolbar selection happend
      self._connectTable[wParam]()
  
    def OnWMNotify(self, hwnd, msg, wParam, lParam):
-     ###print "OnWMNotify Win32Window"
      # handling tabbed pages
      format = "iiiiiiiiiii"
      buf = win32gui.PyMakeBuffer(struct.calcsize(format), lParam)
      hwndFrom, idFrom, code, iItem, iSubItem, uNewState, uOldState, uChanged, 
actionx, actiony, lparam \
                = struct.unpack(format, buf)
!     if code == -552: # TCN_SELCHANGING
        window = self._uiDriver._IdToTkObj[hwndFrom]
        pageId = win32gui.SendMessage(window.GetHwnd(), commctrl.TCM_GETCURSEL, 
0, 0)
        window._children[pageId].Hide()
!     elif code == -2: # TCN_SELCHANGE
        window = self._uiDriver._IdToTkObj[hwndFrom]
        pageId = win32gui.SendMessage(window.GetHwnd(), commctrl.TCM_GETCURSEL, 
0, 0)
        window._children[pageId].Show()
  
  
  class Win32Entry(Win32Base):
      
    def SetValue(self, value):
!       object = self._uiDriver._IdToGFObj[self._id]
!       try:
!         if object.style == 'checkbox':
!           if value:
!             val = win32con.BST_CHECKED
!           else:
!             val = win32con.BST_UNCHECKED
!           win32gui.SendMessage(self._hwnd, win32con.BM_SETCHECK, val, 0)
!         elif object.style == 'dropdown':
!           win32gui.SendMessage(self._hwnd, win32con.CB_SELECTSTRING, -1, 
value) # CB_SETCURSEL, value, 0)
!         else:
!           win32gui.SetWindowText(self._hwnd, str(value))
!       except:
!         pass
! 
!   def GetValue(self):
!       object = self._uiDriver._IdToGFObj[self._id]
        if object.style == 'checkbox':
!         val = win32gui.SendMessage(self._hwnd, win32con.BM_GETCHECK, 0, 0) & 
win32con.BST_CHECKED
!         if val:
!           return 1
          else:
!           return 0
        elif object.style == 'dropdown':
!         return win32gui.SendMessage(self._hwnd, win32con.CB_GETCURSEL, 0, 0)
        else:
!         return win32gui.GetWindowText(self._hwnd)
  
  
  class Win32Button(Win32Base):
--- 294,358 ----
          win32gui.SendMessage(hToolbar, commctrl.TB_AUTOSIZE, 0, 0)
      
    def OnWMCommand(self, hwnd, msg, wParam, lParam):
      # menu/toolbar selection happend
      self._connectTable[wParam]()
  
    def OnWMNotify(self, hwnd, msg, wParam, lParam):
      # handling tabbed pages
      format = "iiiiiiiiiii"
      buf = win32gui.PyMakeBuffer(struct.calcsize(format), lParam)
      hwndFrom, idFrom, code, iItem, iSubItem, uNewState, uOldState, uChanged, 
actionx, actiony, lparam \
                = struct.unpack(format, buf)
!     if code == -552: #commctrl.TCN_SELCHANGING
        window = self._uiDriver._IdToTkObj[hwndFrom]
        pageId = win32gui.SendMessage(window.GetHwnd(), commctrl.TCM_GETCURSEL, 
0, 0)
        window._children[pageId].Hide()
!     elif code == -551: #commctrl.TCN_SELCHANGE
        window = self._uiDriver._IdToTkObj[hwndFrom]
        pageId = win32gui.SendMessage(window.GetHwnd(), commctrl.TCM_GETCURSEL, 
0, 0)
        window._children[pageId].Show()
+     elif code == -718: #commctrl.TTN_NEEDTEXT
+       # TODO
+       window = self._uiDriver._IdToTkObj[hwndFrom]
+       #print 'ToolTip needs text !!!',lParam
  
  
  class Win32Entry(Win32Base):
      
    def SetValue(self, value):
!     object = self._uiDriver._IdToGFObj[self._id]
!     try:
        if object.style == 'checkbox':
!         if value:
!           val = win32con.BST_CHECKED
          else:
!           val = win32con.BST_UNCHECKED
!         win32gui.SendMessage(self._hwnd, win32con.BM_SETCHECK, val, 0)
        elif object.style == 'dropdown':
!         win32gui.SendMessage(self._hwnd, win32con.CB_SELECTSTRING, -1, value) 
# CB_SETCURSEL, value, 0)
        else:
!         win32gui.SetWindowText(self._hwnd, str(value))
!     except:
!       pass
! 
!   def GetValue(self):
!     object = self._uiDriver._IdToGFObj[self._id]
!     if object.style == 'checkbox':
!       val = win32gui.SendMessage(self._hwnd, win32con.BM_GETCHECK, 0, 0) & 
win32con.BST_CHECKED
!       if val:
!         return 1
!       else:
!         return 0
!     elif object.style == 'dropdown':
!       return win32gui.SendMessage(self._hwnd, win32con.CB_GETCURSEL, 0, 0)
!     else:
!       return win32gui.GetWindowText(self._hwnd)
! 
!   def setCursorPosition(self, position):
!     win32gui.SendMessage(self._hwnd, win32con.EM_SETSEL, position, position)
! 
!   def setSelectedArea(self, selection1, selection2):
!     win32gui.SendMessage(self._hwnd, win32con.EM_SETSEL, selection1, 
selection2)
  
  
  class Win32Button(Win32Base):
***************
*** 347,353 ****
  class Win32Page(Win32Base):
  
    def OnWMCommand(self, hwnd, msg, wParam, lParam):
-     ###print "OnWMCommand Win32Page", hwnd, msg, wParam, lParam
      window = self._uiDriver._IdToTkObj[lParam]
      window.OnWMCommand(hwnd, msg, wParam, lParam)
  
--- 366,371 ----
***************
*** 380,391 ****
    # Override the base UIWidget functions
    #
    def show(self):
-     print "showing", self.widgets
      for widget in self.widgets:
        widget.Show()
  
    def hide(self):
-     print "hiding", self.widgets
      for widget in self.widgets:
        widget.Hide()
  
--- 398,407 ----
***************
*** 447,453 ****
      self.widgets[index].setSelectedArea(selection1, selection2)
  
    def createWidget(self, event, spacer):
-     print "creating:",event.object
      newWidget = self._createWidget(event, spacer)
      initFont(newWidget)
      self._addToCrossRef(newWidget,event.object,self)
--- 463,468 ----
Index: gnue/forms/src/uidrivers/win32/widgets/entry.py
diff -c gnue/forms/src/uidrivers/win32/widgets/entry.py:1.4 
gnue/forms/src/uidrivers/win32/widgets/entry.py:1.5
*** gnue/forms/src/uidrivers/win32/widgets/entry.py:1.4 Sun Mar  9 18:08:46 2003
--- gnue/forms/src/uidrivers/win32/widgets/entry.py     Tue Apr 15 18:21:04 2003
***************
*** 66,77 ****
        height = event.textHeight
        
      else: # Normal text box
!       style = win32con.WS_CHILD | win32con.ES_AUTOHSCROLL | \
!                  win32con.ES_NOHIDESEL | win32con.WS_BORDER
  
        if hasattr(object,'Char__height') and object.Char__height > 1:
!         style = style | win32con.ES_MULTILINE | win32con.WS_VSCROLL | \
!                win32con.ES_AUTOVSCROLL | win32con.ES_WANTRETURN
  
        styleEx = win32con.WS_EX_CLIENTEDGE
        className = "EDIT"
--- 66,77 ----
        height = event.textHeight
        
      else: # Normal text box
!       style = win32con.WS_CHILD | win32con.ES_NOHIDESEL | \
!                  win32con.WS_BORDER #| win32con.ES_AUTOHSCROLL
  
        if hasattr(object,'Char__height') and object.Char__height > 1:
!         style = style | win32con.ES_MULTILINE | win32con.ES_AUTOVSCROLL | \
!                 win32con.WS_VSCROLL #| win32con.ES_WANTRETURN
  
        styleEx = win32con.WS_EX_CLIENTEDGE
        className = "EDIT"
Index: gnue/forms/src/uidrivers/win32/widgets/form/widget.py
diff -c gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.10 
gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.11
*** gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.10  Tue Mar 18 
16:27:04 2003
--- gnue/forms/src/uidrivers/win32/widgets/form/widget.py       Tue Apr 15 
18:21:04 2003
***************
*** 158,164 ****
      try:
        self.statusBar
      except:
-       print "no statusBar here"
        return
        
      if tip != None:
--- 158,163 ----
Index: gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py
diff -c gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.5 
gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.6
*** gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.5 Tue Mar 18 
16:27:04 2003
--- gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py     Tue Apr 15 
18:21:04 2003
***************
*** 179,185 ****
      pageId = self._pageList.index(page)
      win32gui.SendMessage(self.pane.GetHwnd(), commctrl.TCM_SETCURSEL, pageId, 
0)
  
-     print "setPage",page,self._pageList
      for p in self._pageList:
        if p != page:
          p.Hide()
--- 179,184 ----
***************
*** 243,249 ****
      self._fitted = 1
  
    def setPage(self, page):
-     print "setPage",page,self._pageList
      for p in self._pageList:
        if p != page:
          p.Hide()
--- 242,247 ----
Index: gnue/forms/src/uidrivers/win32/widgets/label.py
diff -c gnue/forms/src/uidrivers/win32/widgets/label.py:1.3 
gnue/forms/src/uidrivers/win32/widgets/label.py:1.4
*** gnue/forms/src/uidrivers/win32/widgets/label.py:1.3 Sun Mar  9 18:08:46 2003
--- gnue/forms/src/uidrivers/win32/widgets/label.py     Tue Apr 15 18:21:04 2003
***************
*** 44,49 ****
--- 44,52 ----
  
    def _createWidget(self, event, spacer):
      object = event.object
+     if self.itemWidth == -1:
+       self.itemWidth = len(str(object.text))*event.widgetWidth
+       self.itemHeight = len(str(object.text))*event.widgetHeight
      style = self.alignmentStyle[object.alignment]
      styleEx = 0
      newWidget = Win32Window(self._uiDriver, styleEx, 'STATIC', 
str(object.text), style,




reply via email to

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