[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/forms/src/uidrivers/win32 MenuBar.py ToolB...
From: |
Bajusz Tamás |
Subject: |
gnue/forms/src/uidrivers/win32 MenuBar.py ToolB... |
Date: |
Sun, 09 Mar 2003 18:08:48 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Bajusz Tamás <address@hidden> 03/03/09 18:08:47
Modified files:
forms/src/uidrivers/win32: MenuBar.py ToolBar.py UIdriver.py
common.py
forms/src/uidrivers/win32/widgets: _base.py box.py button.py
entry.py label.py page.py
forms/src/uidrivers/win32/widgets/form: widget.py wrappers.py
Log message:
* more work on tabbed pages
* button events
* applying _commonGuiToolkit.UIdriver
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/MenuBar.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.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/UIdriver.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/common.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/_base.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/box.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/widgets/button.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/widgets/entry.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/label.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/widgets/page.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/form/widget.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: gnue/forms/src/uidrivers/win32/MenuBar.py
diff -c gnue/forms/src/uidrivers/win32/MenuBar.py:1.2
gnue/forms/src/uidrivers/win32/MenuBar.py:1.3
*** gnue/forms/src/uidrivers/win32/MenuBar.py:1.2 Tue Mar 4 07:49:36 2003
--- gnue/forms/src/uidrivers/win32/MenuBar.py Sun Mar 9 18:08:46 2003
***************
*** 49,55 ****
win32gui.AppendMenu( parent, _menustyle, menu, name )
# One would think this would go in init(),
# but, no... win32 has to be a jerkoff.
! win32gui.SetMenu(self.container.GetId(), self.menu )
return menu
# Add a menu item (action)
--- 49,55 ----
win32gui.AppendMenu( parent, _menustyle, menu, name )
# One would think this would go in init(),
# but, no... win32 has to be a jerkoff.
! win32gui.SetMenu(self.container.GetHwnd(), self.menu )
return menu
# Add a menu item (action)
Index: gnue/forms/src/uidrivers/win32/ToolBar.py
diff -c gnue/forms/src/uidrivers/win32/ToolBar.py:1.4
gnue/forms/src/uidrivers/win32/ToolBar.py:1.5
*** gnue/forms/src/uidrivers/win32/ToolBar.py:1.4 Sat Mar 8 14:59:05 2003
--- gnue/forms/src/uidrivers/win32/ToolBar.py Sun Mar 9 18:08:46 2003
***************
*** 44,57 ****
styleEx = 0
self.toolbar = mainToolBar = Win32Window(self.driver, styleEx,
commctrl.TOOLBARCLASSNAME, "GNUe toolbar",
style, 0, 0, 0, 0,
! self.container, 8002, hinst)
! win32gui.SendMessage(mainToolBar.GetId(), commctrl.TB_BUTTONSTRUCTSIZE,
12, 0);
! ## win32gui.SendMessage(mainToolBar.GetId(), commctrl.TB_SETBITMAPSIZE, 0,
0x00200020); # 32x32
! ## win32gui.SendMessage(mainToolBar.GetId(), commctrl.TB_SETBUTTONSIZE, 0,
0x00200020); # 32x32
! win32gui.SendMessage(mainToolBar.GetId(), commctrl.TB_SETBITMAPSIZE, 0,
0x00180018); # 24x24
! win32gui.SendMessage(mainToolBar.GetId(), commctrl.TB_SETBUTTONSIZE, 0,
0x00180018); # 24x24
! win32gui.SendMessage(mainToolBar.GetId(), commctrl.TB_AUTOSIZE, 0, 0)
self.toolbar.Show()
--- 44,57 ----
styleEx = 0
self.toolbar = mainToolBar = Win32Window(self.driver, styleEx,
commctrl.TOOLBARCLASSNAME, "GNUe toolbar",
style, 0, 0, 0, 0,
! self.container, getNextId(), hinst)
! win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_BUTTONSTRUCTSIZE,
12, 0);
! ## win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBITMAPSIZE,
0, 0x00200020); # 32x32
! ## win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBUTTONSIZE,
0, 0x00200020); # 32x32
! win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBITMAPSIZE, 0,
0x00180018); # 24x24
! win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_SETBUTTONSIZE, 0,
0x00180018); # 24x24
! win32gui.SendMessage(mainToolBar.GetHwnd(), commctrl.TB_AUTOSIZE, 0, 0)
self.toolbar.Show()
***************
*** 88,100 ****
# Pack up the image
tbab = struct.pack("ii", 0, hIcon)
! iBitmap = win32gui.SendMessage(parent.GetId(), commctrl.TB_ADDBITMAP, 1,
tbab)
# TBBUTTON stru (iBitmap, idCommand, fsState, fsStyle, dwData, iString)
tbb=struct.pack("iiiili", iBitmap, id, commctrl.TBSTATE_ENABLED,
commctrl.TBSTYLE_BUTTON, 0, 0)
! win32gui.SendMessage(parent.GetId(), commctrl.TB_ADDBUTTONS, 1, tbb)
! win32gui.SendMessage(parent.GetId(), commctrl.TB_ADDSTRING, 0,
userAction.description or '');
return (parent, id)
--- 88,100 ----
# Pack up the image
tbab = struct.pack("ii", 0, hIcon)
! iBitmap = win32gui.SendMessage(parent.GetHwnd(), commctrl.TB_ADDBITMAP,
1, tbab)
# TBBUTTON stru (iBitmap, idCommand, fsState, fsStyle, dwData, iString)
tbb=struct.pack("iiiili", iBitmap, id, commctrl.TBSTATE_ENABLED,
commctrl.TBSTYLE_BUTTON, 0, 0)
! win32gui.SendMessage(parent.GetHwnd(), commctrl.TB_ADDBUTTONS, 1, tbb)
! win32gui.SendMessage(parent.GetHwnd(), commctrl.TB_ADDSTRING, 0,
userAction.description or '');
return (parent, id)
***************
*** 103,109 ****
def addSeparator(self):
# TODO: this doesn't work
# tbb=struct.pack("iiiili", -1, 0, commctrl.TBSTATE_ENABLED,
commctrl.TBSTYLE_SEP, 0, 0)
! # win32gui.SendMessage(self.toolbar.GetId(), commctrl.TB_ADDBUTTONS, 1,
tbb)
return
self.toolbar.AddSeparator()
--- 103,109 ----
def addSeparator(self):
# TODO: this doesn't work
# tbb=struct.pack("iiiili", -1, 0, commctrl.TBSTATE_ENABLED,
commctrl.TBSTYLE_SEP, 0, 0)
! # win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_ADDBUTTONS,
1, tbb)
return
self.toolbar.AddSeparator()
Index: gnue/forms/src/uidrivers/win32/UIdriver.py
diff -c gnue/forms/src/uidrivers/win32/UIdriver.py:1.3
gnue/forms/src/uidrivers/win32/UIdriver.py:1.4
*** gnue/forms/src/uidrivers/win32/UIdriver.py:1.3 Wed Mar 5 16:10:37 2003
--- gnue/forms/src/uidrivers/win32/UIdriver.py Sun Mar 9 18:08:46 2003
***************
*** 38,53 ****
from gnue.forms import VERSION
from gnue.forms.GFForm import *
! from gnue.forms.uidrivers._base.UIdriver import *
from gnue.forms.uidrivers.win32.GFwin32App import *
#from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
from gnue.forms.uidrivers.win32.widgets._base import *
from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window,
setWidgetBaseFont
! from common import *
- _PROMPTFORRECORD = None
def treeShow(object, uiDriver):
try:
print "Object ",object, object.Show(), object.GetParent(),
uiDriver._IdToGFObj[object.GetId()]
--- 38,53 ----
from gnue.forms import VERSION
from gnue.forms.GFForm import *
! from gnue.forms.uidrivers._commonGuiToolkit import UIdriver as commonToolkit
from gnue.forms.uidrivers.win32.GFwin32App import *
#from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
from gnue.forms.uidrivers.win32.widgets._base import *
from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window,
setWidgetBaseFont
!
! #from common import *
def treeShow(object, uiDriver):
try:
print "Object ",object, object.Show(), object.GetParent(),
uiDriver._IdToGFObj[object.GetId()]
***************
*** 62,76 ****
print "OnWMLButtonDown hwnd,widget=",hwnd,widget
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
def OnWMDestroy(hwnd, msg, wParam, lParam, widget):
win32gui.PostQuitMessage(0) # Terminate the app.
def OnWMClose(hwnd, msg, wParam, lParam, widget):
win32gui.DestroyWindow(hwnd)
- #def OnWMPaint(hwnd, msg, wParam, lParam, widget):
- # return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
-
#def OnWMSize(hwnd, msg, wParam, lParam, widget):
# return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
--- 62,76 ----
print "OnWMLButtonDown hwnd,widget=",hwnd,widget
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
+ def OnWMNotify(hwnd, msg, wParam, lParam, widget):
+ return widget.OnWMNotify(hwnd, msg, wParam, lParam)
+
def OnWMDestroy(hwnd, msg, wParam, lParam, widget):
win32gui.PostQuitMessage(0) # Terminate the app.
def OnWMClose(hwnd, msg, wParam, lParam, widget):
win32gui.DestroyWindow(hwnd)
#def OnWMSize(hwnd, msg, wParam, lParam, widget):
# return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
***************
*** 87,119 ****
# The public interface to the User Interface
# All UIs must provide this class
#
! class GFUserInterface(GFUserInterfaceBase):
_wndclass = None
_message_map = {
win32con.WM_LBUTTONDOWN : OnWMLButtonDown,
win32con.WM_DESTROY : OnWMDestroy,
win32con.WM_CLOSE : OnWMClose,
# win32con.WM_SIZE : OnWMSize,
win32con.WM_COMMAND : OnWMCommand,
- # win32con.WM_PAINT : OnWMPaint,
}
def __init__(self, eventController, disableSplash = None):
! GFUserInterfaceBase.__init__(self,eventController)
!
! self._disableSplash = disableSplash
!
! self._DIALOGS = {'about' :UIAbout,
! 'messageBox' :UIMessageBox,
! }
! # Shortcut
! self.images_dir =
GConfig.getInstalledBase('forms_images','common_images') + '/'
!
! self._IdToWin32Obj = {}
! self._IdToGFObj = {}
! self._IdToUIObj = {}
!
self._disabledColour = afxres.AFX_IDC_COLOR_LIGHTGRAY
################################################################
--- 87,106 ----
# The public interface to the User Interface
# All UIs must provide this class
#
! class GFUserInterface(commonToolkit.GFUserInterface):
_wndclass = None
_message_map = {
win32con.WM_LBUTTONDOWN : OnWMLButtonDown,
+ win32con.WM_NOTIFY : OnWMNotify,
win32con.WM_DESTROY : OnWMDestroy,
win32con.WM_CLOSE : OnWMClose,
# win32con.WM_SIZE : OnWMSize,
win32con.WM_COMMAND : OnWMCommand,
}
def __init__(self, eventController, disableSplash = None):
! commonToolkit.GFUserInterface.__init__(self,eventController,disableSplash)
self._disabledColour = afxres.AFX_IDC_COLOR_LIGHTGRAY
################################################################
***************
*** 132,138 ****
def _wndproc(self, hwnd, msg, wParam, lParam):
try:
! widget = self._IdToWin32Obj[hwnd]
#print "idget calling _wndproc", widget, hwnd
except:
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
--- 119,125 ----
def _wndproc(self, hwnd, msg, wParam, lParam):
try:
! widget = self._IdToTkObj[hwnd]
#print "idget calling _wndproc", widget, hwnd
except:
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
***************
*** 153,160 ****
# if not self._disableSplash:
# self.splash = UIWXSplashScreen()
- global _PROMPTFORRECORD
- _PROMPTFORRECORD = self.promptForRecordNumber
#
# Create a dummy window used to compute sizes
--- 140,145 ----
***************
*** 185,208 ****
- def _activateForm(self, form, modal=0):
-
-
- # Go ahead and display
-
- # TODO : hack!!!!!!!!!!!!!!
- for key in self._formNameToUIForm.keys():
- if self._formNameToUIForm[key]._form == form:
- break
-
- ## self._formNameToUIForm[key].mainWindow.Raise()
- self._formNameToUIForm[key].mainWindow.Show()
-
- self._formNameToUIForm[key].show()
-
- treeShow(self._formNameToUIForm[key].mainWindow, self)
-
-
#############################################################################
#
# Private UIBase support functions
--- 170,175 ----
***************
*** 216,231 ****
#
# Tells the application to close it's main window
#
! def _exit(self):
! #TODO
! self._children[0].mainWindow.Close(true)
!
! # Can be used by UI drivers to add more attributes to the creation event.
! def _updateCreateEvent(self, event):
! event.eventHandler = self.dispatchEvent
! event.ui = self
! return event
#############################################################################
#
--- 183,203 ----
#
# Tells the application to close it's main window
#
! def _exit(self,formName):
! exitApp = 1
! for child in self._children:
! if child._form.name == formName:
! child.mainWindow.Hide()
!
! exitApp = exitApp and not child.mainWindow.IsShown()
!
! if exitApp:
! for child in self._children:
! child.mainWindow.Close(true)
+ def _beep(self):
+ pass
+ #wxBell()
#############################################################################
#
***************
*** 252,258 ****
def formAlert(self, event):
pass
# wxBell()
! # self.statusBar.SetStatusText(event.data,0)
#
# Called whenever forms goes into a "wait" state in which user cannot
--- 224,230 ----
def formAlert(self, event):
pass
# wxBell()
! self.statusBar.SetStatusText(event.data,0)
#
# Called whenever forms goes into a "wait" state in which user cannot
***************
*** 292,304 ****
#
- # promptForRecordNumber
- #
- # Presents a dialog to user asking for the record number to jump to
- #
- def promptForRecordNumber(self, event=None):
- print "promptForRecordNumber"
- #
# closeTrap
#
# intercepts the applications closure and generates an event to the form
requesting
--- 264,269 ----
***************
*** 312,354 ****
object = _eventObjToWin32Window(event)
object.Destroy()
# wxExit() TODO: Try and work this into navigator or here if it still
hangs
-
- #####################################################################
- ##
- ## Required Dialog box support
- ##
- #####################################################################
-
- #
- # UIAbout
- #
- # A dialog box providing about info
- #
- #class UIAbout(wxMessageDialog, UIHelper):
- class UIAbout(UIHelper):
- def __init__(self, interface, programVersion, formName, formVersion,
author, description):
- text = _("GNUE Forms")+"\n"+ \
- _(" Version : ")+"%s\n"+ \
- _(" Driver : UIwxpython")+"\n"+ \
- _("-= Form Info =-")+"\n"+ \
- _(" Name : ")+"%s\n"+ \
- _(" Version: ")+"%s\n"+ \
- _(" Author : ")+"%s\n"+ \
- _(" Description:")+"%s\n"
- # wxMessageDialog.__init__(self, interface,
- # text % (programVersion, formName
,formVersion,author,description),
- # _("About"), wxOK | wxICON_INFORMATION)
- win32api.MessageBox(None,
- text % (programVersion, formName ,formVersion,author,description),
- _("About"), win32con.MB_OK)
- #
- # UImessageBox
- #
- # A dialog box providing basic message info
- #
- #class UIMessageBox(wxMessageDialog, UIHelper):
- class UIMessageBox(UIHelper):
- def __init__(self, interface, message, caption):
- message = lineWrap(message,60)
- # wxMessageDialog.__init__(self, interface, message, caption,
style=wxOK|wxICON_EXCLAMATION)
- win32api.MessageBox(None, message, caption, win32con.MB_OK)
--- 277,279 ----
Index: gnue/forms/src/uidrivers/win32/common.py
diff -c gnue/forms/src/uidrivers/win32/common.py:1.4
gnue/forms/src/uidrivers/win32/common.py:1.5
*** gnue/forms/src/uidrivers/win32/common.py:1.4 Sat Mar 8 23:08:50 2003
--- gnue/forms/src/uidrivers/win32/common.py Sun Mar 9 18:08:46 2003
***************
*** 51,72 ****
# TODO: Not completed
#
def initFont(widget, affectsLayout=1):
- ## if int(gConfigForms('fixedWidthFont')):
- ##
widget.SetFont(wxFont(int(gConfigForms('pointSize')),wxMODERN,wxNORMAL,\
- ##
wxNORMAL,FALSE,'',encodings[gConfig('textEncoding')]))
global _font
- # win32gui.SendMessage(widget.GetId(),
- # WM_SETFONT,
- # _font,
- # 0)
widget.SetFont(_font)
font_spec = {'name':'Courier New', 'height':int(gConfig('pointSize'))}
_font = win32ui.CreateFont (font_spec)
-
- #_font = win32gui.GetStockObject(SYSTEM_FIXED_FONT) #ANSI OEM SYSTEM
- #fn = win32gui.GetObject(_font)
- #print fn.lfHeight, fn.lfWidth,fn.lfCharSet,fn.lfPitchAndFamily
def setWidgetBaseFont(font):
global _font
--- 51,61 ----
Index: gnue/forms/src/uidrivers/win32/widgets/_base.py
diff -c gnue/forms/src/uidrivers/win32/widgets/_base.py:1.3
gnue/forms/src/uidrivers/win32/widgets/_base.py:1.4
*** gnue/forms/src/uidrivers/win32/widgets/_base.py:1.3 Wed Mar 5 16:10:37 2003
--- gnue/forms/src/uidrivers/win32/widgets/_base.py Sun Mar 9 18:08:46 2003
***************
*** 27,33 ****
# NOTES:
#
! import win32gui, win32con, win32ui
from gnue.common import events
--- 27,35 ----
# NOTES:
#
! from types import StringType
! import win32api, win32gui, win32con, win32ui, commctrl
! import struct
from gnue.common import events
***************
*** 36,75 ****
from gnue.forms.uidrivers.win32.common import *
class Win32Base:
_connectTable = {}
! def Create(self, styleEx, className, windowTitle, style, x,y, width,height,
parent,menu=0,instance=0):
if parent == 0:
hparent = 0
else:
! hparent = parent.GetId()
self._parent = parent
self._children = []
if parent:
parent._children.append(self)
! self._whnd = win32gui.CreateWindowEx(styleEx, className, windowTitle,
style, x,y, width,height, hparent, menu, instance, None)
! self._PyCWnd = win32ui.CreateWindowFromHandle(self._whnd)
! return self._whnd
def SetFont(self,font):
self._PyCWnd.SetFont(font,1)
def GetId(self):
! return self._whnd
def Show(self):
! try:
! win32gui.ShowWindow(self._whnd, win32con.SW_SHOWNORMAL)
! except:
! print "Show failed"
def Hide(self):
try:
! win32gui.ShowWindow(self._whnd, win32con.SW_HIDE)
except:
pass
--- 38,87 ----
from gnue.forms.uidrivers.win32.common import *
+ #TCN_SELCHANGE = (commctrl.TCN_FIRST - 1)
+ #TCN_SELCHANGING = (commctrl.TCN_FIRST - 2)
+
class Win32Base:
_connectTable = {}
! def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
if parent == 0:
hparent = 0
else:
! hparent = parent.GetHwnd()
+ self._id = menu
+
self._parent = parent
self._children = []
if parent:
parent._children.append(self)
! self._hwnd = win32gui.CreateWindowEx(styleEx, className, windowTitle,
style, x,y, width,height, hparent, menu, instance, None)
! self._PyCWnd = win32ui.CreateWindowFromHandle(self._hwnd)
! self._uiDriver = uidriver
! uidriver._IdToTkObj[self._hwnd] = self
+ if type(className) == StringType: # STATIC BUTTON COMBOBOX EDIT
+ self.Show()
+ print windowTitle,className,self._id,self._hwnd
+
def SetFont(self,font):
self._PyCWnd.SetFont(font,1)
def GetId(self):
! return self._id
!
! def GetHwnd(self):
! return self._hwnd
def Show(self):
! win32gui.ShowWindow(self._hwnd, win32con.SW_SHOWNORMAL)
def Hide(self):
try:
! win32gui.ShowWindow(self._hwnd, win32con.SW_HIDE)
except:
pass
***************
*** 80,189 ****
return self._children
def SetFocus(self):
! win32gui.SendMessage(self._whnd, win32con.WM_SETFOCUS, 0, 0)
def Enable(self, enabled):
if enabled:
! win32gui.EnableWindow(self._whnd, 1)
else:
! win32gui.EnableWindow(self._whnd, 0)
def Destroy(self):
! win32gui.DestroyWindow(self._whnd)
def Connect(self, id, func):
self._connectTable[id] = func
-
-
- class Win32Window(Win32Base):
- def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
- whnd=Win32Base.Create(self, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0)
- uidriver._IdToWin32Obj[whnd] = self
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Window hwnd=", hwnd
! self._connectTable[wParam]()
!
!
! class Win32Box(Win32Base):
! def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
! whnd=Win32Base.Create(self, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0)
! uidriver._IdToWin32Obj[whnd] = self
! def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Box"
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
! class Win32Label(Win32Base):
! def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
! whnd=Win32Base.Create(self, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0)
! uidriver._IdToWin32Obj[whnd] = self
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Label"
! return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
class Win32Entry(Win32Base):
- def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
- whnd=Win32Base.Create(self, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0)
- uidriver._IdToWin32Obj[whnd] = self
- self._uiDriver = uidriver
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Entry"
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
def SetValue(self, value):
! object = self._uiDriver._IdToGFObj[self._whnd]
! if object.style == 'checkbox':
! if value:
! val = win32con.BST_CHECKED
else:
! val = win32con.BST_UNCHECKED
! win32gui.SendMessage(self._whnd, win32con.BM_SETCHECK, val, 0)
! elif object.style == 'dropdown':
! win32gui.SendMessage(self._whnd, win32con.CB_SELECTSTRING, -1, value)
# CB_SETCURSEL, value, 0)
! else:
! win32gui.SetWindowText(self._whnd, str(value))
def GetValue(self):
! object = self._uiDriver._IdToGFObj[self._whnd]
if object.style == 'checkbox':
! val = win32gui.SendMessage(self._whnd, win32con.BM_GETCHECK, 0, 0) &
win32con.BST_CHECKED
if val:
return 1
else:
return 0
elif object.style == 'dropdown':
! return win32gui.SendMessage(self._whnd, win32con.CB_GETCURSEL, 0, 0)
else:
! return win32gui.GetWindowText(self._whnd)
class Win32Button(Win32Base):
- def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
- whnd=Win32Base.Create(self, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0)
- uidriver._IdToWin32Obj[whnd] = self
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print 'OnWMCommand in Win32Button', hwnd, wParam
! if win32api.LOWORD(wParam) == win32con.BN_CLICKED:
! print "button clicked"
! gfObject = self._uiDriver._IdToGFObj[hwnd]
! action = events.Event('buttonActivated',gfObject)
! self._eventHandler(action)
class Win32Page(Win32Base):
- def __init__(self, uidriver, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0):
- whnd=Win32Base.Create(self, styleEx, className, windowTitle, style, x,y,
width,height, parent,menu=0,instance=0)
- uidriver._IdToWin32Obj[whnd] = self
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Page", hwnd
! return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
#
# UIHelper
--- 92,196 ----
return self._children
def SetFocus(self):
! win32gui.SendMessage(self._hwnd, win32con.WM_SETFOCUS, 0, 0)
def Enable(self, enabled):
if enabled:
! win32gui.EnableWindow(self._hwnd, 1)
else:
! win32gui.EnableWindow(self._hwnd, 0)
def Destroy(self):
! win32gui.DestroyWindow(self._hwnd)
def Connect(self, id, func):
self._connectTable[id] = func
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
! def OnWMNotify(self, hwnd, msg, wParam, lParam):
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
!
! class Win32Window(Win32Base):
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Window hwnd=", hwnd
! self._connectTable[wParam]()
!
! def OnWMNotify(self, hwnd, msg, wParam, lParam):
! print "OnWMNotify Win32Window", hwnd, msg, wParam, lParam
! 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 OnWMCommand(self, hwnd, msg, wParam, lParam):
! print "OnWMCommand Win32Entry", hwnd, msg, wParam, lParam
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
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):
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! print 'OnWMCommand in Win32Button', hwnd, msg, wParam, lParam
! print self._connectTable[wParam]
! self._connectTable[wParam](wParam)
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)
!
! def OnWMNotify(self, hwnd, msg, wParam, lParam):
! print "OnWMNotify Win32Page", hwnd, msg, wParam, lParam
! self._uiDriver._IdToTkObj[lParam].Show()
!
#
# UIHelper
***************
*** 194,200 ****
class UIHelper(UIWidget):
def _addToCrossRef(self, widget, gfobject, uiobject):
id = widget.GetId()
! # self._uiDriver._IdToWin32Obj[id]=widget
self._uiDriver._IdToGFObj[id]=gfobject
self._uiDriver._IdToUIObj[id]=uiobject
# widget.__origBackgroundColor = widget.GetBackgroundColour()
--- 201,207 ----
class UIHelper(UIWidget):
def _addToCrossRef(self, widget, gfobject, uiobject):
id = widget.GetId()
! # self._uiDriver._IdToTkObj[id]=widget
self._uiDriver._IdToGFObj[id]=gfobject
self._uiDriver._IdToUIObj[id]=uiobject
# widget.__origBackgroundColor = widget.GetBackgroundColour()
***************
*** 202,216 ****
def _deleteFromCrossRef(self, widget, object):
id = widget.GetId()
try:
! # del self._uiDriver._IdToWin32Obj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
except:
pass
- def GetChildren(self):
- return self.widgets
-
#
# Override the base UIWidget functions
#
--- 209,220 ----
def _deleteFromCrossRef(self, widget, object):
id = widget.GetId()
try:
! # del self._uiDriver._IdToTkObj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
except:
pass
#
# Override the base UIWidget functions
#
***************
*** 226,235 ****
def showModal(self):
! pass
! # def destroy(self):
! # win32gui.DestroyWindow(self)
def indexedFocus(self, index):
--- 230,241 ----
def showModal(self):
! for widget in self.widgets:
! widget.Show()
! def destroy(self):
! for widget in self.widgets:
! self.Destroy()
def indexedFocus(self, index):
***************
*** 293,299 ****
def cleanup(self, object):
for widget in self.widgets[:]:
id = widget.GetId()
! # del self._uiDriver._IdToWin32Obj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
self.widgets.pop(0)
--- 299,305 ----
def cleanup(self, object):
for widget in self.widgets[:]:
id = widget.GetId()
! # del self._uiDriver._IdToTkObj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
self.widgets.pop(0)
Index: gnue/forms/src/uidrivers/win32/widgets/box.py
diff -c gnue/forms/src/uidrivers/win32/widgets/box.py:1.2
gnue/forms/src/uidrivers/win32/widgets/box.py:1.3
*** gnue/forms/src/uidrivers/win32/widgets/box.py:1.2 Sun Mar 2 17:45:12 2003
--- gnue/forms/src/uidrivers/win32/widgets/box.py Sun Mar 9 18:08:46 2003
***************
*** 28,34 ****
#
import win32gui, win32con
! from gnue.forms.uidrivers.win32.widgets._base import *
#
# UIBox
--- 28,34 ----
#
import win32gui, win32con
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Window
#
# UIBox
***************
*** 42,54 ****
object = event.object
style = win32con.WS_CHILD | win32con.SS_ETCHEDFRAME
styleEx = 0
! newWidget = Win32Box(self._uiDriver, styleEx, 'STATIC',
str(object.label), style,
object.Char__x*event.widgetWidth+(event.widgetWidth/2),
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight+(event.widgetHeight/2),
(object.Char__width-1)*event.widgetWidth,
(object.Char__height-1)*event.widgetHeight,
event.container)
-
return newWidget
--- 42,53 ----
object = event.object
style = win32con.WS_CHILD | win32con.SS_ETCHEDFRAME
styleEx = 0
! newWidget = Win32Window(self._uiDriver, styleEx, 'STATIC',
str(object.label), style,
object.Char__x*event.widgetWidth+(event.widgetWidth/2),
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight+(event.widgetHeight/2),
(object.Char__width-1)*event.widgetWidth,
(object.Char__height-1)*event.widgetHeight,
event.container)
return newWidget
Index: gnue/forms/src/uidrivers/win32/widgets/button.py
diff -c gnue/forms/src/uidrivers/win32/widgets/button.py:1.2
gnue/forms/src/uidrivers/win32/widgets/button.py:1.3
*** gnue/forms/src/uidrivers/win32/widgets/button.py:1.2 Sun Mar 2
17:45:12 2003
--- gnue/forms/src/uidrivers/win32/widgets/button.py Sun Mar 9 18:08:46 2003
***************
*** 29,37 ****
import win32gui, win32con
! from gnue.forms.uidrivers.win32.widgets._base import *
! from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window
! from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers
#
# UIButton
--- 29,37 ----
import win32gui, win32con
! from gnue.common import events
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Button
! from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers,
getNextId
#
# UIButton
***************
*** 41,50 ****
class UIButton(UIHelper):
def _createWidget(self, event, spacer):
object = event.object
- # newWidget = wxButton(event.container,-1,str(object.label),
- #
wxPoint(object.Char__x*event.widgetWidth,(object.Char__y+spacer)*event.widgetHeight),
- #
wxSize(object.Char__width*event.widgetWidth,object.Char__height*event.widgetHeight)
- # )
style = win32con.BS_PUSHBUTTON | win32con.WS_CHILD
styleEx = 0
newWidget = Win32Button(self._uiDriver, styleEx, 'BUTTON',
str(object.label), style,
--- 41,46 ----
***************
*** 52,60 ****
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight,
object.Char__width*event.widgetWidth,
object.Char__height*event.widgetHeight,
! event.container)
return newWidget
configuration = {
'baseClass' : UIButton,
--- 48,68 ----
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight,
object.Char__width*event.widgetWidth,
object.Char__height*event.widgetHeight,
! event.container, getNextId())
! if event.initialize:
! self._eventHandler = event.eventHandler
! event.container.Connect(newWidget.GetId(), self.buttonHandler)
! _setDefaultEventHandlers(newWidget, event.eventHandler,
event.initialize, self._uiDriver)
!
return newWidget
+ # def buttonHandler(self,event):
+ def buttonHandler(self, id):
+ print "in buttonHandler id=", id
+ action = None
+ gfObject = self._uiDriver._IdToGFObj[id]
+ action = events.Event('buttonActivated',gfObject)
+ self._eventHandler(action)
configuration = {
'baseClass' : UIButton,
Index: gnue/forms/src/uidrivers/win32/widgets/entry.py
diff -c gnue/forms/src/uidrivers/win32/widgets/entry.py:1.3
gnue/forms/src/uidrivers/win32/widgets/entry.py:1.4
*** gnue/forms/src/uidrivers/win32/widgets/entry.py:1.3 Wed Mar 5 16:10:37 2003
--- gnue/forms/src/uidrivers/win32/widgets/entry.py Sun Mar 9 18:08:46 2003
***************
*** 30,38 ****
import win32gui, win32con
from gnue.common import events
! from gnue.forms.uidrivers.win32.widgets._base import *
! from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window
! from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers
#
# UIEntry
--- 30,37 ----
import win32gui, win32con
from gnue.common import events
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Entry
! from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers,
getNextId
#
# UIEntry
***************
*** 82,92 ****
(object.Char__y+spacer+(object._gap*spacer))*event.widgetHeight,
width,
height,
! event.container)
if ostyle == 'dropdown':
for item in object._field.allowedValues()[1]:
! win32gui.SendMessage(newWidget.GetId(), win32con.CB_ADDSTRING, 0,
item)
self._eventHandler = event.eventHandler
if event.initialize:
--- 81,91 ----
(object.Char__y+spacer+(object._gap*spacer))*event.widgetHeight,
width,
height,
! event.container, getNextId())
if ostyle == 'dropdown':
for item in object._field.allowedValues()[1]:
! win32gui.SendMessage(newWidget.GetHwnd(), win32con.CB_ADDSTRING, 0,
item)
self._eventHandler = event.eventHandler
if event.initialize:
Index: gnue/forms/src/uidrivers/win32/widgets/form/widget.py
diff -c gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.6
gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.7
*** gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.6 Sat Mar 8
23:08:50 2003
--- gnue/forms/src/uidrivers/win32/widgets/form/widget.py Sun Mar 9
18:08:46 2003
***************
*** 31,37 ****
import win32api, win32gui, win32con, commctrl
from gnue.forms.uidrivers.win32.common import *
- from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window
from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Window
from gnue.forms.uidrivers.win32.MenuBar import MenuBar
from gnue.forms.uidrivers.win32.ToolBar import ToolBar
--- 31,36 ----
***************
*** 111,121 ****
styleEx = 0
self.statusBar = Win32Window(self._uiDriver, styleEx,
commctrl.STATUSCLASSNAME, "",
style, 0, 0, 0, 0,
! self.mainWindow, 8001, hinst)
x=formWidth*self._uiDriver.widgetWidth
statwidths =
struct.pack("iiiii",x-75-75-50-50,x-75-75-50,x-75-75,x-75,x)
! win32gui.SendMessage(self.statusBar.GetId(), commctrl.SB_SETPARTS, 5,
statwidths)
! win32gui.SendMessage(self.statusBar.GetId(), win32con.WM_SIZE, 0, 0)
self._eventHandler = event.eventHandler
--- 110,120 ----
styleEx = 0
self.statusBar = Win32Window(self._uiDriver, styleEx,
commctrl.STATUSCLASSNAME, "",
style, 0, 0, 0, 0,
! self.mainWindow, getNextId(), hinst)
x=formWidth*self._uiDriver.widgetWidth
statwidths =
struct.pack("iiiii",x-75-75-50-50,x-75-75-50,x-75-75,x-75,x)
! win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETPARTS, 5,
statwidths)
! win32gui.SendMessage(self.statusBar.GetHwnd(), win32con.WM_SIZE, 0, 0)
self._eventHandler = event.eventHandler
***************
*** 174,192 ****
#
def _setStatusBar(self,tip, statusValue, insertValue, currentRecord,
maxRecord, currentPage, maxPage):
if tip != None:
! win32gui.SendMessage(self.statusBar.GetId(), commctrl.SB_SETTEXT, 0,
str(tip))
if statusValue:
! win32gui.SendMessage(self.statusBar.GetId(), commctrl.SB_SETTEXT, 1,
statusValue)
if insertValue:
! win32gui.SendMessage(self.statusBar.GetId(), commctrl.SB_SETTEXT, 2,
insertValue)
if currentRecord and maxRecord:
! win32gui.SendMessage(self.statusBar.GetId(), commctrl.SB_SETTEXT, 3,
string.strip("%s/%s" % (currentRecord,maxRecord)))
if currentPage and maxPage:
! win32gui.SendMessage(self.statusBar.GetId(), commctrl.SB_SETTEXT, 4,
string.strip("%s/%s" % (currentPage,maxPage)))
return
#
--- 173,191 ----
#
def _setStatusBar(self,tip, statusValue, insertValue, currentRecord,
maxRecord, currentPage, maxPage):
if tip != None:
! win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETTEXT, 0,
str(tip))
if statusValue:
! win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETTEXT, 1,
statusValue)
if insertValue:
! win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETTEXT, 2,
insertValue)
if currentRecord and maxRecord:
! win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETTEXT, 3,
string.strip("%s/%s" % (currentRecord,maxRecord)))
if currentPage and maxPage:
! win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETTEXT, 4,
string.strip("%s/%s" % (currentPage,maxPage)))
return
#
***************
*** 208,211 ****
--- 207,215 ----
#
self.statusBar.SetStatusWidths([tipWidth,statusWidth,insertWidth,recordWidth,pageWidth])
+ def show(self):
+ self.mainWindow.Show()
+
+ def showModal(self):
+ self.mainWindow.Show()
Index: gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py
diff -c gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.3
gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.4
*** gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.3 Sat Mar 8
14:59:07 2003
--- gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py Sun Mar 9
18:08:46 2003
***************
*** 32,38 ****
from gnue.common import events
from gnue.common.apps import GDebug
! from gnue.forms.uidrivers.win32.widgets._base import *
from gnue.forms.uidrivers.win32.common import getNextId
class ScrollableWrapper(Win32Window):
--- 32,38 ----
from gnue.common import events
from gnue.common.apps import GDebug
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Window,
Win32Page
from gnue.forms.uidrivers.win32.common import getNextId
class ScrollableWrapper(Win32Window):
***************
*** 70,76 ****
# not a wxPanel set per page right after this
## self.SetVirtualSize(self.pane.GetSize())
## tempx,tempy = self.pane.GetSizeTuple()
! self.Show()
## self.fixScrollbars()
--- 70,76 ----
# not a wxPanel set per page right after this
## self.SetVirtualSize(self.pane.GetSize())
## tempx,tempy = self.pane.GetSizeTuple()
! self.sw.Show()
## self.fixScrollbars()
***************
*** 101,113 ****
hinst = win32api.GetModuleHandle(None)
style = win32con.WS_CHILD | commctrl.TCS_TABS #| win32con.WS_BORDER
styleEx = 0
- id = getNextId()
self.pane = Win32Window(self.uiform._uiDriver, styleEx,
commctrl.WC_TABCONTROL, "tabcontrol", style,
0,
0,
formWidth*self.uiform._uiDriver.widgetWidth+6, # TODO
formHeight*self.uiform._uiDriver.widgetHeight+22, # TODO
! self.sw, id, hinst)
self.pane.Show()
# pass
--- 101,112 ----
hinst = win32api.GetModuleHandle(None)
style = win32con.WS_CHILD | commctrl.TCS_TABS #| win32con.WS_BORDER
styleEx = 0
self.pane = Win32Window(self.uiform._uiDriver, styleEx,
commctrl.WC_TABCONTROL, "tabcontrol", style,
0,
0,
formWidth*self.uiform._uiDriver.widgetWidth+6, # TODO
formHeight*self.uiform._uiDriver.widgetHeight+22, # TODO
! self.sw, getNextId(), hinst)
self.pane.Show()
# pass
***************
*** 130,149 ****
buff = array.array('c', pszText + "\0")
addrText = buff.buffer_info()[0]
tab=struct.pack("iilliii", commctrl.TCIF_TEXT | commctrl.TCIF_STATE, 0,
0, addrText, 0, 0, -1)
! icount = win32gui.SendMessage(self.pane.GetId(),
commctrl.TCM_GETITEMCOUNT, 0, 0)
! win32gui.SendMessage(self.pane.GetId(), commctrl.TCM_INSERTITEM, icount,
tab)
formWidth = int(self.form._layout.Char__width)
formHeight = int(self.form._layout.Char__height)
style = win32con.WS_OVERLAPPED | win32con.WS_CHILD #| win32con.WS_BORDER
styleEx = 0
! newWidget = Win32Page(self.uiform._uiDriver, styleEx,
self.uiform._uiDriver._wndclass, "createPage", style,
2, # TODO
28, # TODO
formWidth*self.uiform._uiDriver.widgetWidth,
formHeight*self.uiform._uiDriver.widgetHeight-10, # TODO
! self.pane)
self._pageList.append(newWidget)
return newWidget
# pass
# sizer = wxBoxSizer(wxVERTICAL)
--- 129,156 ----
buff = array.array('c', pszText + "\0")
addrText = buff.buffer_info()[0]
tab=struct.pack("iilliii", commctrl.TCIF_TEXT | commctrl.TCIF_STATE, 0,
0, addrText, 0, 0, -1)
! icount = win32gui.SendMessage(self.pane.GetHwnd(),
commctrl.TCM_GETITEMCOUNT, 0, 0)
! win32gui.SendMessage(self.pane.GetHwnd(), commctrl.TCM_INSERTITEM,
icount, tab)
formWidth = int(self.form._layout.Char__width)
formHeight = int(self.form._layout.Char__height)
style = win32con.WS_OVERLAPPED | win32con.WS_CHILD #| win32con.WS_BORDER
styleEx = 0
! newWidget = Win32Page(self.uiform._uiDriver, styleEx,
self.uiform._uiDriver._wndclass, "tabbedPage", style,
2, # TODO
28, # TODO
formWidth*self.uiform._uiDriver.widgetWidth,
formHeight*self.uiform._uiDriver.widgetHeight-10, # TODO
! self.pane, getNextId())
!
! # Only show first page
! if not self._fitted:
! newWidget.Show()
! else:
! newWidget.Hide()
!
self._pageList.append(newWidget)
+ self.fit()
return newWidget
# pass
# sizer = wxBoxSizer(wxVERTICAL)
***************
*** 160,171 ****
def fit(self):
if self._fitted: return
! self.notebooksizer.Layout()
! self.notebooksizer.SetSizeHints(self.pane)
! self.SetClientSize(self.pane.GetSize())
! self.SetClientSize(self.layoutSize)
! self.SetSize(self.pane.GetSize())
! self.frame.SetClientSize(self.GetSize())
self._fitted = 1
def notebookTabHandler(self,event):
--- 167,178 ----
def fit(self):
if self._fitted: return
! # self.notebooksizer.Layout()
! # self.notebooksizer.SetSizeHints(self.pane)
! # self.SetClientSize(self.pane.GetSize())
! # self.SetClientSize(self.layoutSize)
! # self.SetSize(self.pane.GetSize())
! # self.frame.SetClientSize(self.GetSize())
self._fitted = 1
def notebookTabHandler(self,event):
***************
*** 183,189 ****
def setPage(self, page):
pageId = self._pageList.index(page)
! win32gui.SendMessage(self.pane.GetId(), commctrl.TCM_SETCURFOCUS, pageId,
0)
# self.pane.SetSelection(pageId)
--- 190,196 ----
def setPage(self, page):
pageId = self._pageList.index(page)
! win32gui.SendMessage(self.pane.GetHwnd(), commctrl.TCM_SETCURSEL, pageId,
0)
# self.pane.SetSelection(pageId)
***************
*** 204,210 ****
0,
formWidth*self.uiform._uiDriver.widgetWidth,
formHeight*self.uiform._uiDriver.widgetHeight,
! self.sw)
self.pane.Show()
--- 211,217 ----
0,
formWidth*self.uiform._uiDriver.widgetWidth,
formHeight*self.uiform._uiDriver.widgetHeight,
! self.sw, getNextId())
self.pane.Show()
***************
*** 215,226 ****
formHeight = int(self.form._layout.Char__height)
style = win32con.WS_OVERLAPPED | win32con.WS_CHILD #| win32con.WS_BORDER
styleEx = 0
! newWidget = Win32Page(self.uiform._uiDriver, styleEx,
self.uiform._uiDriver._wndclass, "createPage", style,
0,
0,
formWidth*self.uiform._uiDriver.widgetWidth,
formHeight*self.uiform._uiDriver.widgetHeight,
! self.pane)
# Only show first page
if not self._fitted:
--- 222,233 ----
formHeight = int(self.form._layout.Char__height)
style = win32con.WS_OVERLAPPED | win32con.WS_CHILD #| win32con.WS_BORDER
styleEx = 0
! newWidget = Win32Page(self.uiform._uiDriver, styleEx,
self.uiform._uiDriver._wndclass, "plainPage", style,
0,
0,
formWidth*self.uiform._uiDriver.widgetWidth,
formHeight*self.uiform._uiDriver.widgetHeight,
! self.pane, getNextId())
# Only show first page
if not self._fitted:
***************
*** 229,235 ****
newWidget.Hide()
self._pageList.append(newWidget)
- print "createPage.self._pageList=",self._pageList
self.fit()
return newWidget
--- 236,241 ----
Index: gnue/forms/src/uidrivers/win32/widgets/label.py
diff -c gnue/forms/src/uidrivers/win32/widgets/label.py:1.2
gnue/forms/src/uidrivers/win32/widgets/label.py:1.3
*** gnue/forms/src/uidrivers/win32/widgets/label.py:1.2 Sun Mar 2 17:45:12 2003
--- gnue/forms/src/uidrivers/win32/widgets/label.py Sun Mar 9 18:08:46 2003
***************
*** 29,35 ****
import win32gui, win32con
! from gnue.forms.uidrivers.win32.widgets._base import *
#
# UILabel
--- 29,35 ----
import win32gui, win32con
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Window
#
# UILabel
***************
*** 46,52 ****
object = event.object
style = self.alignmentStyle[object.alignment]
styleEx = 0
! newWidget = Win32Label(self._uiDriver, styleEx, 'STATIC',
str(object.text), style,
object.Char__x*event.widgetWidth,
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight,
self.itemWidth,
--- 46,52 ----
object = event.object
style = self.alignmentStyle[object.alignment]
styleEx = 0
! newWidget = Win32Window(self._uiDriver, styleEx, 'STATIC',
str(object.text), style,
object.Char__x*event.widgetWidth,
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight,
self.itemWidth,
Index: gnue/forms/src/uidrivers/win32/widgets/page.py
diff -c gnue/forms/src/uidrivers/win32/widgets/page.py:1.1
gnue/forms/src/uidrivers/win32/widgets/page.py:1.2
*** gnue/forms/src/uidrivers/win32/widgets/page.py:1.1 Sun Feb 23 18:43:32 2003
--- gnue/forms/src/uidrivers/win32/widgets/page.py Sun Mar 9 18:08:46 2003
***************
*** 30,36 ****
import win32gui, win32con
from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Window
#
# UIPage
--- 30,36 ----
import win32gui, win32con
from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers
! from gnue.forms.uidrivers.win32.widgets._base import UIHelper
#
# UIPage