34 |
from gnue.forms.uidrivers.wx import UIdriver as FormsDriver |
from gnue.forms.uidrivers.wx import UIdriver as FormsDriver |
35 |
from gnue.forms.uidrivers.wx.GFwxApp import getWxApp |
from gnue.forms.uidrivers.wx.GFwxApp import getWxApp |
36 |
|
|
37 |
|
from wxPython.wx import * |
38 |
|
from wxPython.gizmos import * |
39 |
|
from NumberDisplay import NumberDisplay, bigFont |
40 |
|
|
41 |
dollarFormat = '$%.02f' |
dollarFormat = '$%.02f' |
42 |
|
|
43 |
STATUS_USER = 2 |
STATUS_USER = 2 |
44 |
STATUS_TICKET = 1 |
STATUS_TICKET = 1 |
45 |
|
|
46 |
from wxPython.wx import * |
LOGIN_COLOR = wxColour(255,200,200) |
47 |
from wxPython.gizmos import * |
BASE_COLOR = wxNamedColour("ivory") |
|
from NumberDisplay import NumberDisplay, bigFont |
|
48 |
|
|
49 |
class Driver(BaseDriver): |
class Driver(BaseDriver): |
50 |
def init(self): |
def init(self): |
89 |
except AttributeError: |
except AttributeError: |
90 |
pass |
pass |
91 |
|
|
92 |
|
if event.response in ('LoginEntered','PasswordEntered'): |
93 |
|
self.inputField.SetBackgroundColour(LOGIN_COLOR) |
94 |
|
else: |
95 |
|
self.inputField.SetBackgroundColour(BASE_COLOR) |
96 |
|
|
97 |
|
try: |
98 |
|
default = event.default |
99 |
|
except: |
100 |
|
default = "" |
101 |
|
|
102 |
try: |
try: |
103 |
self.__endingEvents = event.endingEvents |
self.__endingEvents = event.endingEvents |
104 |
except AttributeError: |
except AttributeError: |
105 |
self.__endingEvents = () |
self.__endingEvents = () |
106 |
|
|
107 |
|
self.inputField.SetValue(default) |
108 |
|
self.inputField.SetSelection(0, len(default)) |
109 |
|
|
110 |
def _BeginTicket(self, event): |
def _BeginTicket(self, event): |
111 |
print "Beginning ticket # %s" % event.serial |
print "Beginning ticket # %s" % event.serial |
112 |
self.statusbar.SetStatusText("Ticket # %s" % event.serial, STATUS_TICKET) |
self.statusbar.SetStatusText("Ticket # %s" % event.serial, STATUS_TICKET) |
197 |
entrySizer.Add(self.inputLabel, 0, wxEXPAND|wxALIGN_LEFT) |
entrySizer.Add(self.inputLabel, 0, wxEXPAND|wxALIGN_LEFT) |
198 |
entrySizer.Add(self.inputField, 0, wxEXPAND|wxALIGN_LEFT) |
entrySizer.Add(self.inputField, 0, wxEXPAND|wxALIGN_LEFT) |
199 |
|
|
|
|
|
200 |
entryPanel.Fit() |
entryPanel.Fit() |
201 |
totalPanel.Fit() |
totalPanel.Fit() |
202 |
totalSizer2.Add(totalPanel, 1, wxALL|wxEXPAND, 10) |
totalSizer2.Add(totalPanel, 1, wxALL|wxEXPAND, 10) |
239 |
def __keypress(self, event): |
def __keypress(self, event): |
240 |
key = event.GetKeyCode() |
key = event.GetKeyCode() |
241 |
|
|
242 |
|
## print _specialKeys, key, self.__endingEvents |
243 |
|
## print key |
244 |
|
|
245 |
if key in (WXK_RETURN,WXK_NUMPAD_ENTER): |
if key in (WXK_RETURN,WXK_NUMPAD_ENTER): |
246 |
self.dispatchEvent(self.__event, value=self.inputField.GetValue()) |
self.dispatchEvent(self.__event, value=self.inputField.GetValue()) |
247 |
elif key == WXK_ESCAPE: |
elif key == WXK_ESCAPE: |
248 |
self.inputField.Clear() |
self.inputField.Clear() |
249 |
elif _specialKeys.has_key(key) and _specialKeys[key] in self.__endingEvents: |
elif _specialKeys.has_key(key): # and _specialKeys[key] in self.__endingEvents: |
250 |
self.dispatchEvent(self.__event, value=self.inputField.GetValue(), next=_specialKeys[key]) |
self.dispatchEvent(self.__event, value=self.inputField.GetValue(), next=_specialKeys[key]) |
251 |
else: |
else: |
252 |
event.Skip() |
event.Skip() |
253 |
|
|
254 |
|
|
255 |
_specialKeys = { |
_specialKeys = { |
256 |
'*': 'RequestQuantity', |
WXK_MULTIPLY: 'RequestQuantity', |
257 |
'=': 'RequestTender', |
WXK_DIVIDE: 'RequestTender', |
258 |
'-': 'RequestCancelLastItem', |
WXK_SUBTRACT: 'RequestCancelLastItem', |
259 |
'+': 'RequestDuplicateLastItem', |
WXK_ADD: 'RequestDuplicateLastItem', |
260 |
|
WXK_F12: 'RequestTaxExemption', |
261 |
} |
} |
262 |
|
|
263 |
|
print _specialKeys |