def __init__(self, parent = None): super(ReceptionPage, self).__init__(parent) self.notes_widget = NotesWidget(self) self.notes_widget.set_type(NotesWidget.RECEPTION) self.menu_bar = QtGui.QToolBar() self.menu_bar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) ## TODO placeholder icon icon = QtGui.QIcon.fromTheme("dialog-question") self.action_payment = QtGui.QAction(icon, "Take Payment", self) self.menu_bar.addAction(self.action_payment) right_widget = QtGui.QLabel("Placeholder", self) right_widget.setMinimumWidth(100) right_widget.setMaximumWidth(150) self.pt_diary_widget = PtDiaryWidget() layout = QtGui.QGridLayout(self) layout.setMargin(3) layout.setSpacing(3) layout.addWidget(self.notes_widget, 0, 0) layout.addWidget(right_widget, 0, 1) layout.addWidget(self.pt_diary_widget, 1, 0, 1, 2) layout.addWidget(self.menu_bar, 2, 0, 1, 2) self.connect_signals()
class ReceptionPage(QtGui.QWidget): def __init__(self, parent = None): super(ReceptionPage, self).__init__(parent) self.notes_widget = NotesWidget(self) self.notes_widget.set_type(NotesWidget.RECEPTION) self.menu_bar = QtGui.QToolBar() self.menu_bar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) ## TODO placeholder icon icon = QtGui.QIcon.fromTheme("dialog-question") self.action_payment = QtGui.QAction(icon, "Take Payment", self) self.menu_bar.addAction(self.action_payment) right_widget = QtGui.QLabel("Placeholder", self) right_widget.setMinimumWidth(100) right_widget.setMaximumWidth(150) self.pt_diary_widget = PtDiaryWidget() layout = QtGui.QGridLayout(self) layout.setMargin(3) layout.setSpacing(3) layout.addWidget(self.notes_widget, 0, 0) layout.addWidget(right_widget, 0, 1) layout.addWidget(self.pt_diary_widget, 1, 0, 1, 2) layout.addWidget(self.menu_bar, 2, 0, 1, 2) self.connect_signals() def Advise(self, *args): if __name__ == "__main__": print args self.emit(QtCore.SIGNAL("Advise"), *args) def connect_signals(self): self.action_payment.triggered.connect(self.payment_action) def clear(self): self.notes_widget.clear() self.pt_diary_widget.clear() def load_patient(self): patient = SETTINGS.current_patient self.notes_widget.load_patient() self.pt_diary_widget.load_patient() def payment_action(self): print "todo payment" self.Advise("take payment") def send_save_request(self): print "todo save clerical note" self.emit(QtCore.SIGNAL("Save Requested"))
def show_pt_diary(self): if self.pt is None: QtGui.QMessageBox.information(self, _("error"), _("No patient selected")) return def _find_appt(appt): dl.accept() self.find_appt.emit(appt) def _start_scheduling(): dl.accept() QtCore.QTimer.singleShot(100, self.start_scheduling.emit) pt_diary_widget = PtDiaryWidget() pt_diary_widget.find_appt.connect(_find_appt) pt_diary_widget.start_scheduling.connect(_start_scheduling) pt_diary_widget.appointment_selected.connect( self.appointment_model.set_current_appt) pt_diary_widget.set_patient(self.pt) pt_diary_widget.layout_ptDiary() dl = QtGui.QDialog(self) but_box = QtGui.QDialogButtonBox(dl) but = but_box.addButton(_("Close"), but_box.AcceptRole) but.clicked.connect(dl.accept) layout = QtGui.QVBoxLayout(dl) layout.addWidget(pt_diary_widget) layout.addStretch() layout.addWidget(but_box) dl.exec_() self.appointment_model.load_from_database(self.pt) self.enable_scheduling_buttons() #now force diary relayout self.appointment_selected.emit(self.appointment_model.currentAppt)