[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue-forms/src/uidrivers/win32 GFwin32App.py UI...
From: |
Bajusz Tamás |
Subject: |
gnue-forms/src/uidrivers/win32 GFwin32App.py UI... |
Date: |
Wed, 25 Jun 2003 19:05:57 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue-forms
Branch:
Changes by: Bajusz Tamás <address@hidden> 03/06/25 19:05:57
Modified files:
src/uidrivers/win32: GFwin32App.py UIdriver.py
src/uidrivers/win32/widgets: _base.py
src/uidrivers/win32/widgets/form: widget.py
Log message:
fixing win32 forms driver to let run multiple form instances from
navigator
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-forms/src/uidrivers/win32/GFwin32App.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.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-forms/src/uidrivers/win32/widgets/_base.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-forms/src/uidrivers/win32/widgets/form/widget.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
Patches:
Index: gnue-forms/src/uidrivers/win32/GFwin32App.py
diff -c gnue-forms/src/uidrivers/win32/GFwin32App.py:1.4
gnue-forms/src/uidrivers/win32/GFwin32App.py:1.5
*** gnue-forms/src/uidrivers/win32/GFwin32App.py:1.4 Thu May 8 16:14:07 2003
--- gnue-forms/src/uidrivers/win32/GFwin32App.py Wed Jun 25 19:05:57 2003
***************
*** 41,51 ****
class GFwin32App:
_mainLoop= None
-
- def __init__(self):
- pass
- #wxInitAllImageHandlers()
def MainLoop (self):
# just to launch one win32's mainloop
# otherwise, the app does not finishes cleanly when several windows
are open
--- 41,50 ----
class GFwin32App:
_mainLoop= None
+ _HwndToTkObj = {}
+ _MainWindowList = []
+
def MainLoop (self):
# just to launch one win32's mainloop
# otherwise, the app does not finishes cleanly when several windows
are open
Index: gnue-forms/src/uidrivers/win32/UIdriver.py
diff -c gnue-forms/src/uidrivers/win32/UIdriver.py:1.17
gnue-forms/src/uidrivers/win32/UIdriver.py:1.18
*** gnue-forms/src/uidrivers/win32/UIdriver.py:1.17 Wed Jun 4 13:00:16 2003
--- gnue-forms/src/uidrivers/win32/UIdriver.py Wed Jun 25 19:05:57 2003
***************
*** 68,74 ****
def OnWMDefault(hwnd, msg, wParam, lParam, widget):
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
-
#
# GFUserInterface
#
--- 68,73 ----
***************
*** 77,83 ****
#
class GFUserInterface(commonToolkit.GFUserInterface):
_wndclass = None
!
_message_map = {
win32con.WM_MENUSELECT : OnWMMenuselect,
win32con.WM_NOTIFY : OnWMNotify,
--- 76,82 ----
#
class GFUserInterface(commonToolkit.GFUserInterface):
_wndclass = None
!
_message_map = {
win32con.WM_MENUSELECT : OnWMMenuselect,
win32con.WM_NOTIFY : OnWMNotify,
***************
*** 91,96 ****
--- 90,112 ----
commonToolkit.GFUserInterface.__init__(self,eventController,disableSplash)
self._disabledColour = afxres.AFX_IDC_COLOR_LIGHTGRAY
+
+ def _wndproc(self, hwnd, msg, wParam, lParam):
+ try:
+ widget = self._win32app._HwndToTkObj[hwnd]
+ except:
+ return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
+ try:
+ OnWM = self._message_map.get(msg, OnWMDefault)
+ x = OnWM(hwnd, msg, wParam, lParam, widget)
+ except:
+ x = -1
+ return x
+
+
+ def initialize(self):
+ self._win32app = getWin32App()
+
################################################################
# win32 Specifics
################################################################
***************
*** 111,132 ****
wc.lpfnWndProc = self._wndproc
self.__class__._wndclass = win32gui.RegisterClass(wc)
- def _wndproc(self, hwnd, msg, wParam, lParam):
- try:
- widget = self._IdToTkObj[hwnd]
- except:
- return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
- try:
- OnWM = self._message_map.get(msg, OnWMDefault)
- x = OnWM(hwnd, msg, wParam, lParam, widget)
- except:
- x = -1
- return x
-
-
- def initialize(self):
- self._win32app = getWin32App()
-
#
# SplashScreen
#
--- 127,132 ----
***************
*** 186,194 ****
if exitApp:
for child in self._children:
child.mainWindow.Destroy()
! win32gui.PostQuitMessage(0) # Terminate the app.
for child in self._children:
if child._form.name != formName:
child.mainWindow.Enable(1)
--- 186,200 ----
if exitApp:
for child in self._children:
+ self._win32app._MainWindowList.remove(child.mainWindow)
child.mainWindow.Destroy()
! if formName != "__main__":
! win32gui.PostQuitMessage(0) # Terminate the dialog
! else:
! if len(self._win32app._MainWindowList) == 0:
! win32gui.PostQuitMessage(0) # Terminate the app.
!
for child in self._children:
if child._form.name != formName:
child.mainWindow.Enable(1)
Index: gnue-forms/src/uidrivers/win32/widgets/_base.py
diff -c gnue-forms/src/uidrivers/win32/widgets/_base.py:1.19
gnue-forms/src/uidrivers/win32/widgets/_base.py:1.20
*** gnue-forms/src/uidrivers/win32/widgets/_base.py:1.19 Thu May 22
16:11:02 2003
--- gnue-forms/src/uidrivers/win32/widgets/_base.py Wed Jun 25 19:05:57 2003
***************
*** 67,73 ****
self._PyCWnd = win32ui.CreateWindowFromHandle(self._hwnd)
self._uiDriver = uidriver
! uidriver._IdToTkObj[self._hwnd] = self
if className in ['STATIC', 'BUTTON', 'COMBOBOX', 'EDIT']:
self.Show()
--- 67,73 ----
self._PyCWnd = win32ui.CreateWindowFromHandle(self._hwnd)
self._uiDriver = uidriver
! self._uiDriver._win32app._HwndToTkObj[self._hwnd] = self
if className in ['STATIC', 'BUTTON', 'COMBOBOX', 'EDIT']:
self.Show()
***************
*** 334,344 ****
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()
--- 334,344 ----
hwndFrom, idFrom, code, iItem, iSubItem, uNewState, uOldState, uChanged,
actionx, actiony, lparam \
= struct.unpack(format, buf)
if code == -552: #commctrl.TCN_SELCHANGING
! window = self._uiDriver._win32app._HwndToTkObj[hwndFrom]
pageId = win32gui.SendMessage(window.GetHwnd(), commctrl.TCM_GETCURSEL,
0, 0)
window._children[pageId].Hide()
elif code == -551: #commctrl.TCN_SELCHANGE
! window = self._uiDriver._win32app._HwndToTkObj[hwndFrom]
pageId = win32gui.SendMessage(window.GetHwnd(), commctrl.TCM_GETCURSEL,
0, 0)
window._children[pageId].Show()
***************
*** 400,406 ****
class Win32Page(Win32Base):
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! window = self._uiDriver._IdToTkObj[lParam]
window.OnWMCommand(hwnd, msg, wParam, lParam)
--- 400,406 ----
class Win32Page(Win32Base):
def OnWMCommand(self, hwnd, msg, wParam, lParam):
! window = self._uiDriver._win32app._HwndToTkObj[lParam]
window.OnWMCommand(hwnd, msg, wParam, lParam)
***************
*** 424,430 ****
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()
--- 424,429 ----
***************
*** 432,438 ****
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:
--- 431,436 ----
***************
*** 507,513 ****
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)
--- 505,510 ----
Index: gnue-forms/src/uidrivers/win32/widgets/form/widget.py
diff -c gnue-forms/src/uidrivers/win32/widgets/form/widget.py:1.19
gnue-forms/src/uidrivers/win32/widgets/form/widget.py:1.20
*** gnue-forms/src/uidrivers/win32/widgets/form/widget.py:1.19 Mon Jun 23
03:41:56 2003
--- gnue-forms/src/uidrivers/win32/widgets/form/widget.py Wed Jun 25
19:05:57 2003
***************
*** 92,97 ****
--- 92,99 ----
formHeight*self._uiDriver.widgetHeight+self.buttonbarHeight+self.tabHeight+90,
0)
+ self._uiDriver._win32app._MainWindowList.append(self.mainWindow)
+
if self._form.style == 'dialog':
centerWindow(self.mainWindow.GetHwnd())
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue-forms/src/uidrivers/win32 GFwin32App.py UI...,
Bajusz Tamás <=