def __init__(self, notebook, localsettings): busy = wx.BusyCursor() self.localsettings = localsettings self.pagetitle = self.GetLabel("mailshotpagetitle") self.pagetitle = miscmethods.GetPageTitle(notebook, self.pagetitle) wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) mainnotebook = wx.Notebook(self) self.vaccinationspanel = VaccinationsPanel(mainnotebook, self.localsettings) mainnotebook.AddPage(self.vaccinationspanel, self.GetLabel("animalvaccinationslabel"), select=True) topsizer.Add(mainnotebook, 1, wx.EXPAND) self.SetSizer(topsizer) del busy
def __init__(self, notebook, localsettings): self.localsettings = localsettings self.pagetitle = miscmethods.GetPageTitle(notebook, self.GetLabel("editinvoicepagetitle")) wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) mainsizer = wx.BoxSizer(wx.HORIZONTAL) browserpanel = FormBrowserPanel(self, localsettings, "invoice") mainsizer.Add(browserpanel, 1, wx.EXPAND) spacer = wx.StaticText(self, -1, "", size=(10,-1)) mainsizer.Add(spacer, 0, wx.EXPAND) editorpanel = FormEditingPanel(self, localsettings, "invoice") mainsizer.Add(editorpanel, 4, wx.EXPAND) topsizer.Add(mainsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.editorpanel = editorpanel self.browserpanel = browserpanel
def __init__(self, notebook, localsettings): self.localsettings = localsettings wx.Panel.__init__(self, notebook) self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("editkennelsmenu")[0]) topsizer = wx.BoxSizer(wx.VERTICAL) horizontalsizer = wx.BoxSizer(wx.HORIZONTAL) self.kennelblockpanel = KennelBlockPanel(self, localsettings) horizontalsizer.Add(self.kennelblockpanel, 2, wx.EXPAND) horizontalsizer.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) self.kennelspanel = KennelsPanel(self, localsettings) horizontalsizer.Add(self.kennelspanel, 3, wx.EXPAND) topsizer.Add(horizontalsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.kennelblockpanel.listbox.RefreshList()
def __init__(self, notebook, lookup, localsettings): self.localsettings = localsettings wx.Panel.__init__(self, notebook) if lookup == "colour": self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("lookupscolourpagetitle")) elif lookup == "breed": self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("lookupsbreedpagetitle")) elif lookup == "species": self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("lookupsspeciespagetitle")) elif lookup == "reason": self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("lookupsreasonpagetitle")) self.lookup = lookup topsizer = wx.BoxSizer(wx.VERTICAL) self.listbox = wx.ListBox(self) self.listbox.Bind(wx.EVT_LISTBOX_DCLICK, self.EditLookup) self.listbox.Bind(wx.EVT_RIGHT_DOWN, self.Popup) topsizer.Add(self.listbox, 1, wx.EXPAND) self.SetSizer(topsizer) self.RefreshLookups()
def ViewLicense(self, ID=False): licensepanel = wx.Panel(self.notebook) topsizer = wx.BoxSizer(wx.VERTICAL) licensewindow = wx.html.HtmlWindow(licensepanel) topsizer.Add(licensewindow, 1, wx.EXPAND) licensepanel.SetSizer(topsizer) licensepanel.pagetitle = miscmethods.GetPageTitle(self.notebook, self.GetMenu("licenselabel")) licensepanel.pageimage = "icons/help.png" self.notebook.AddPage(licensepanel) licensewindow.LoadPage("html/gpl.html")
def About(self, ID): aboutpanel = wx.Panel(self.notebook) topsizer = wx.BoxSizer(wx.VERTICAL) aboutwindow = wx.html.HtmlWindow(aboutpanel) topsizer.Add(aboutwindow, 1, wx.EXPAND) aboutpanel.SetSizer(topsizer) aboutpanel.pagetitle = miscmethods.GetPageTitle(self.notebook, self.GetMenu("aboutlabel")) aboutpanel.pageimage = "icons/help.png" self.notebook.AddPage(aboutpanel) aboutwindow.LoadPage("html/about.html")
def Help(self, ID): helppanel = wx.Panel(self.notebook) topsizer = wx.BoxSizer(wx.VERTICAL) helpwindow = wx.html.HtmlWindow(helppanel) topsizer.Add(helpwindow, 1, wx.EXPAND) helppanel.SetSizer(topsizer) helppanel.pagetitle = miscmethods.GetPageTitle(self.notebook, self.GetMenu("helpmenu")) helppanel.pageimage = "icons/help.png" self.notebook.AddPage(helppanel) helpwindow.LoadPage("html/index.html")
def __init__(self, parent, localsettings): wx.Panel.__init__(self, parent) self.listboxes = [] self.localsettings = localsettings self.pagetitle = miscmethods.GetPageTitle( parent, self.GetLabel("viewkennelsmenu")[0]) self.pageimage = "icons/kennel.png" action = "SELECT * FROM kennelblock ORDER BY Name" kennelblockdata = db.SendSQL(action, self.localsettings.dbconnection) action = "SELECT * FROM kennel ORDER BY Name" kenneldata = db.SendSQL(action, self.localsettings.dbconnection) topsizer = wx.BoxSizer(wx.HORIZONTAL) toolspanel = KennelToolsPanel(self, self.localsettings) topsizer.Add(toolspanel, 0, wx.EXPAND) notebook = wx.Notebook(self) for a in kennelblockdata: panel = KennelCellPanel(notebook, self.localsettings, a[0]) notebook.AddPage(panel, a[1]) topsizer.Add(notebook, 1, wx.EXPAND) self.SetSizer(topsizer) toolspanel.refreshbutton.Bind(wx.EVT_BUTTON, self.RefreshListboxes) self.toolspanel = toolspanel self.kennelblockdata = kennelblockdata self.kenneldata = kenneldata self.RefreshListboxes()
def __init__(self, notebook, localsettings): self.localsettings = localsettings wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) self.pagetitle = miscmethods.GetPageTitle(notebook, self.GetLabel("editprocedurespagetitle")) self.procedureslistbox = customwidgets.ProceduresListBox(self, localsettings) self.procedureslistbox.Bind(wx.EVT_LISTBOX_DCLICK, self.EditProcedure) self.procedureslistbox.Bind(wx.EVT_RIGHT_DOWN, self.Popup) topsizer.Add(self.procedureslistbox, 1, wx.EXPAND) self.SetSizer(topsizer) self.procedureslistbox.RefreshList()
def __init__(self, notebook, localsettings): self.localsettings = localsettings self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("editstaffpagetitle")) wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) userlist = wx.ListBox(self, -1) userlist.Bind(wx.EVT_RIGHT_DOWN, self.Popup) userlist.Bind(wx.EVT_LISTBOX_DCLICK, self.EditUser) topsizer.Add(userlist, 1, wx.EXPAND) self.SetSizer(topsizer) self.localsettings = self.localsettings self.userlist = userlist self.RefreshUsers()
def __init__(self, notebook, localsettings): self.localsettings = localsettings self.pagetitle = self.GetLabel("fileassociationspagetitle") self.pagetitle = miscmethods.GetPageTitle(notebook, self.pagetitle) self.pageimage = "icons/filetypes.png" wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) listbox = FileTypesListbox(self, self.localsettings) listbox.listctrl.Bind(wx.EVT_RIGHT_DOWN, self.Popup) listbox.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.Edit) topsizer.Add(listbox, 1, wx.EXPAND) self.SetSizer(topsizer) self.listbox = listbox self.listbox.RefreshList()
def __init__(self, notebook, localsettings): busy = wx.BusyCursor() self.localsettings = localsettings self.pagetitle = self.GetLabel("editrotalabel") self.pagetitle = miscmethods.GetPageTitle(notebook, self.pagetitle) self.currentdate = datetime.date.today() action = "SELECT Name, Position FROM user ORDER BY Name" results = db.SendSQL(action, self.localsettings.dbconnection) self.staffnames = [] self.staffpositions = [] for a in results: self.staffnames.append(a[0]) self.staffpositions.append(a[1]) wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) monthsizer = wx.BoxSizer(wx.HORIZONTAL) monthpanel = wx.Panel(self) monthsizer.Add(wx.StaticText(monthpanel, -1, ""), 1, wx.EXPAND) previousbitmap = wx.Bitmap("icons/leftarrow.png") previousbutton = wx.BitmapButton(monthpanel, -1, previousbitmap) previousbutton.SetToolTipString(self.GetLabel("previousmonthtooltip")) previousbutton.Bind(wx.EVT_BUTTON, self.PreviousMonth) monthsizer.Add(previousbutton, 0, wx.EXPAND) monthsizer.Add(wx.StaticText(monthpanel, -1, ""), 1, wx.EXPAND) monthname = miscmethods.GetMonth(int(self.currentdate.strftime("%m")), self.localsettings) monthlabel = wx.StaticText( monthpanel, -1, monthname + u"\xa0" + self.currentdate.strftime("%Y")) monthlabel.SetForegroundColour("red") font = monthlabel.GetFont() font.SetPointSize(font.GetPointSize() + 6) monthlabel.SetFont(font) monthsizer.Add(monthlabel, 0, wx.EXPAND) monthsizer.Add(wx.StaticText(monthpanel, -1, ""), 1, wx.EXPAND) nextbitmap = wx.Bitmap("icons/rightarrow.png") nextbutton = wx.BitmapButton(monthpanel, -1, nextbitmap) nextbutton.SetToolTipString(self.GetLabel("nextmonthtooltip")) nextbutton.Bind(wx.EVT_BUTTON, self.NextMonth) monthsizer.Add(nextbutton, 0, wx.EXPAND) monthsizer.Add(wx.StaticText(monthpanel, -1, ""), 1, wx.EXPAND) addstaffcheckbox = wx.CheckBox(monthpanel, -1, self.GetLabel("addstafflabel")) addstaffcheckbox.Bind(wx.EVT_CHECKBOX, self.EnableQuickRota) monthsizer.Add(addstaffcheckbox, 0, wx.ALIGN_BOTTOM) quickrotapanel = wx.Panel(monthpanel) quickrotasizer = wx.BoxSizer(wx.HORIZONTAL) quickrotasizer.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) namesizer = wx.BoxSizer(wx.VERTICAL) namelabel = wx.StaticText(quickrotapanel, -1, self.GetLabel("namelabel") + ":") font = namelabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) namelabel.SetFont(font) namesizer.Add(namelabel, 0, wx.EXPAND) nameentry = wx.ComboBox(quickrotapanel, -1, choices=self.staffnames) nameentry.Bind(wx.EVT_COMBOBOX, self.GetStaffPosition) namesizer.Add(nameentry, 1, wx.EXPAND) quickrotasizer.Add(namesizer, 2, wx.EXPAND) positionsizer = wx.BoxSizer(wx.VERTICAL) positionlabel = wx.StaticText(quickrotapanel, -1, self.GetLabel("positionlabel") + ":") font = positionlabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) positionlabel.SetFont(font) positionsizer.Add(positionlabel, 0, wx.EXPAND) positionentry = wx.TextCtrl(quickrotapanel, -1, "") positionsizer.Add(positionentry, 1, wx.EXPAND) quickrotasizer.Add(positionsizer, 2, wx.EXPAND) timeonsizer = wx.BoxSizer(wx.VERTICAL) timeonlabel = wx.StaticText(quickrotapanel, -1, self.GetLabel("timeonlabel") + ":") font = timeonlabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) timeonlabel.SetFont(font) timeonsizer.Add(timeonlabel, 0, wx.EXPAND) timeonentry = wx.TextCtrl(quickrotapanel, -1, str(self.localsettings.openfrom)) timeonsizer.Add(timeonentry, 1, wx.EXPAND) quickrotasizer.Add(timeonsizer, 1, wx.EXPAND) timeoffsizer = wx.BoxSizer(wx.VERTICAL) timeofflabel = wx.StaticText(quickrotapanel, -1, self.GetLabel("timeofflabel") + ":") font = timeofflabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) timeofflabel.SetFont(font) timeoffsizer.Add(timeofflabel, 0, wx.EXPAND) timeoffentry = wx.TextCtrl(quickrotapanel, -1, str(self.localsettings.opento)) timeoffsizer.Add(timeoffentry, 1, wx.EXPAND) quickrotasizer.Add(timeoffsizer, 1, wx.EXPAND) operatingsizer = wx.BoxSizer(wx.VERTICAL) operatinglabel = wx.StaticText(quickrotapanel, -1, self.GetLabel("operatinglabel") + ":") font = operatinglabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) operatinglabel.SetFont(font) operatingsizer.Add(operatinglabel, 0, wx.EXPAND) operatingentry = wx.CheckBox(quickrotapanel, -1) operatingsizer.Add(operatingentry, 1, wx.EXPAND) quickrotasizer.Add(operatingsizer, 1, wx.EXPAND) quickrotapanel.SetSizer(quickrotasizer) quickrotapanel.Hide() monthsizer.Add(quickrotapanel, 4, wx.EXPAND) monthpanel.SetSizer(monthsizer) topsizer.Add(monthpanel, 0, wx.EXPAND) topsizer.Add(wx.StaticText(self, -1, "", size=(-1, 20)), 0, wx.EXPAND) calendarsizer = wx.BoxSizer(wx.VERTICAL) calendarpanel = wx.Panel(self) calendarsizer.Add(calendarpanel, 1, wx.EXPAND) topsizer.Add(calendarsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.topsizer = topsizer self.monthlabel = monthlabel self.monthsizer = monthsizer self.monthpanel = monthpanel self.calendarsizer = calendarsizer self.calendarpanel = calendarpanel self.quickrotapanel = quickrotapanel self.addstaffcheckbox = addstaffcheckbox self.nameentry = nameentry self.positionentry = positionentry self.timeonentry = timeonentry self.timeoffentry = timeoffentry self.operatingentry = operatingentry self.RefreshCalendar() del busy
def __init__(self, notebook, localsettings, linktype, linkid, title, ID=False, parent=False): self.localsettings = localsettings self.parent = parent self.diarydata = DiarySettings(self.localsettings, ID) self.diarydata.linktype = linktype self.diarydata.linkid = linkid self.pagetitle = self.GetLabel("diarynotelabel") + " - " + title self.pagetitle = miscmethods.GetPageTitle(notebook, self.pagetitle) self.pageimage = "icons/diary.png" users = [] positions = [] action = "SELECT Name, Position FROM user" results = db.SendSQL(action, self.localsettings.dbconnection) for a in results: users.append(a[0]) if positions.__contains__(a[1]) == False: positions.append(a[1]) users.sort() positions.sort() wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) horizontalsizer = wx.BoxSizer(wx.HORIZONTAL) horizontalsizer.Add(wx.StaticText(self, -1, ""), 1, wx.EXPAND) gridsizer = wx.FlexGridSizer(cols=2) gridsizer.AddGrowableCol(1) gridsizer.AddGrowableRow(4) gridsizer.AddGrowableRow(6) datelabel = wx.StaticText(self, -1, self.GetLabel("datelabel") + ":") gridsizer.Add(datelabel, 0, wx.ALIGN_RIGHT) dateentry = customwidgets.DateCtrl(self, self.localsettings) gridsizer.Add(dateentry, 0, wx.ALIGN_LEFT) namelabel = wx.StaticText(self, -1, self.GetLabel("usernamelabel") + ":") gridsizer.Add(namelabel, 0, wx.ALIGN_RIGHT) nameentry = wx.ComboBox(self, -1, self.diarydata.name, choices=users, size=(300, -1)) gridsizer.Add(nameentry, 0, wx.ALIGN_LEFT) positionlabel = wx.StaticText(self, -1, self.GetLabel("positionlabel") + ":") gridsizer.Add(positionlabel, 0, wx.ALIGN_RIGHT) positionentry = wx.ComboBox(self, -1, self.diarydata.position, choices=positions, size=(300, -1)) gridsizer.Add(positionentry, 0, wx.ALIGN_LEFT) subjectlabel = wx.StaticText(self, -1, self.GetLabel("subjectlabel") + ":") gridsizer.Add(subjectlabel, 0, wx.ALIGN_RIGHT) subjectentry = wx.TextCtrl(self, -1, self.diarydata.subject) gridsizer.Add(subjectentry, 1, wx.EXPAND) notelabel = wx.StaticText(self, -1, self.GetLabel("notelabel") + ":") gridsizer.Add(notelabel, 0, wx.ALIGN_RIGHT) noteentry = wx.TextCtrl(self, -1, self.diarydata.note, style=wx.TE_MULTILINE) gridsizer.Add(noteentry, 1, wx.EXPAND) removedlabel = wx.StaticText(self, -1, self.GetLabel("removedlabel") + ":") gridsizer.Add(removedlabel, 0, wx.ALIGN_RIGHT) removedentry = customwidgets.DateCtrl(self, self.localsettings) if str(self.diarydata.removed) == "": removedentry.Clear() else: removeddate = miscmethods.GetWXDateFromSQLDate( self.diarydata.removed) removedentry.SetValue(removeddate) gridsizer.Add(removedentry, 1, wx.EXPAND) changeloglabel = wx.StaticText(self, -1, self.GetLabel("changelog") + ":") gridsizer.Add(changeloglabel, 0, wx.ALIGN_RIGHT) if self.diarydata.ID == False: changelog = "" else: changelog = miscmethods.FormatChangeLog( self.diarydata.changelog, self.GetLabel("diarynotelabel"), self.localsettings.dbconnection) changelogentry = wx.TextCtrl(self, -1, changelog, style=wx.TE_MULTILINE) changelogentry.Disable() gridsizer.Add(changelogentry, 1, wx.EXPAND) gridsizer.Add(wx.StaticText(self, -1, ""), 0, wx.EXPAND) submitbitmap = wx.Bitmap("icons/submit.png") submitbutton = wx.BitmapButton(self, -1, submitbitmap) submitbutton.SetToolTipString(self.GetLabel("submitlabel")) submitbutton.Bind(wx.EVT_BUTTON, self.Submit) gridsizer.Add(submitbutton, 0, wx.ALIGN_CENTER_HORIZONTAL) horizontalsizer.Add(gridsizer, 4, wx.EXPAND) horizontalsizer.Add(wx.StaticText(self, -1, ""), 1, wx.EXPAND) topsizer.Add(horizontalsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.dateentry = dateentry self.nameentry = nameentry self.positionentry = positionentry self.subjectentry = subjectentry self.noteentry = noteentry self.removedentry = removedentry self.notebook = notebook
def __init__(self, notebook, localsettings): self.localsettings = localsettings wx.Panel.__init__(self, notebook) self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("randomdatapagetitle")) topsizer = wx.BoxSizer(wx.VERTICAL) gridsizer = wx.FlexGridSizer(rows=5, cols=2) noofclientslabel = wx.StaticText( self, -1, self.GetLabel("randomdatanoofclientslabel") + ": ") gridsizer.Add(noofclientslabel, 0, wx.ALIGN_RIGHT) noofclientsentry = wx.TextCtrl(self, -1, "50") gridsizer.Add(noofclientsentry, 0, wx.EXPAND) noofanimalslabel = wx.StaticText( self, -1, self.GetLabel("randomdatanoofanimalslabel") + ": ") gridsizer.Add(noofanimalslabel, 0, wx.ALIGN_RIGHT) noofanimalsentry = wx.TextCtrl(self, -1, "100") gridsizer.Add(noofanimalsentry, 0, wx.EXPAND) noofappointmentslabel = wx.StaticText( self, -1, self.GetLabel("randomdatanoofappointmentslabel") + ": ") gridsizer.Add(noofappointmentslabel, 0, wx.ALIGN_RIGHT) noofappointmentsentry = wx.TextCtrl(self, -1, "30") gridsizer.Add(noofappointmentsentry, 0, wx.EXPAND) noofoperationslabel = wx.StaticText( self, -1, self.GetLabel("randomdatanoofoperationslabel") + ": ") gridsizer.Add(noofoperationslabel, 0, wx.ALIGN_RIGHT) noofoperationsentry = wx.TextCtrl(self, -1, "10") gridsizer.Add(noofoperationsentry, 0, wx.EXPAND) noofmedicationslabel = wx.StaticText( self, -1, self.GetLabel("randomdatanoofmedicationslabel") + ": ") gridsizer.Add(noofmedicationslabel, 0, wx.ALIGN_RIGHT) noofmedicationsentry = wx.TextCtrl(self, -1, "10") gridsizer.Add(noofmedicationsentry, 0, wx.EXPAND) topsizer.Add(gridsizer, 0, wx.ALIGN_CENTER) submitbitmap = wx.Bitmap("icons/submit.png") submitbutton = wx.BitmapButton(self, -1, submitbitmap) submitbutton.SetToolTipString(self.GetLabel("randomdatasubmittooltip")) submitbutton.Bind(wx.EVT_BUTTON, self.Submit) topsizer.Add(submitbutton, 0, wx.ALIGN_CENTER) horizontalsizer = wx.BoxSizer(wx.HORIZONTAL) spacer1 = wx.StaticText(self, -1, "") horizontalsizer.Add(spacer1, 1, wx.EXPAND) gaugessizer = wx.BoxSizer(wx.VERTICAL) clientgaugelabel = wx.StaticText( self, -1, self.GetLabel("randomdataclientslabel") + ":") gaugessizer.Add(clientgaugelabel, 0, wx.ALIGN_CENTER) clientgauge = wx.Gauge(self) gaugessizer.Add(clientgauge, 0, wx.EXPAND) animalgaugelabel = wx.StaticText( self, -1, self.GetLabel("randomdataanimalslabel") + ":") gaugessizer.Add(animalgaugelabel, 0, wx.ALIGN_CENTER) animalgauge = wx.Gauge(self) gaugessizer.Add(animalgauge, 0, wx.EXPAND) appointmentgaugelabel = wx.StaticText( self, -1, self.GetLabel("randomdataappointmentslabel") + ":") gaugessizer.Add(appointmentgaugelabel, 0, wx.ALIGN_CENTER) appointmentgauge = wx.Gauge(self) gaugessizer.Add(appointmentgauge, 0, wx.EXPAND) operationgaugelabel = wx.StaticText( self, -1, self.GetLabel("randomdataoperationslabel") + ":") gaugessizer.Add(operationgaugelabel, 0, wx.ALIGN_CENTER) operationgauge = wx.Gauge(self) gaugessizer.Add(operationgauge, 0, wx.EXPAND) medicationgaugelabel = wx.StaticText( self, -1, self.GetLabel("randomdatamedicationlabel") + ":") gaugessizer.Add(medicationgaugelabel, 0, wx.ALIGN_CENTER) medicationgauge = wx.Gauge(self) gaugessizer.Add(medicationgauge, 0, wx.EXPAND) horizontalsizer.Add(gaugessizer, 8, wx.EXPAND) spacer2 = wx.StaticText(self, -1, "") horizontalsizer.Add(spacer2, 1, wx.EXPAND) topsizer.Add(horizontalsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.noofclientsentry = noofclientsentry self.noofanimalsentry = noofanimalsentry self.noofappointmentsentry = noofappointmentsentry self.noofoperationsentry = noofoperationsentry self.noofmedicationsentry = noofmedicationsentry self.clientgauge = clientgauge self.animalgauge = animalgauge self.appointmentgauge = appointmentgauge self.operationgauge = operationgauge self.medicationgauge = medicationgauge self.submitbutton = submitbutton
def __init__(self, notebook, appointmentdata): self.appointmentdata = appointmentdata wx.Panel.__init__(self, notebook) self.viewappointmentspanel = False if self.appointmentdata.operation == 0: pagetitle = self.GetLabel("appointmentappointmentforlabel") + " " + self.appointmentdata.animaldata.name + " " + self.appointmentdata.clientdata.surname else: pagetitle = self.GetLabel("appointmentoperationforlabel") + " " + self.appointmentdata.animaldata.name + " " + self.appointmentdata.clientdata.surname self.pagetitle = miscmethods.GetPageTitle(notebook, pagetitle) datesizer = wx.BoxSizer(wx.HORIZONTAL) self.appointmententry = customwidgets.DateCtrl(self, self.appointmentdata) appointmentdate = miscmethods.GetWXDateFromSQLDate(self.appointmentdata.date) self.appointmententry.SetValue(appointmentdate) action = "SELECT Name FROM user WHERE Position = \"Vet\" OR Position = \"Manager\"" results = db.SendSQL(action, self.appointmentdata.localsettings.dbconnection) vets = [] if len(results) != 0: for a in results: vets.append(a[0]) self.vetcombobox = wx.ComboBox(self, -1, "Vet", choices=vets) if self.appointmentdata.vet != "None": self.vetcombobox.SetValue(str(self.appointmentdata.vet)) self.vetcombobox.Bind(wx.EVT_CHAR, self.UseVetComboBox) self.vetcombobox.SetToolTipString(self.GetLabel("appointmententervettooltip")) refreshbitmap = wx.Bitmap("icons/refresh.png") refreshappointmentsbutton = wx.BitmapButton(self, -1, refreshbitmap) refreshappointmentsbutton.Bind(wx.EVT_BUTTON, self.RefreshAppointment) refreshappointmentsbutton.SetToolTipString(self.GetLabel("appointmentrefreshtooltip")) datesizer.Add(self.appointmententry, 1, wx.EXPAND) datesizer.Add(self.vetcombobox, 1, wx.EXPAND) datesizer.Add(refreshappointmentsbutton, 0, wx.ALIGN_LEFT) reasonsizer = wx.BoxSizer(wx.VERTICAL) self.reasonlabel = wx.StaticText(self, -1, self.GetLabel("appointmentreasonlabel")) reasonsizer.Add(self.reasonlabel, 0, wx.ALIGN_LEFT) self.reasonentry = wx.TextCtrl(self, -1, self.appointmentdata.reason, style=wx.TE_MULTILINE, size=(-1,100)) self.reasonentry.SetFocus() reasonsizer.Add(self.reasonentry, 0, wx.EXPAND) searchsizer = wx.BoxSizer(wx.VERTICAL) searchsizer.Add(datesizer, 0, wx.EXPAND) searchsizer.Add(reasonsizer, 0, wx.EXPAND) searchspacer2 = wx.StaticText(self, -1, "", size=(-1,10)) searchsizer.Add(searchspacer2, 0, wx.EXPAND) appointmenttimesizer = wx.BoxSizer(wx.HORIZONTAL) self.appointmenttimelabel = wx.StaticText(self, -1, self.GetLabel("appointmenttimelabel")) time = str(self.appointmentdata.time) if len(str(time)) == 7: time = "0" + time[:4] else: time = time[:5] self.appointmenttimeentry = wx.TextCtrl(self, -1, time) appointmenttimesizer.Add(self.appointmenttimelabel, 0, wx.ALIGN_CENTER) appointmenttimesizer.Add(self.appointmenttimeentry, 0, wx.EXPAND) appointmenttimespacer = wx.StaticText(self, -1, "") appointmenttimesizer.Add(appointmenttimespacer, 1, wx.EXPAND) self.opcheckbox = wx.CheckBox(self, -1, self.GetButtonLabel("appointmentisopcheckbox", 0)) self.opcheckbox.Bind(wx.EVT_CHECKBOX, self.SwitchToOps) self.opcheckbox.SetToolTipString(self.GetButtonLabel("appointmentisopcheckbox", 1)) appointmenttimesizer.Add(self.opcheckbox, 0, wx.ALIGN_CENTER) appointmenttimespacer1 = wx.StaticText(self, -1, "") appointmenttimesizer.Add(appointmenttimespacer1, 1, wx.EXPAND) submitbitmap = wx.Bitmap("icons/submit.png") appointmentsubmitbutton = wx.BitmapButton(self, -1, submitbitmap) appointmentsubmitbutton.Bind(wx.EVT_BUTTON, self.Submit) appointmentsubmitbutton.SetToolTipString(self.GetLabel("appointmentsubmittooltip")) appointmenttimesizer.Add(appointmentsubmitbutton) searchsizer.Add(appointmenttimesizer, 0, wx.EXPAND) searchspacer3 = wx.StaticText(self, -1, "", size=(-1,10)) searchsizer.Add(searchspacer3, 0, wx.EXPAND) buttonssizer = wx.BoxSizer(wx.HORIZONTAL) deletebitmap = wx.Bitmap("icons/delete.png") deletebutton = wx.BitmapButton(self, -1, deletebitmap) deletebutton.SetToolTipString(self.GetLabel("appointmentdeletetooltip")) deletebutton.Bind(wx.EVT_BUTTON, self.Delete) buttonssizer.Add(deletebutton, 0, wx.EXPAND) if self.appointmentdata.localsettings.deleteappointments == 0: deletebutton.Disable() buttonsspacer = wx.StaticText(self, -1, "") buttonssizer.Add(buttonsspacer, 1, wx.EXPAND) statuslabel = wx.StaticText(self, -1, self.GetLabel("appointmentstatuslabel")) buttonssizer.Add(statuslabel, 0, wx.ALIGN_CENTER) statuschoice = wx.Choice(self, -1, choices=(self.GetLabel("appointmentnotarrivedlabel"), self.GetLabel("appointmentwaitinglabel"), self.GetLabel("appointmentwithvetlabel"), self.GetLabel("appointmentdonelabel"))) if self.appointmentdata.done == 1: statuschoice.SetSelection(3) elif self.appointmentdata.withvet == 1: statuschoice.SetSelection(2) elif self.appointmentdata.arrived == 1: statuschoice.SetSelection(1) else: statuschoice.SetSelection(0) buttonssizer.Add(statuschoice, 0, wx.EXPAND) searchsizer.Add(buttonssizer, 0, wx.EXPAND) searchspacer = wx.StaticText(self, -1, "", size=(-1,10)) searchsizer.Add(searchspacer, 0, wx.EXPAND) owneranimalsizer = wx.BoxSizer(wx.HORIZONTAL) editownerbutton = wx.Button(self, -1, self.GetButtonLabel("appointmenteditownerbutton", 0)) editownerbutton.SetForegroundColour("blue") editownerbutton.SetToolTipString(self.GetButtonLabel("appointmenteditownerbutton", 1)) editownerbutton.Bind(wx.EVT_BUTTON, self.OpenClientRecord) owneranimalsizer.Add(editownerbutton, 0, wx.EXPAND) if self.appointmentdata.localsettings.editclients == 0: editownerbutton.Disable() owneranimalspacer = wx.StaticText(self, -1, "") owneranimalsizer.Add(owneranimalspacer, 1, wx.EXPAND) editanimalbutton = wx.Button(self, -1, self.GetButtonLabel("appointmenteditanimalbutton", 0)) editanimalbutton.SetForegroundColour("blue") editanimalbutton.SetToolTipString(self.GetButtonLabel("appointmenteditanimalbutton", 1)) editanimalbutton.Bind(wx.EVT_BUTTON, self.OpenAnimalRecord) owneranimalsizer.Add(editanimalbutton, 0, wx.EXPAND) if self.appointmentdata.localsettings.editanimals == 0: editanimalbutton.Disable() searchsizer.Add(owneranimalsizer, 0, wx.EXPAND) searchspacer1 = wx.StaticText(self, -1, "") searchsizer.Add(searchspacer1, 1, wx.EXPAND) #Right hand pane date = self.appointmententry.GetValue() date = miscmethods.GetDateFromWXDate(date) date = miscmethods.FormatDate(date, self.appointmentdata.localsettings) appointmentslistboxlabeltext = self.GetLabel("appointmentappointmentsforlabel") + " " + str(date) self.appointmentslistboxlabel = wx.StaticText(self, -1, appointmentslistboxlabeltext) self.appointmentslistbox = customwidgets.DayPlannerListbox(self, appointmentdata.localsettings, date, 10) self.appointmentslistbox.Bind(wx.EVT_LISTBOX_DCLICK, self.GetTime) appointmentslistboxsizer = wx.BoxSizer(wx.VERTICAL) appointmentslistboxsizer.Add(self.appointmentslistboxlabel, 0, wx.EXPAND) appointmentslistboxsizer.Add(self.appointmentslistbox, 1, wx.EXPAND) self.appointmentlistboxtotal = wx.StaticText(self, -1, self.GetLabel("totallabel") + ": 0") appointmentslistboxsizer.Add(self.appointmentlistboxtotal, 0, wx.ALIGN_RIGHT) mainsizer = wx.BoxSizer(wx.HORIZONTAL) mainsizer.Add(searchsizer, 1, wx.EXPAND) spacer = wx.StaticText(self, -1, "", size=(50,-1)) mainsizer.Add(spacer, 0, wx.EXPAND) mainsizer.Add(appointmentslistboxsizer, 2, wx.EXPAND) topsizer = wx.BoxSizer(wx.VERTICAL) closebuttonsizer = wx.BoxSizer(wx.HORIZONTAL) closebuttonspacer2 = wx.StaticText(self, -1, "") closebuttonsizer.Add(closebuttonspacer2, 1, wx.EXPAND) topsizer.Add(closebuttonsizer, 0, wx.EXPAND) topsizer.Add(mainsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.appointmentslistboxsizer = appointmentslistboxsizer self.statuschoice = statuschoice if self.appointmentdata.operation == 1: self.opcheckbox.SetValue(True) self.SwitchToOps() self.RefreshAppointment()
def __init__(self, notebook, localsettings): self.localsettings = localsettings pagetitle = self.GetLabel("editsettingslabel") action = "SELECT * FROM settings" results = db.SendSQL(action, localsettings.dbconnection) practicename = results[0][1] openfrom = results[0][2] opento = results[0][3] operationtime = results[0][4] practiceaddress = results[0][5] practicepostcode = results[0][6] practicetelephone = results[0][7] practiceemail = results[0][8] practicewebsite = results[0][9] language = localsettings.language self.pagetitle = miscmethods.GetPageTitle(notebook, pagetitle) wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) horizontalsizer = wx.BoxSizer(wx.HORIZONTAL) leftsizer = wx.BoxSizer(wx.VERTICAL) namelabel = wx.StaticText( self, -1, self.GetLabel("settingspracticenamelabel") + ": ") font = namelabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) namelabel.SetFont(font) leftsizer.Add(namelabel, 0, wx.ALIGN_LEFT) nameentry = wx.TextCtrl(self, -1, practicename) leftsizer.Add(nameentry, 0, wx.EXPAND) addresslabel = wx.StaticText( self, -1, self.GetLabel("clientaddresslabel") + ": ") addresslabel.SetFont(font) leftsizer.Add(addresslabel, 0, wx.ALIGN_LEFT) addressentry = wx.TextCtrl(self, -1, practiceaddress, style=wx.TE_MULTILINE) leftsizer.Add(addressentry, 0, wx.EXPAND) postcodelabel = wx.StaticText( self, -1, self.GetLabel("clientpostcodelabel") + ": ") postcodelabel.SetFont(font) leftsizer.Add(postcodelabel, 0, wx.ALIGN_LEFT) postcodeentry = wx.TextCtrl(self, -1, practicepostcode) leftsizer.Add(postcodeentry, 0, wx.EXPAND) telephonelabel = wx.StaticText( self, -1, self.GetLabel("clientsearchphonelabel") + ": ") telephonelabel.SetFont(font) leftsizer.Add(telephonelabel, 0, wx.ALIGN_LEFT) telephoneentry = wx.TextCtrl(self, -1, practicetelephone) leftsizer.Add(telephoneentry, 0, wx.EXPAND) emaillabel = wx.StaticText( self, -1, self.GetLabel("clientemailaddresslabel") + ": ") emaillabel.SetFont(font) leftsizer.Add(emaillabel, 0, wx.ALIGN_LEFT) emailentry = wx.TextCtrl(self, -1, practiceemail) leftsizer.Add(emailentry, 0, wx.EXPAND) websitelabel = wx.StaticText(self, -1, self.GetLabel("websitelabel") + ": ") websitelabel.SetFont(font) leftsizer.Add(websitelabel, 0, wx.ALIGN_LEFT) websiteentry = wx.TextCtrl(self, -1, practicewebsite) leftsizer.Add(websiteentry, 0, wx.EXPAND) horizontalsizer.Add(leftsizer, 1, wx.EXPAND) horizontalsizer.Add(wx.StaticText(self, -1, "", size=(20, -1)), 0, wx.EXPAND) middlesizer = wx.BoxSizer(wx.VERTICAL) openfromlabel = wx.StaticText( self, -1, self.GetLabel("settingsopenfromlabel") + ": ") openfromlabel.SetFont(font) middlesizer.Add(openfromlabel, 0, wx.ALIGN_LEFT) openfromentry = wx.TextCtrl(self, -1, openfrom) middlesizer.Add(openfromentry, 0, wx.EXPAND) opentolabel = wx.StaticText( self, -1, self.GetLabel("settingsopentolabel") + ": ") opentolabel.SetFont(font) middlesizer.Add(opentolabel, 0, wx.ALIGN_LEFT) opentoentry = wx.TextCtrl(self, -1, opento) middlesizer.Add(opentoentry, 0, wx.EXPAND) operationtimelabel = wx.StaticText( self, -1, self.GetLabel("settingsoperatingtimelabel") + ": ") operationtimelabel.SetFont(font) middlesizer.Add(operationtimelabel, 0, wx.ALIGN_LEFT) operationtimeentry = wx.TextCtrl(self, -1, operationtime) middlesizer.Add(operationtimeentry, 0, wx.EXPAND) prescriptionfeelabel = wx.StaticText( self, -1, self.GetLabel("prescriptionfeelabel") + ": ") prescriptionfeelabel.SetFont(font) middlesizer.Add(prescriptionfeelabel, 0, wx.ALIGN_LEFT) prescriptionfeeentry = wx.TextCtrl( self, -1, miscmethods.FormatPrice(self.localsettings.prescriptionfee)) middlesizer.Add(prescriptionfeeentry, 0, wx.EXPAND) middlesizer.Add(wx.StaticText(self, -1, "", size=(-1, 20)), 0, wx.EXPAND) asmshelterlabel = wx.StaticText( self, -1, self.GetLabel("asmshelterlabel") + ": ") asmshelterlabel.SetFont(font) middlesizer.Add(asmshelterlabel, 0, wx.ALIGN_LEFT) asmsheltersizer = wx.BoxSizer(wx.HORIZONTAL) asmbitmap = wx.Bitmap("icons/asm.png") asmstaticbitmap = wx.StaticBitmap(self, -1, asmbitmap) asmsheltersizer.Add(asmstaticbitmap, 0, wx.ALIGN_CENTER) asmshelterentry = wx.TextCtrl(self, -1, self.GetLabel("nonelabel"), style=wx.TE_READONLY) asmshelterentry.SetToolTipString(self.GetLabel("asmsheltertooltip")) asmsheltersizer.Add(asmshelterentry, 1, wx.EXPAND) searchbitmap = wx.Bitmap("icons/search.png") asmshelterbutton = wx.BitmapButton(self, -1, searchbitmap) asmshelterbutton.Bind(wx.EVT_BUTTON, self.FindShelter) asmshelterbutton.SetToolTipString(self.GetLabel("searchlabel")) asmsheltersizer.Add(asmshelterbutton, 0, wx.EXPAND) middlesizer.Add(asmsheltersizer, 0, wx.EXPAND) asmvaccinationlabel = wx.StaticText( self, -1, self.GetLabel("asmvaccinationlabel") + ": ") asmvaccinationlabel.SetFont(font) middlesizer.Add(asmvaccinationlabel, 0, wx.ALIGN_LEFT) asmvaccinationsizer = wx.BoxSizer(wx.HORIZONTAL) #asmbitmap = wx.Bitmap("icons/asm.png") asmstaticbitmap = wx.StaticBitmap(self, -1, asmbitmap) asmvaccinationsizer.Add(asmstaticbitmap, 0, wx.ALIGN_CENTER) asmvaccinationentry = wx.TextCtrl(self, -1, self.GetLabel("nonelabel"), style=wx.TE_READONLY) asmvaccinationentry.SetToolTipString( self.GetLabel("asmvaccinationtooltip")) asmvaccinationsizer.Add(asmvaccinationentry, 1, wx.EXPAND) searchbitmap = wx.Bitmap("icons/search.png") asmvaccinationbutton = wx.BitmapButton(self, -1, searchbitmap) asmvaccinationbutton.Bind(wx.EVT_BUTTON, self.FindVaccination) asmvaccinationbutton.SetToolTipString(self.GetLabel("searchlabel")) asmvaccinationsizer.Add(asmvaccinationbutton, 0, wx.EXPAND) middlesizer.Add(asmvaccinationsizer, 0, wx.EXPAND) horizontalsizer.Add(middlesizer, 1, wx.EXPAND) horizontalsizer.Add(wx.StaticText(self, -1, "", size=(20, -1)), 0, wx.EXPAND) rightsizer = wx.BoxSizer(wx.VERTICAL) languagelabel = wx.StaticText( self, -1, self.GetLabel("settingslanguagelabel") + ": ") languagelabel.SetFont(font) rightsizer.Add(languagelabel, 0, wx.ALIGN_LEFT) inp = open("language.py") filecontents = "" for a in inp.readlines(): filecontents = filecontents + a inp.close() alternativelanguage = filecontents.split("####")[1] languageentry = wx.Choice(self, -1, choices=("British English", alternativelanguage)) languageentry.SetSelection(language) rightsizer.Add(languageentry, 0, wx.EXPAND) appointmentrefreshlabel = wx.StaticText( self, -1, self.GetLabel("appointmentrefreshlabel") + ":") appointmentrefreshlabel.SetFont(font) rightsizer.Add(appointmentrefreshlabel, 0, wx.ALIGN_LEFT) appointmentrefreshentry = wx.TextCtrl( self, -1, str(self.localsettings.appointmentrefresh)) rightsizer.Add(appointmentrefreshentry, 0, wx.EXPAND) rightsizer.Add(wx.StaticText(self, -1, "", size=(-1, 20)), 0, wx.EXPAND) submitbutton = wx.Button(self, -1, self.GetLabel("submitlabel")) submitbutton.SetBackgroundColour("green") submitbutton.SetToolTipString(self.GetLabel("submitlabel")) submitbutton.Bind(wx.EVT_BUTTON, self.Submit) rightsizer.Add(submitbutton, 0, wx.ALIGN_CENTER_HORIZONTAL) horizontalsizer.Add(rightsizer, 1, wx.EXPAND) topsizer.Add(horizontalsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.nameentry = nameentry self.addressentry = addressentry self.postcodeentry = postcodeentry self.telephoneentry = telephoneentry self.emailentry = emailentry self.websiteentry = websiteentry self.openfromentry = openfromentry self.opentoentry = opentoentry self.operationtimeentry = operationtimeentry self.asmshelterentry = asmshelterentry self.asmvaccinationentry = asmvaccinationentry self.asmvaccinationbutton = asmvaccinationbutton self.languageentry = languageentry self.appointmentrefreshentry = appointmentrefreshentry self.prescriptionfeeentry = prescriptionfeeentry self.notebook = notebook self.UpdateShelterName() self.UpdateShelterVaccination()
def __init__(self, notebook, localsettings): busy = wx.BusyCursor() self.notebook = notebook self.localsettings = localsettings self.pagetitle = self.GetLabel("editdiarypagetitle") self.pagetitle = miscmethods.GetPageTitle(notebook, self.pagetitle) self.pageimage = "icons/diary.png" users = [] positions = [] action = "SELECT Name, Position FROM user" results = db.SendSQL(action, self.localsettings.dbconnection) for a in results: users.append(a[0]) if positions.__contains__(a[1]) == False: positions.append(a[1]) users.sort() positions.sort() wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) topsizer.Add(wx.StaticText(self, -1, "", size=(-1, 10)), 0, wx.EXPAND) filtersizer1 = wx.BoxSizer(wx.HORIZONTAL) fromcheckbox = wx.CheckBox(self, -1, "") fromcheckbox.Bind(wx.EVT_CHECKBOX, self.FromDateChecked) filtersizer1.Add(fromcheckbox, 0, wx.ALIGN_BOTTOM) fromsizer = wx.BoxSizer(wx.VERTICAL) fromlabel = wx.StaticText(self, -1, self.GetLabel("fromlabel") + ":") font = fromlabel.GetFont() font.SetPointSize(font.GetPointSize() - 2) fromlabel.SetFont(font) fromsizer.Add(fromlabel, 0, wx.ALIGN_LEFT) fromdateentry = customwidgets.DateCtrl(self, self.localsettings) fromdateentry.SetSize((-1, -1)) fromdateentry.Disable() fromsizer.Add(fromdateentry, 0, wx.EXPAND) filtersizer1.Add(fromsizer, 1, wx.EXPAND) filtersizer1.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) tosizer = wx.BoxSizer(wx.VERTICAL) todatelabel = wx.StaticText(self, -1, self.GetLabel("tolabel") + ":") todatelabel.SetFont(font) tosizer.Add(todatelabel, 0, wx.ALIGN_LEFT) todateentry = customwidgets.DateCtrl(self, self.localsettings) todateentry.SetSize((-1, -1)) tosizer.Add(todateentry, 0, wx.EXPAND) filtersizer1.Add(tosizer, 1, wx.EXPAND) filtersizer1.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) usersizer = wx.BoxSizer(wx.VERTICAL) userlabel = wx.StaticText(self, -1, self.GetLabel("usernamelabel") + ":") userlabel.SetFont(font) usersizer.Add(userlabel, 0, wx.ALIGN_LEFT) userentry = wx.ComboBox(self, -1, self.localsettings.username, choices=users) usersizer.Add(userentry, 0, wx.EXPAND) filtersizer1.Add(usersizer, 2, wx.EXPAND) filtersizer1.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) positionsizer = wx.BoxSizer(wx.VERTICAL) positionlabel = wx.StaticText(self, -1, self.GetLabel("positionlabel") + ":") positionlabel.SetFont(font) positionsizer.Add(positionlabel, 0, wx.ALIGN_LEFT) positionentry = wx.ComboBox(self, -1, self.localsettings.userposition, choices=positions) positionsizer.Add(positionentry, 0, wx.EXPAND) filtersizer1.Add(positionsizer, 2, wx.EXPAND) topsizer.Add(filtersizer1, 0, wx.EXPAND) topsizer.Add(wx.StaticText(self, -1, "", size=(-1, 10)), 0, wx.EXPAND) filtersizer2 = wx.BoxSizer(wx.HORIZONTAL) clearbitmap = wx.Bitmap("icons/reset.png") clearbutton = wx.BitmapButton(self, -1, clearbitmap) clearbutton.SetToolTipString(self.GetLabel("cleardiarytooltip")) clearbutton.Bind(wx.EVT_BUTTON, self.ClearEntries) filtersizer2.Add(clearbutton, 0, wx.ALIGN_BOTTOM) filtersizer2.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) subjectsizer = wx.BoxSizer(wx.VERTICAL) subjectlabel = wx.StaticText( self, -1, self.GetLabel("subjectcontainslabel") + ":") subjectlabel.SetFont(font) subjectsizer.Add(subjectlabel, 0, wx.ALIGN_LEFT) subjectentry = wx.TextCtrl(self, -1, "") subjectsizer.Add(subjectentry, 0, wx.EXPAND) filtersizer2.Add(subjectsizer, 1, wx.EXPAND) filtersizer2.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) notesizer = wx.BoxSizer(wx.VERTICAL) notelabel = wx.StaticText(self, -1, self.GetLabel("notecontainslabel") + ":") notelabel.SetFont(font) notesizer.Add(notelabel, 0, wx.ALIGN_LEFT) noteentry = wx.TextCtrl(self, -1, "") notesizer.Add(noteentry, 0, wx.EXPAND) filtersizer2.Add(notesizer, 1, wx.EXPAND) filtersizer2.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) removedcheckbox = wx.CheckBox(self, -1, self.GetLabel("showremovedlabel")) removedcheckbox.SetFont(font) filtersizer2.Add(removedcheckbox, 0, wx.ALIGN_BOTTOM) filtersizer2.Add(wx.StaticText(self, -1, "", size=(10, -1)), 0, wx.EXPAND) refreshbitmap = wx.Bitmap("icons/refresh.png") refreshbutton = wx.BitmapButton(self, -1, refreshbitmap) refreshbutton.SetToolTipString(self.GetLabel("refreshdiarytooltip")) filtersizer2.Add(refreshbutton, 0, wx.ALIGN_BOTTOM) topsizer.Add(filtersizer2, 0, wx.EXPAND) topsizer.Add(wx.StaticText(self, -1, "", size=(-1, 10)), 0, wx.EXPAND) diarylistbox = DiaryNotesListbox(self) diarylistbox.listctrl.Bind(wx.EVT_RIGHT_DOWN, self.DiaryPopup) if self.localsettings.editdiary == 1: diarylistbox.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.EditNote) topsizer.Add(diarylistbox, 1, wx.EXPAND) self.SetSizer(topsizer) self.fromdateentry = fromdateentry self.todateentry = todateentry self.userentry = userentry self.positionentry = positionentry self.subjectentry = subjectentry self.noteentry = noteentry self.removedcheckbox = removedcheckbox self.fromcheckbox = fromcheckbox self.diarylistbox = diarylistbox refreshbutton.Bind(wx.EVT_BUTTON, self.diarylistbox.RefreshList) self.diarylistbox.RefreshList() del busy
def __init__(self, notebook, localsettings, operations=0): busy = wx.BusyCursor() self.localsettings = localsettings self.operations = operations self.selectedappointmentdata = False date = datetime.datetime.today().strftime("%A %d %B %Y") sqldate = datetime.datetime.today().strftime("%Y-%m-%d") if operations == 0: action = "SELECT Name FROM staff WHERE Date = \"" + sqldate + "\" AND Operating = 0 AND Position = \"" + self.GetLabel( "vetpositiontitle") + "\" ORDER BY Name" else: action = "SELECT Name FROM staff WHERE Date = \"" + sqldate + "\" AND Operating = 1 AND Position = \"" + self.GetLabel( "vetpositiontitle") + "\" ORDER BY Name" results = db.SendSQL(action, self.localsettings.dbconnection) self.vetlist = [] for a in results: self.vetlist.append(a[0]) if len(self.vetlist) == 0: self.vetlist.append(self.GetLabel("nonelabel")) wx.Panel.__init__(self, notebook) if self.operations == 0: self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("viewappointmentspagetitle")) self.pageimage = "icons/appointment.png" else: self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("viewoperationspagetitle")) self.pageimage = "icons/operation.png" topsizer = wx.BoxSizer(wx.VERTICAL) lefttorightsizer = wx.BoxSizer(wx.HORIZONTAL) leftsizer = wx.BoxSizer(wx.VERTICAL) datetimesizer = wx.BoxSizer(wx.HORIZONTAL) datetimewindow = wx.html.HtmlWindow(self) datetimesizer.Add(datetimewindow, 1, wx.EXPAND) leftsizer.Add(datetimesizer, 1, wx.EXPAND) leftspacer1 = wx.StaticText(self, -1, "", size=(-1, 50)) leftsizer.Add(leftspacer1, 0, wx.EXPAND) detailslabel = wx.StaticText( self, -1, self.GetLabel("animalappointmentdetailslabel") + ":") leftsizer.Add(detailslabel, 0, wx.ALIGN_LEFT) detailswindow = wx.html.HtmlWindow(self) leftsizer.Add(detailswindow, 3, wx.EXPAND) lefttorightsizer.Add(leftsizer, 1, wx.EXPAND) lefttorightspacer = wx.StaticText(self, -1, "", size=(50, -1)) lefttorightsizer.Add(lefttorightspacer, 0, wx.EXPAND) rightsizer = wx.BoxSizer(wx.HORIZONTAL) rightleftsizer = wx.BoxSizer(wx.VERTICAL) waitingsizer = wx.BoxSizer(wx.VERTICAL) waitinglabel = wx.StaticText( self, -1, self.GetLabel("appointmentwaitinglabel") + ":") waitingsizer.Add(waitinglabel, 0, wx.ALIGN_LEFT) waitinglistbox = customwidgets.AppointmentListbox( self, localsettings, 1) waitinglistbox.Bind(wx.EVT_LISTBOX_DCLICK, self.EditAppointment) waitingsizer.Add(waitinglistbox, 1, wx.EXPAND) waitingtotal = wx.StaticText(self, -1, self.GetLabel("totallabel") + ": 0") waitingsizer.Add(waitingtotal, 0, wx.ALIGN_RIGHT) rightleftsizer.Add(waitingsizer, 1, wx.EXPAND) withvetbuttonssizer = wx.BoxSizer(wx.HORIZONTAL) withvetspacer = wx.StaticText(self, -1, "") withvetbuttonssizer.Add(withvetspacer, 1, wx.EXPAND) downbitmap = wx.Bitmap("icons/downarrow.png") withvetbutton = wx.BitmapButton(self, -1, downbitmap) withvetbutton.SetToolTipString( self.GetLabel("viewappointmentsmarkwithvettooltip")) withvetbutton.Bind(wx.EVT_BUTTON, self.MarkWithVet) withvetbuttonssizer.Add(withvetbutton, 0, wx.EXPAND) vetcombobox = wx.ComboBox(self, -1, self.vetlist[0], choices=self.vetlist) vetcombobox.SetToolTipString( self.GetLabel("viewappointmentschoosevettooltip")) if localsettings.userposition == self.GetLabel("vetpositiontitle"): vetcombobox.SetValue(localsettings.username) withvetbuttonssizer.Add(vetcombobox, 2, wx.EXPAND) withvetspacer2 = wx.StaticText(self, -1, "") withvetbuttonssizer.Add(withvetspacer2, 1, wx.EXPAND) rightleftsizer.Add(withvetbuttonssizer, 0, wx.EXPAND) withvetsizer = wx.BoxSizer(wx.VERTICAL) withvetlabel = wx.StaticText( self, -1, self.GetLabel("appointmentwithvetlabel") + ":") withvetsizer.Add(withvetlabel, 0, wx.ALIGN_LEFT) withvetlistbox = customwidgets.AppointmentListbox( self, localsettings, 2) withvetlistbox.Bind(wx.EVT_LISTBOX_DCLICK, self.EditAppointment) withvetsizer.Add(withvetlistbox, 1, wx.EXPAND) withvettotal = wx.StaticText(self, -1, self.GetLabel("totallabel") + ": 0") withvetsizer.Add(withvettotal, 0, wx.ALIGN_RIGHT) rightleftsizer.Add(withvetsizer, 1, wx.EXPAND) rightsizer.Add(rightleftsizer, 1, wx.EXPAND) rightmiddlesizer = wx.BoxSizer(wx.VERTICAL) middlespacer1 = wx.StaticText(self, -1, "") rightmiddlesizer.Add(middlespacer1, 1, wx.EXPAND) leftbitmap = wx.Bitmap("icons/leftarrow.png") arrivedbutton = wx.BitmapButton(self, -1, leftbitmap) arrivedbutton.SetToolTipString( self.GetLabel("viewappointmentsmarkarrivedtooltip")) arrivedbutton.Bind(wx.EVT_BUTTON, self.MarkArrived) rightmiddlesizer.Add(arrivedbutton, 0, wx.ALIGN_CENTER) middlespacer2 = wx.StaticText(self, -1, "") rightmiddlesizer.Add(middlespacer2, 2, wx.EXPAND) rightbitmap = wx.Bitmap("icons/rightarrow.png") donebutton = wx.BitmapButton(self, -1, rightbitmap) donebutton.SetToolTipString( self.GetLabel("viewappointmentsmarkdonetooltip")) donebutton.Bind(wx.EVT_BUTTON, self.MarkDone) rightmiddlesizer.Add(donebutton, 0, wx.ALIGN_CENTER) middlespacer3 = wx.StaticText(self, -1, "") rightmiddlesizer.Add(middlespacer3, 1, wx.EXPAND) rightsizer.Add(rightmiddlesizer, 0, wx.EXPAND) rightrightsizer = wx.BoxSizer(wx.VERTICAL) notarrivedsizer = wx.BoxSizer(wx.VERTICAL) notarrivedlabel = wx.StaticText( self, -1, self.GetLabel("appointmentnotarrivedlabel") + ":") notarrivedsizer.Add(notarrivedlabel, 0, wx.ALIGN_LEFT) notarrivedlistbox = customwidgets.AppointmentListbox( self, localsettings, 0) notarrivedlistbox.Bind(wx.EVT_LISTBOX_DCLICK, self.EditAppointment) notarrivedsizer.Add(notarrivedlistbox, 1, wx.EXPAND) notarrivedtotal = wx.StaticText(self, -1, self.GetLabel("totallabel") + ": 0") notarrivedsizer.Add(notarrivedtotal, 0, wx.ALIGN_RIGHT) rightrightsizer.Add(notarrivedsizer, 1, wx.EXPAND) donespacer = wx.StaticText(self, -1, "", size=(-1, 20)) rightrightsizer.Add(donespacer, 0, wx.EXPAND) donesizer = wx.BoxSizer(wx.VERTICAL) donelabel = wx.StaticText(self, -1, self.GetLabel("appointmentdonelabel") + ":") donesizer.Add(donelabel, 0, wx.ALIGN_LEFT) donelistbox = customwidgets.AppointmentListbox(self, localsettings, 3) donelistbox.Bind(wx.EVT_LISTBOX_DCLICK, self.EditAppointment) donesizer.Add(donelistbox, 1, wx.EXPAND) donetotal = wx.StaticText(self, -1, self.GetLabel("totallabel") + ": 0") donesizer.Add(donetotal, 0, wx.ALIGN_RIGHT) rightrightsizer.Add(donesizer, 1, wx.EXPAND) rightsizer.Add(rightrightsizer, 1, wx.EXPAND) lefttorightsizer.Add(rightsizer, 2, wx.EXPAND) topsizer.Add(lefttorightsizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.notarrivedlistbox = notarrivedlistbox self.waitinglistbox = waitinglistbox self.withvetlistbox = withvetlistbox self.donelistbox = donelistbox self.detailswindow = detailswindow self.notebook = notebook self.datetimewindow = datetimewindow self.vetcombobox = vetcombobox self.withvetbutton = withvetbutton self.arrivedbutton = arrivedbutton self.donebutton = donebutton self.notarrivedtotal = notarrivedtotal self.waitingtotal = waitingtotal self.withvettotal = withvettotal self.donetotal = donetotal self.notarrivedsizer = notarrivedsizer self.waitingsizer = waitingsizer self.withvetsizer = withvetsizer self.donesizer = donesizer #self.RefreshLists() #AutoUpdateViewAppointments(self) UpdateViewAppointments(self) del busy frame = notebook.GetGrandParent() timeinterval = self.localsettings.appointmentrefresh * 1000 #convert from seconds if operations == 0: frame.appointments = wx.Timer(frame, -1) frame.appointments.appointmentpanel = self frame.Bind(wx.EVT_TIMER, UpdateViewAppointments, frame.appointments) frame.appointments.Start(timeinterval) else: frame.operationstimer = wx.Timer(frame, -1) frame.operationstimer.appointmentpanel = self frame.Bind(wx.EVT_TIMER, UpdateViewAppointments, frame.operationstimer) frame.operationstimer.Start(timeinterval)
def __init__(self, notebook, localsettings): self.localsettings = localsettings self.pagetitle = miscmethods.GetPageTitle( notebook, self.GetLabel("editrotapagetitle")) wx.Panel.__init__(self, notebook) topsizer = wx.BoxSizer(wx.VERTICAL) action = "SELECT Name FROM user WHERE Position LIKE \"%Vet%\" ORDER BY Name" results = db.SendSQL(action, localsettings.dbconnection) vets = [] for a in results: vets.append(a[0]) toolssizer = wx.FlexGridSizer(rows=1) vetlabel = wx.StaticText(self, -1, self.GetLabel("vetlabel") + ": ") toolssizer.Add(vetlabel, 0, wx.ALIGN_CENTER) vetentry = wx.ComboBox(self, -1, "", choices=vets) toolssizer.Add(vetentry, 1, wx.EXPAND) timeonlabel = wx.StaticText(self, -1, " " + self.GetLabel("timeonlabel") + ": ") toolssizer.Add(timeonlabel, 0, wx.ALIGN_CENTER) timeonentry = wx.TextCtrl(self, -1, "") toolssizer.Add(timeonentry, 1, wx.EXPAND) timeofflabel = wx.StaticText( self, -1, " " + self.GetLabel("timeofflabel") + ": ") toolssizer.Add(timeofflabel, 0, wx.ALIGN_CENTER) timeoffentry = wx.TextCtrl(self, -1, "") toolssizer.Add(timeoffentry, 1, wx.EXPAND) operatingcheckbox = wx.CheckBox( self, -1, " " + self.GetLabel("operatinglabel") + ": ") toolssizer.Add(operatingcheckbox, 0, wx.ALIGN_CENTER) #spacer2 = wx.StaticText(self, -1, "") #toolssizer.Add(spacer2, 2, wx.EXPAND) for a in (1, 3, 5): toolssizer.AddGrowableCol(a) submitbitmap = wx.Bitmap("icons/submit.png") submitbutton = wx.BitmapButton(self, -1, submitbitmap) submitbutton.Bind(wx.EVT_BUTTON, self.Submit) toolssizer.Add(submitbutton, 0, wx.ALIGN_CENTER) topsizer.Add(toolssizer, 0, wx.EXPAND) spacer = wx.StaticText(self, -1, "") topsizer.Add(spacer, 0, wx.EXPAND) listssizer = wx.BoxSizer(wx.HORIZONTAL) datesizer = wx.BoxSizer(wx.VERTICAL) datelabel = wx.StaticText(self, -1, self.GetLabel("datelabel") + ":") datesizer.Add(datelabel, 0, wx.ALIGN_LEFT) datepickersizer = wx.BoxSizer(wx.HORIZONTAL) #self.dateentry = wx.DatePickerCtrl(self, -1, size=(200,-1)) self.dateentry = customwidgets.DateCtrl(self, self.localsettings) #self.dateentry.Bind(wx.EVT_DATE_CHANGED, self.RefreshRota) datepickersizer.Add(self.dateentry, 1, wx.EXPAND) refreshbitmap = wx.Bitmap("icons/refresh.png") refreshbutton = wx.BitmapButton(self, -1, refreshbitmap) refreshbutton.Bind(wx.EVT_BUTTON, self.RefreshRota) datepickersizer.Add(refreshbutton, 0, wx.wx.EXPAND) datesizer.Add(datepickersizer, 0, wx.EXPAND) listssizer.Add(datesizer, 1, wx.EXPAND) spacer1 = wx.StaticText(self, -1, "", size=(20, -1)) listssizer.Add(spacer1, 0, wx.EXPAND) summarysizer = wx.BoxSizer(wx.VERTICAL) staffsummarylabel = wx.StaticText( self, -1, self.GetLabel("staffsummarylabel") + ":") summarysizer.Add(staffsummarylabel, 0, wx.ALIGN_LEFT) staffsummarylistbox = customwidgets.StaffSummaryListbox( self, self.localsettings) staffsummarylistbox.Bind(wx.EVT_LISTBOX, self.SlotSelected) summarysizer.Add(staffsummarylistbox, 1, wx.EXPAND) summarybuttonssizer = wx.BoxSizer(wx.HORIZONTAL) editbitmap = wx.Bitmap("icons/edit.png") editbutton = wx.BitmapButton(self, -1, editbitmap) editbutton.Bind(wx.EVT_BUTTON, self.Edit) summarybuttonssizer.Add(editbutton, 0, wx.ALIGN_LEFT) deletebitmap = wx.Bitmap("icons/delete.png") deletebutton = wx.BitmapButton(self, -1, deletebitmap) deletebutton.Bind(wx.EVT_BUTTON, self.Delete) summarybuttonssizer.Add(deletebutton, 0, wx.ALIGN_LEFT) summarysizer.Add(summarybuttonssizer, 0, wx.ALIGN_LEFT) listssizer.Add(summarysizer, 2, wx.EXPAND) spacer3 = wx.StaticText(self, -1, "", size=(20, -1)) listssizer.Add(spacer3, 0, wx.EXPAND) dayplansizer = wx.BoxSizer(wx.VERTICAL) dayplanlabel = wx.StaticText(self, -1, self.GetLabel("dayplanlabel") + ":") dayplansizer.Add(dayplanlabel, 0, wx.ALIGN_LEFT) dayplan = wx.html.HtmlWindow(self) dayplansizer.Add(dayplan, 1, wx.EXPAND) listssizer.Add(dayplansizer, 3, wx.EXPAND) topsizer.Add(listssizer, 1, wx.EXPAND) self.SetSizer(topsizer) self.vetentry = vetentry self.timeonentry = timeonentry self.timeoffentry = timeoffentry self.staffsummarylistbox = staffsummarylistbox self.dayplan = dayplan self.operatingcheckbox = operatingcheckbox self.staffsummarylistbox.RefreshList() self.GenerateDayPlan()