[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue-pos/src POSClient.py frontends/wx/Driver.py
From: |
Jason Cater |
Subject: |
gnue-pos/src POSClient.py frontends/wx/Driver.py |
Date: |
Thu, 19 Jun 2003 16:48:11 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue-pos
Branch:
Changes by: Jason Cater <address@hidden> 03/06/19 16:48:11
Modified files:
src : POSClient.py
src/frontends/wx: Driver.py
Log message:
UI work
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/POSClient.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/frontends/wx/Driver.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: gnue-pos/src/POSClient.py
diff -c gnue-pos/src/POSClient.py:1.6 gnue-pos/src/POSClient.py:1.7
*** gnue-pos/src/POSClient.py:1.6 Wed Jun 18 02:50:52 2003
--- gnue-pos/src/POSClient.py Thu Jun 19 16:48:11 2003
***************
*** 108,118 ****
# Testing stuff....
#
self.dispatchEvent('BeginTicket', serial=100000)
! self.dispatchEvent('AddTicketItem', sku=123344, description='Used Book',
department=20,
! quantity=1, each=10.00, extended=10.00)
! self.dispatchEvent('UpdateTotal', field="subtotal", amount=123.22)
! self.dispatchEvent('UpdateTotal', field="mstax", amount=10.00)
! self.dispatchEvent('UpdateTotal', field="total", amount=133.22)
self.dispatchEvent('EndTicket')
self.frontend.run()
--- 108,122 ----
# Testing stuff....
#
self.dispatchEvent('BeginTicket', serial=100000)
! self.dispatchEvent('AddTicketItem', sku=123355, description='A Tale of
Two Cities (Dickens, Charles) USED', department=20,
! quantity=1, each=5.95, extended=5.95)
! self.dispatchEvent('AddTicketItem', sku=123356, description='Harry Potter
and the Order of the Phoenix (Rowling, J.K.)', department=20,
! quantity=2, each=29.99, extended=59.98)
! self.dispatchEvent('AddTicketItem', description='Gift Certificate',
department=999,
! quantity=1, each=30.00, extended=30.00)
! self.dispatchEvent('UpdateTotal', field="subtotal", amount=95.93)
! self.dispatchEvent('UpdateTotal', field="mstax", amount=6.72)
! self.dispatchEvent('UpdateTotal', field="total", amount=102.65)
self.dispatchEvent('EndTicket')
self.frontend.run()
Index: gnue-pos/src/frontends/wx/Driver.py
diff -c gnue-pos/src/frontends/wx/Driver.py:1.3
gnue-pos/src/frontends/wx/Driver.py:1.4
*** gnue-pos/src/frontends/wx/Driver.py:1.3 Wed Jun 18 14:18:14 2003
--- gnue-pos/src/frontends/wx/Driver.py Thu Jun 19 16:48:11 2003
***************
*** 34,47 ****
from gnue.forms.uidrivers.wx import UIdriver as FormsDriver
from gnue.forms.uidrivers.wx.GFwxApp import getWxApp
from wxPython.wx import *
from wxPython.gizmos import *
class Driver(BaseDriver):
def init(self):
! self.totalFields = ( ('subtotal','Subtotal'),
('mstax','MS Sales Tax (7%)'),
! ('total','Total') )
self.totalFieldMapping = {}
--- 34,56 ----
from gnue.forms.uidrivers.wx import UIdriver as FormsDriver
from gnue.forms.uidrivers.wx.GFwxApp import getWxApp
+ dollarFormat = '$%.02f'
+
from wxPython.wx import *
from wxPython.gizmos import *
class Driver(BaseDriver):
def init(self):
! self.totalFields = ( ('subtotal',_('Subtotal')),
('mstax','MS Sales Tax (7%)'),
! ('total',_('Total')) )
!
! self.receiptColumns = ( ('department',_('Dept'), '%s', 0),
! ('sku',_('Code'), '%s', 0),
! ('quantity',_('Units'), '%s', 0),
! ('description',_('Description'), '%s', 0),
! ('each',_('Price/Unit'), dollarFormat, 1),
! ('extended',_('Extended'), dollarFormat, 1) )
self.totalFieldMapping = {}
***************
*** 66,78 ****
print "Ending ticket"
def _AddTicketItem(self, event):
! pass
def _CancelTicketItem(self, event):
pass
def _UpdateTotal(self, event):
! self.totalFieldMapping[event.field].SetValue(str(event.amount))
def _buildUI(self):
app = getWxApp()
--- 75,100 ----
print "Ending ticket"
def _AddTicketItem(self, event):
! # Insert a new row
! i = self.receiptList.GetItemCount()
! self.receiptList.InsertStringItem(i,"")
!
! # And set each column
! j = 0
! for field, foo, format, bar in self.receiptColumns:
! try:
! self.receiptList.SetStringItem(i, j, format % event.__dict__[field])
! except KeyError:
! pass
! j += 1
!
! self.receiptList.SetItemState(i,
wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED,
wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED)
def _CancelTicketItem(self, event):
pass
def _UpdateTotal(self, event):
! self.totalFieldMapping[event.field].SetValue(dollarFormat % event.amount)
def _buildUI(self):
app = getWxApp()
***************
*** 80,85 ****
--- 102,111 ----
frameSizer = wxBoxSizer(wxVERTICAL)
frame.SetSizer(frameSizer)
frame.SetAutoLayout(1)
+ EVT_SIZE(frame, self.__OnSize)
+
+ self.statusbar = frame.CreateStatusBar()
+ self.statusbar.SetStatusText ('Clerk: 100 (Jason)')
topPanel = wxPanel(frame, -1)
topSizer = wxBoxSizer(wxHORIZONTAL)
***************
*** 91,124 ****
bottomPanel.SetSizer(bottomSizer)
bottomPanel.SetAutoLayout(1)
! self.receiptList = receiptList = wxListCtrl(frame, -1)
! totalPanel = wxPanel(frame, -1)
totalSizer = wxFlexGridSizer(len(self.totalFields), 2, 2, 2)
totalPanel.SetSizer(totalSizer)
totalPanel.SetAutoLayout(1)
! bottomSizer.Add(totalPanel, 1)
frameSizer.Add(topPanel, 0, wxEXPAND)
! frameSizer.Add(receiptList, 0, wxEXPAND)
frameSizer.Add(bottomPanel, 0, wxEXPAND)
- for name, descr in self.totalFields:
- totalSizer.Add(wxStaticText(totalPanel, -1, descr))
- field = wxTextCtrl(totalPanel,-1, style=wxALIGN_RIGHT|wxSUNKEN_BORDER)
- totalSizer.Add(field)
- self.totalFieldMapping[name] = field
-
! totalPanel.Layout()
totalPanel.Fit()
! topPanel.Layout()
! bottomPanel.Layout()
! frame.Layout()
# self.frame.ShowFullScreen(1)
frame.Show(1)
--- 117,198 ----
bottomPanel.SetSizer(bottomSizer)
bottomPanel.SetAutoLayout(1)
! self.receiptList = receiptList = wxListCtrl(frame, -1,
! style=wxLC_REPORT|wxLC_HRULES|wxLC_VRULES|wxLC_SINGLE_SEL)
+ # Add the columns for our receipt list
+ i = 0
+ for field, description, format, rightJustify in self.receiptColumns:
+ self.receiptList.InsertColumn(i, description,
+ format = wxLIST_FORMAT_RIGHT and rightJustify or wxLIST_FORMAT_LEFT)
+ i += 1
+
+ totalPanel2 = wxPanel(bottomPanel, -1, style=wxRAISED_BORDER)
+ totalSizer2 = wxBoxSizer(wxVERTICAL)
+ totalPanel2.SetSizer(totalSizer2)
+ totalPanel2.SetAutoLayout(1)
! totalPanel = wxPanel(totalPanel2, -1)
totalSizer = wxFlexGridSizer(len(self.totalFields), 2, 2, 2)
totalPanel.SetSizer(totalSizer)
totalPanel.SetAutoLayout(1)
! for name, descr in self.totalFields:
! totalSizer.Add(wxStaticText(totalPanel, -1, descr + ': '), 0,
wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 2)
! field = wxTextCtrl(totalPanel,-1, style=wxTE_RIGHT|wxTE_READONLY)
! totalSizer.Add(field, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 2)
! self.totalFieldMapping[name] = field
!
! bigFont = self.totalFieldMapping['total'].GetFont()
! bigFont.SetWeight(wxBOLD)
! bigFont.SetPointSize(bigFont.GetPointSize()*1.25)
! self.totalFieldMapping['total'].SetFont(bigFont)
!
! entryPanel = wxPanel(bottomPanel, -1)
! entrySizer = wxBoxSizer(wxVERTICAL)
! entryPanel.SetSizer(entrySizer)
! entryPanel.SetAutoLayout(1)
! self.inputLabel = wxStaticText(entryPanel, -1, "Enter Product Code:")
! self.inputField = wxTextCtrl(entryPanel, -1)
! self.inputLabel.SetFont(bigFont)
! self.inputField.SetFont(bigFont)
! entrySizer.Add(self.inputLabel, 0, wxEXPAND|wxALIGN_LEFT)
! entrySizer.Add(self.inputField, 0, wxEXPAND|wxALIGN_LEFT)
!
!
! entryPanel.Fit()
! totalPanel.Fit()
! totalSizer2.Add(totalPanel, 1, wxALL|wxEXPAND, 10)
! totalPanel2.Fit()
!
! # bottomSizer.Add(wxPanel(bottomPanel,-1), 1, wxEXPAND)
! bottomSizer.Add(entryPanel, 1, wxALIGN_CENTER|wxALL, 30)
! # bottomSizer.Add(wxPanel(bottomPanel,-1), 1, wxEXPAND)
! bottomSizer.Add(totalPanel2, 0,
wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 20)
! bottomPanel.Fit()
frameSizer.Add(topPanel, 0, wxEXPAND)
! frameSizer.Add(receiptList, 3, wxEXPAND)
frameSizer.Add(bottomPanel, 0, wxEXPAND)
! totalSizer.Layout()
totalPanel.Fit()
! topSizer.Layout()
! bottomSizer.Layout()
! frameSizer.Layout()
# self.frame.ShowFullScreen(1)
frame.Show(1)
+ def __OnSize(self, event):
+ self.frame.Layout()
+ w = self.receiptList.GetClientSizeTuple()[0]
+ pos = 0
+ for i in range(len(self.receiptColumns)):
+ if self.receiptColumns[i][0] == 'description':
+ pos = i
+ else:
+ w -= self.receiptList.GetColumnWidth(i)
+ self.receiptList.SetColumnWidth(pos, w)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue-pos/src POSClient.py frontends/wx/Driver.py,
Jason Cater <=