37 |
from wxPython.wx import * |
from wxPython.wx import * |
38 |
from wxPython.gizmos import * |
from wxPython.gizmos import * |
39 |
from NumberDisplay import NumberDisplay, bigFont |
from NumberDisplay import NumberDisplay, bigFont |
40 |
|
import string |
41 |
|
|
42 |
dollarFormat = '$%.02f' |
dollarFormat = '$%.02f' |
43 |
|
|
44 |
STATUS_USER = 2 |
STATUS_USER = 2 |
45 |
STATUS_TICKET = 1 |
STATUS_TICKET = 1 |
46 |
|
|
|
LOGIN_COLOR = wxColour(255,200,200) |
|
47 |
BASE_COLOR = wxNamedColour("ivory") |
BASE_COLOR = wxNamedColour("ivory") |
48 |
|
LOGIN_COLOR = wxColour(255,220,220) |
49 |
|
LOGIN_EVENTS = ('LoginEntered','PasswordEntered') |
50 |
|
SPECIAL_COLOR = wxColour(220,255,220) |
51 |
|
SPECIAL_EVENTS = ('TaxExemptionEntered',) |
52 |
|
|
53 |
|
|
54 |
class Driver(BaseDriver): |
class Driver(BaseDriver): |
55 |
def init(self): |
def init(self): |
94 |
except AttributeError: |
except AttributeError: |
95 |
pass |
pass |
96 |
|
|
97 |
if event.response in ('LoginEntered','PasswordEntered'): |
if event.response in LOGIN_EVENTS: |
98 |
self.inputField.SetBackgroundColour(LOGIN_COLOR) |
self.inputField.SetBackgroundColour(LOGIN_COLOR) |
99 |
|
elif event.response in SPECIAL_EVENTS: |
100 |
|
self.inputField.SetBackgroundColour(SPECIAL_COLOR) |
101 |
else: |
else: |
102 |
self.inputField.SetBackgroundColour(BASE_COLOR) |
self.inputField.SetBackgroundColour(BASE_COLOR) |
103 |
|
|
231 |
frame.Show(1) |
frame.Show(1) |
232 |
|
|
233 |
EVT_KEY_DOWN(self.inputField, self.__keypress) |
EVT_KEY_DOWN(self.inputField, self.__keypress) |
234 |
|
self.__intext = 1 |
235 |
|
EVT_CHAR(self.inputField, self.__ontext) |
236 |
|
|
237 |
def __OnSize(self, event): |
def __OnSize(self, event): |
238 |
self.frame.Layout() |
self.frame.Layout() |
255 |
self.dispatchEvent(self.__event, value=self.inputField.GetValue()) |
self.dispatchEvent(self.__event, value=self.inputField.GetValue()) |
256 |
elif key == WXK_ESCAPE: |
elif key == WXK_ESCAPE: |
257 |
self.inputField.Clear() |
self.inputField.Clear() |
258 |
elif _specialKeys.has_key(key): # and _specialKeys[key] in self.__endingEvents: |
elif _specialKeys.has_key(key) and _specialKeys[key] in self.__endingEvents: |
259 |
self.dispatchEvent(self.__event, value=self.inputField.GetValue(), next=_specialKeys[key]) |
self.dispatchEvent(self.__event, value=self.inputField.GetValue(), next=_specialKeys[key]) |
260 |
else: |
else: |
261 |
event.Skip() |
event.Skip() |
262 |
|
|
263 |
|
def __ontext(self, event): |
264 |
|
if event.GetKeyCode() != 32: |
265 |
|
wxCallAfter(self.__fixtext) |
266 |
|
event.Skip() |
267 |
|
|
268 |
|
def __fixtext(self): |
269 |
|
ip = self.inputField.GetInsertionPoint() |
270 |
|
self.inputField.SetValue(string.capwords(self.inputField.GetValue())) |
271 |
|
self.inputField.SetInsertionPoint(ip) |
272 |
|
|
273 |
|
|
274 |
_specialKeys = { |
_specialKeys = { |
275 |
WXK_MULTIPLY: 'RequestQuantity', |
WXK_MULTIPLY: 'RequestQuantity', |
279 |
WXK_F12: 'RequestTaxExemption', |
WXK_F12: 'RequestTaxExemption', |
280 |
} |
} |
281 |
|
|
|
print _specialKeys |
|