def setup_ui(self): """create UI widgets """ self.resize(447, 546) self.setWindowTitle("TimeLog Dialog") # ----------------------------- # Setup Main Layout self.main_layout = QtWidgets.QHBoxLayout(self) # create the left column self.left_layout = QtWidgets.QVBoxLayout() self.main_layout.addLayout(self.left_layout) # create the right column # this will list the previously entered time logs self.right_layout = QtWidgets.QVBoxLayout() self.main_layout.addLayout(self.right_layout) # ----------------------------- # Setup Form Layout self.form_layout = QtWidgets.QFormLayout() self.form_layout.setFieldGrowthPolicy( QtWidgets.QFormLayout.AllNonFixedFieldsGrow ) self.left_layout.addLayout(self.form_layout) # ----------------------------- # Tasks self.tasks_label = QtWidgets.QLabel(self) self.tasks_label.setText("Task") self.form_layout.setWidget( 0, QtWidgets.QFormLayout.LabelRole, self.tasks_label ) from anima.ui.widgets import TaskComboBox self.tasks_combo_box = TaskComboBox(self) self.tasks_combo_box.setObjectName("tasks_combo_box") self.form_layout.setWidget( 0, QtWidgets.QFormLayout.FieldRole, self.tasks_combo_box ) # ----------------------------- # Tasks Progress Bar self.task_progress_bar = QtWidgets.QProgressBar(self) self.task_progress_bar.setProperty("value", 24) self.form_layout.setWidget( 1, QtWidgets.QFormLayout.FieldRole, self.task_progress_bar ) # ----------------------------- # Resources self.resources_label = QtWidgets.QLabel(self) self.resources_label.setText("Resource") self.form_layout.setWidget( 2, QtWidgets.QFormLayout.LabelRole, self.resources_label ) self.resource_combo_box = QtWidgets.QComboBox(self) self.form_layout.setWidget( 2, QtWidgets.QFormLayout.FieldRole, self.resource_combo_box ) # ----------------------------- # Calendar, Start & End Time # Label self.date_label = QtWidgets.QLabel(self) self.date_label.setText("Date") self.form_layout.setWidget( 3, QtWidgets.QFormLayout.LabelRole, self.date_label ) # Calendar Widget self.calendar_widget = QtWidgets.QCalendarWidget(self) self.calendar_widget.setFirstDayOfWeek(QtCore.Qt.Monday) self.form_layout.setWidget( 3, QtWidgets.QFormLayout.FieldRole, self.calendar_widget ) # Start Time self.start_time_label = QtWidgets.QLabel(self) self.start_time_label.setText("Start") self.form_layout.setWidget( 4, QtWidgets.QFormLayout.LabelRole, self.start_time_label ) from anima.ui.widgets import TimeEdit self.start_time_edit = TimeEdit(self, resolution=timing_resolution) self.start_time_edit.setCurrentSection( QtWidgets.QDateTimeEdit.MinuteSection ) self.start_time_edit.setCalendarPopup(True) self.start_time_edit.setObjectName("start_time_edit") self.start_time_edit.setWrapping(True) self.form_layout.setWidget( 4, QtWidgets.QFormLayout.FieldRole, self.start_time_edit ) self.start_time_edit.setDisplayFormat("HH:mm") # End Time self.end_time_label = QtWidgets.QLabel(self) self.end_time_label.setText("End") self.form_layout.setWidget( 5, QtWidgets.QFormLayout.LabelRole, self.end_time_label ) self.end_time_edit = TimeEdit(self, resolution=timing_resolution) self.end_time_edit.setCurrentSection( QtWidgets.QDateTimeEdit.MinuteSection ) self.end_time_edit.setCalendarPopup(True) self.end_time_edit.setObjectName("end_time_edit") self.end_time_edit.setWrapping(True) self.form_layout.setWidget( 5, QtWidgets.QFormLayout.FieldRole, self.end_time_edit ) self.end_time_edit.setDisplayFormat("HH:mm") # ----------------------------- # Time Left Info self.info_area_label = QtWidgets.QLabel(self) self.info_area_label.setText("INFO") self.form_layout.setWidget( 6, QtWidgets.QFormLayout.FieldRole, self.info_area_label ) # ----------------------------- # Revision self.revision_label = QtWidgets.QLabel(self) self.revision_label.setText( """<html> <head/> <body> <p align=\"right\"> Revision <br/> Type </p> </body> </html> """ ) self.form_layout.setWidget( 7, QtWidgets.QFormLayout.LabelRole, self.revision_label ) self.revision_type_combo_box = QtWidgets.QComboBox(self) self.form_layout.setWidget( 7, QtWidgets.QFormLayout.FieldRole, self.revision_type_combo_box ) # ----------------------------- # Description self.description_label = QtWidgets.QLabel(self) self.description_label.setText("Description") self.form_layout.setWidget( 8, QtWidgets.QFormLayout.LabelRole, self.description_label ) self.description_plain_text_edit = QtWidgets.QPlainTextEdit(self) self.form_layout.setWidget( 8, QtWidgets.QFormLayout.FieldRole, self.description_plain_text_edit ) # ----------------------------- # Status self.status_label = QtWidgets.QLabel(self) self.status_label.setText("Status") self.form_layout.setWidget( 9, QtWidgets.QFormLayout.LabelRole, self.status_label ) self.not_finished_yet_radio_button = QtWidgets.QRadioButton(self) self.not_finished_yet_radio_button.setText("Not Finished Yet") self.not_finished_yet_radio_button.setChecked(True) self.form_layout.setWidget( 9, QtWidgets.QFormLayout.FieldRole, self.not_finished_yet_radio_button ) self.set_as_complete_radio_button = QtWidgets.QRadioButton(self) self.set_as_complete_radio_button.setText("Set As Complete") self.form_layout.setWidget( 10, QtWidgets.QFormLayout.FieldRole, self.set_as_complete_radio_button ) self.submit_for_final_review_radio_button = \ QtWidgets.QRadioButton(self) self.submit_for_final_review_radio_button.setText( "Submit For Final Review" ) self.form_layout.setWidget( 11, QtWidgets.QFormLayout.FieldRole, self.submit_for_final_review_radio_button ) # ----------------------------- # Dialog Button Box self.dialog_button_box = QtWidgets.QDialogButtonBox(self) self.dialog_button_box.setOrientation(QtCore.Qt.Horizontal) self.dialog_button_box.setStandardButtons( QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok ) self.left_layout.addWidget(self.dialog_button_box) # create the right column which is the current date details self.formatted_date_label = QtWidgets.QLabel(self) self.formatted_date_label.setText("") self.right_layout.addWidget(self.formatted_date_label) # create the right column which is the current date details self.time_log_info_label = QtWidgets.QLabel(self) self.time_log_info_label.setText("") self.right_layout.addWidget(self.time_log_info_label) # set stretch self.main_layout.setStretchFactor(self.left_layout, 0) self.main_layout.setStretchFactor(self.right_layout, 1) # setup signals self._setup_signals() # setup defaults self._set_defaults() # center window self.center_window()
def setup_ui(self): """create UI widgets """ self.resize(447, 546) self.setWindowTitle("TimeLog Dialog") # ----------------------------- # Setup Main Layout self.main_layout = QtWidgets.QHBoxLayout(self) # create the left column self.left_layout = QtWidgets.QVBoxLayout() self.main_layout.addLayout(self.left_layout) # create the right column # this will list the previously entered time logs self.right_layout = QtWidgets.QVBoxLayout() self.main_layout.addLayout(self.right_layout) # ----------------------------- # Setup Form Layout self.form_layout = QtWidgets.QFormLayout() self.form_layout.setFieldGrowthPolicy( QtWidgets.QFormLayout.AllNonFixedFieldsGrow ) self.left_layout.addLayout(self.form_layout) i = 0 # ----------------------------- # Tasks self.tasks_label = QtWidgets.QLabel(self) self.tasks_label.setText("Task") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.tasks_label ) from anima.ui.widgets import TaskComboBox self.tasks_combo_box = TaskComboBox(self) self.tasks_combo_box.setObjectName("tasks_combo_box") self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.tasks_combo_box ) # ----------------------------- # Tasks Progress Bar i += 1 self.task_progress_bar = QtWidgets.QProgressBar(self) self.task_progress_bar.setProperty("value", 24) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.task_progress_bar ) # ----------------------------- # Resources i += 1 self.resources_label = QtWidgets.QLabel(self) self.resources_label.setText("Resource") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.resources_label ) self.resource_combo_box = QtWidgets.QComboBox(self) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.resource_combo_box ) # ----------------------------- # Calendar, Start & End Time i += 1 # Label self.date_label = QtWidgets.QLabel(self) self.date_label.setText("Date") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.date_label ) # Calendar Widget self.calendar_widget = QtWidgets.QCalendarWidget(self) self.calendar_widget.setFirstDayOfWeek(QtCore.Qt.Monday) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.calendar_widget ) # ----------------------------- # Start Time from anima.ui.widgets import TimeEdit i += 1 self.start_time_label = QtWidgets.QLabel(self) self.start_time_label.setText("Start") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.start_time_label ) from anima import TIMING_RESOLUTION self.start_time_edit = TimeEdit(self, resolution=TIMING_RESOLUTION) self.start_time_edit.setCurrentSection(QtWidgets.QDateTimeEdit.MinuteSection) self.start_time_edit.setCalendarPopup(True) self.start_time_edit.setObjectName("start_time_edit") self.start_time_edit.setWrapping(True) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.start_time_edit ) self.start_time_edit.setDisplayFormat("HH:mm") # ----------------------------- # End Time i += 1 self.end_time_label = QtWidgets.QLabel(self) self.end_time_label.setText("End") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.end_time_label ) self.end_time_edit = TimeEdit(self, resolution=TIMING_RESOLUTION) self.end_time_edit.setCurrentSection( QtWidgets.QDateTimeEdit.MinuteSection ) self.end_time_edit.setCalendarPopup(True) self.end_time_edit.setObjectName("end_time_edit") self.end_time_edit.setWrapping(True) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.end_time_edit ) self.end_time_edit.setDisplayFormat("HH:mm") # ----------------------------- # Effort i += 1 # Label self.effort_label = QtWidgets.QLabel(self) self.effort_label.setText("Effort") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.effort_label ) effort_layout = QtWidgets.QHBoxLayout(self) self.form_layout.setLayout( i, QtWidgets.QFormLayout.FieldRole, effort_layout ) self.effort_time_edit = TimeEdit(self, resolution=TIMING_RESOLUTION) self.effort_time_edit.setCurrentSection(QtWidgets.QDateTimeEdit.MinuteSection) self.effort_time_edit.setCalendarPopup(True) self.effort_time_edit.setObjectName("effort_time_edit") self.effort_time_edit.setWrapping(True) # self.form_layout.setWidget( # i, # QtWidgets.QFormLayout.FieldRole, # self.effort_time_edit # ) effort_layout.addWidget(self.effort_time_edit) self.effort_time_edit.setDisplayFormat("HH:mm") # ----------------------------- # Advanced Time Controls self.show_advanced_time_controls_check_box = QtWidgets.QCheckBox(self) self.show_advanced_time_controls_check_box.setText('Advanced Controls') effort_layout.addWidget(self.show_advanced_time_controls_check_box) # ----------------------------- # Time Left Info i += 1 self.info_area_label = QtWidgets.QLabel(self) self.info_area_label.setText("INFO") self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.info_area_label ) # ----------------------------- # Status i += 1 self.status_label = QtWidgets.QLabel(self) self.status_label.setText("Status") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, self.status_label ) self.not_finished_yet_radio_button = QtWidgets.QRadioButton(self) self.not_finished_yet_radio_button.setText("Not Finished Yet") self.not_finished_yet_radio_button.setChecked(True) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.not_finished_yet_radio_button ) i += 1 self.set_as_complete_radio_button = QtWidgets.QRadioButton(self) self.set_as_complete_radio_button.setText("Set As Completed") self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.set_as_complete_radio_button ) i += 1 self.submit_for_final_review_radio_button = \ QtWidgets.QRadioButton(self) self.submit_for_final_review_radio_button.setText( "Submit For Final Review" ) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.submit_for_final_review_radio_button ) # ----------------------------- # Dialog Button Box self.dialog_button_box = QtWidgets.QDialogButtonBox(self) self.dialog_button_box.setOrientation(QtCore.Qt.Horizontal) self.dialog_button_box.setStandardButtons( QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok ) self.left_layout.addWidget(self.dialog_button_box) # create the right column which is the current date details self.formatted_date_label = QtWidgets.QLabel(self) self.formatted_date_label.setText("") self.right_layout.addWidget(self.formatted_date_label) # create the right column which is the current date details self.time_log_info_label = QtWidgets.QLabel(self) self.time_log_info_label.setText("") self.right_layout.addWidget(self.time_log_info_label) # set stretch self.main_layout.setStretchFactor(self.left_layout, 0) self.main_layout.setStretchFactor(self.right_layout, 1) # setup signals self._setup_signals() # setup defaults self._set_defaults() # center window self.center_window()