[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r8977 - in trunk/gnue-forms/src/uidrivers/win32: . widgets/form
From: |
btami |
Subject: |
[gnue] r8977 - in trunk/gnue-forms/src/uidrivers/win32: . widgets/form |
Date: |
Sun, 5 Nov 2006 16:41:58 -0600 (CST) |
Author: btami
Date: 2006-11-05 16:41:57 -0600 (Sun, 05 Nov 2006)
New Revision: 8977
Modified:
trunk/gnue-forms/src/uidrivers/win32/UIdriver.py
trunk/gnue-forms/src/uidrivers/win32/dialog.py
trunk/gnue-forms/src/uidrivers/win32/dialogs.py
trunk/gnue-forms/src/uidrivers/win32/widgets/form/widget.py
Log:
making native dialogs modal
Modified: trunk/gnue-forms/src/uidrivers/win32/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/UIdriver.py 2006-11-04 02:38:58 UTC
(rev 8976)
+++ trunk/gnue-forms/src/uidrivers/win32/UIdriver.py 2006-11-05 22:41:57 UTC
(rev 8977)
@@ -188,8 +188,8 @@
# ---------------------------------------------------------------------------
def _getInput (self, title, fields, cancel = True):
-
- dialog = dialogs.InputDialog (title, fields, cancel)
+
+ dialog = dialogs.InputDialog (self._win32app._MainWindowList[0].GetHwnd(),
title, fields, cancel)
dialog.DoModal ()
return dialog.inputData
@@ -210,7 +210,7 @@
def _ui_show_exception_(self, group, name, message, detail):
- dialog = dialogs.ExceptionDialog (group, name, message, detail)
+ dialog = dialogs.ExceptionDialog
(self._win32app._MainWindowList[0].GetHwnd(), group, name, message, detail)
dialog.DoModal ()
Modified: trunk/gnue-forms/src/uidrivers/win32/dialog.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/dialog.py 2006-11-04 02:38:58 UTC
(rev 8976)
+++ trunk/gnue-forms/src/uidrivers/win32/dialog.py 2006-11-05 22:41:57 UTC
(rev 8977)
@@ -39,9 +39,10 @@
class BaseDialog:
- def __init__ (self, title, cancel = False, ok = True):
+ def __init__ (self, parent, title, cancel = False, ok = True):
win32gui.InitCommonControls()
- self.hinst = win32api.GetModuleHandle(None)
+ self.hinst = win32api.GetModuleHandle(None)
+ self.parent = parent
self.message_map = {
win32con.WM_COMMAND: self.OnCommand,
@@ -68,7 +69,8 @@
def DoModal(self):
- return win32gui.DialogBoxIndirect(self.hinst, self.template, 0,
self.message_map)
+ self.oldfocus = win32gui.GetFocus()
+ return win32gui.DialogBoxIndirect(self.hinst, self.template, self.parent,
self.message_map)
def OnInitDialog(self, hwnd, msg, wparam, lparam):
@@ -76,8 +78,9 @@
self.dc = win32gui.GetDC(hwnd)
- def OnClose(self, hwnd, msg, wparam, lparam):
- win32gui.EndDialog(hwnd, 0)
+ def OnClose(self, hwnd, msg, wparam, lparam):
+ win32gui.EndDialog(hwnd, 1)
+ win32gui.SetFocus(self.oldfocus)
def Destroy(self):
@@ -88,9 +91,12 @@
id = win32api.LOWORD(wparam)
if id == win32con.IDOK:
win32gui.EndDialog(hwnd, 1)
+ win32gui.SetFocus(self.oldfocus)
+
elif id == win32con.IDCANCEL:
- win32gui.EndDialog(hwnd, 0)
-
+ win32gui.EndDialog(hwnd, 0)
+ win32gui.SetFocus(self.oldfocus)
+
def _RegisterWndClass(self):
className = "GNUe dialog"
Modified: trunk/gnue-forms/src/uidrivers/win32/dialogs.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/dialogs.py 2006-11-04 02:38:58 UTC
(rev 8976)
+++ trunk/gnue-forms/src/uidrivers/win32/dialogs.py 2006-11-05 22:41:57 UTC
(rev 8977)
@@ -90,7 +90,7 @@
_FIELDTYPES = ['label', 'warning', 'string', 'password', 'dropdown', 'image']
_NO_LABELS = ['label', 'warning', 'image']
- def __init__ (self, title, fields, cancel = True):
+ def __init__ (self, parent, title, fields, cancel = True):
"""
Create a new input dialog
@@ -98,7 +98,7 @@
@param fields: sequence of field definition tuples
@param cancel: If True add a Cancel button to the dialog
"""
- BaseDialog.__init__(self, title, cancel)
+ BaseDialog.__init__(self, parent, title, cancel)
self.message_map [win32con.WM_CTLCOLORSTATIC] = self.OnCtlColorStatic
self.fields = fields
@@ -271,10 +271,12 @@
else:
self.inputData [self.controlsName [control]] = text
win32gui.EndDialog(hwnd, 1)
+ win32gui.SetFocus(self.oldfocus)
elif id == win32con.IDCANCEL:
self.inputData = None
win32gui.EndDialog(hwnd, 0)
+ win32gui.SetFocus(self.oldfocus)
def OnCtlColorStatic(self, hwnd, msg, wparam, lparam):
if win32gui.GetDlgCtrlID(lparam) in self.__warnings:
@@ -343,11 +345,11 @@
# =============================================================================
class AboutBox (BaseDialog):
- def __init__ (self, name, version, author, description):
+ def __init__ (self, parent, name, version, author, description):
"""
"""
title = textEncode(u_("About %s") % name)
- BaseDialog.__init__(self, title, cancel= False)
+ BaseDialog.__init__(self, parent, title, cancel= False)
self.__boxes = []
self.__labels = []
@@ -494,9 +496,9 @@
# Constructor
# ---------------------------------------------------------------------------
- def __init__ (self, group, name, message, detail):
+ def __init__ (self, parent, group, name, message, detail):
- BaseDialog.__init__(self, self._TITLE.get (group, _('Error')), cancel =
False, ok = False)
+ BaseDialog.__init__(self, parent, self._TITLE.get (group, _('Error')),
cancel = False, ok = False)
self.message_map [win32con.WM_CTLCOLORSTATIC] = self.OnCtlColorStatic
self.detail = detail.replace('\n','\r\n')
@@ -546,6 +548,8 @@
id = win32api.LOWORD(wparam)
if id == win32con.IDCLOSE:
win32gui.EndDialog(hwnd, 1)
+ win32gui.SetFocus(self.oldfocus)
+
elif id == self.detailsID:
self._showsDetail = not self._showsDetail
if self._showsDetail:
Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/form/widget.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/widgets/form/widget.py 2006-11-04
02:38:58 UTC (rev 8976)
+++ trunk/gnue-forms/src/uidrivers/win32/widgets/form/widget.py 2006-11-05
22:41:57 UTC (rev 8977)
@@ -281,7 +281,7 @@
def _ui_show_about_(self, name, version, author, description):
- d = dialogs.AboutBox (name, version, author, description)
+ d = dialogs.AboutBox (self.mainWindow.GetHwnd(), name, version, author,
description)
d.DoModal ()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8977 - in trunk/gnue-forms/src/uidrivers/win32: . widgets/form,
btami <=