[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r7577 - trunk/gnue-forms/src/uidrivers/win32
From: |
btami |
Subject: |
[gnue] r7577 - trunk/gnue-forms/src/uidrivers/win32 |
Date: |
Sun, 5 Jun 2005 17:12:27 -0500 (CDT) |
Author: btami
Date: 2005-06-05 17:12:25 -0500 (Sun, 05 Jun 2005)
New Revision: 7577
Modified:
trunk/gnue-forms/src/uidrivers/win32/dialogs.py
Log:
fixed dropdown handling (no dependancy support yet)
Modified: trunk/gnue-forms/src/uidrivers/win32/dialogs.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/dialogs.py 2005-06-03 10:38:59 UTC
(rev 7576)
+++ trunk/gnue-forms/src/uidrivers/win32/dialogs.py 2005-06-05 22:12:25 UTC
(rev 7577)
@@ -176,7 +176,7 @@
s = cs | win32con.WS_TABSTOP | win32con.CBS_DROPDOWNLIST
self.template.append([DROPDOWN, default, ID, position, s])
self.__inputs.append (ID)
- self.__dropdowns[ID] = (default, master, elements)
+ self.__dropdowns[ID] = [default, master, elements, {}]
self.__controls.append (ID)
self.controlsName [ID] = name
@@ -222,14 +222,20 @@
if control in self.__dropdowns.keys():
bm = win32gui.GetDlgItem(hwnd, control)
- default, master, elements = self.__dropdowns[control]
+ default, master, elements, rmap = self.__dropdowns[control]
- for key in elements[0][1].keys():
- try:
- win32gui.SendMessage(bm, win32con.CB_ADDSTRING, 0,
elements[0][1][key])
- except:
- print 'TODO'
-
+ (label, allowed) = elements [0]
+ if master is None:
+ data = [allowed]
+ else:
+ data = allowed.values ()
+
+ for vdict in data:
+ for key,value in vdict.items():
+ value = textEncode("%s" % value)
+ self.__dropdowns[control][3][value] = key
+ win32gui.SendMessage(bm, win32con.CB_ADDSTRING, 0, value)
+
win32gui.SendMessage(bm, win32con.CB_SELECTSTRING, -1, default)
self.SetPosition(win32con.IDCANCEL, self.dlgWidth + 2*border\
@@ -255,10 +261,17 @@
def OnCommand(self, hwnd, msg, wparam, lparam):
id = win32api.LOWORD(wparam)
if id == win32con.IDOK:
- for control in self.__controls:
- dlgItem = win32gui.GetDlgItem(self.hwnd, control)
- self.inputData [self.controlsName [control]] =
win32gui.GetWindowText(dlgItem)
- win32gui.EndDialog(hwnd, 1)
+ for control in self.__inputs:
+ dlgItem = win32gui.GetDlgItem(self.hwnd, control)
+ text = win32gui.GetWindowText(dlgItem)
+ if control in self.__dropdowns.keys():
+ key = self.__dropdowns[control][3].get(text)
+ if key:
+ self.inputData [self.controlsName [control]] = key
+ else:
+ self.inputData [self.controlsName [control]] = text
+ win32gui.EndDialog(hwnd, 1)
+
elif id == win32con.IDCANCEL:
self.inputData = None
win32gui.EndDialog(hwnd, 0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r7577 - trunk/gnue-forms/src/uidrivers/win32,
btami <=