def config_dialog(self, event_list=[], date=None): self.label.set( _("Events exist on %s. Please select the event you want or create a new one" ) % date) if self.event_frame is not None: self.event_frame.destroy() self.event_frame = Frame(self.interior) self.event_frame.pack() row_counter = 0 for event in event_list: description = AlexLabel(self.event_frame, wraplength=500, justify=LEFT, text=event.description) description.grid(row=row_counter, column=0, sticky=W) def closure(event): return lambda: self._set_return_value(event) button = AlexButton(self.event_frame, text=_("Goto event"), command=closure(event)) button.grid(row=row_counter, column=1) row_counter += 1
def set_default_buttons(self): ''' This method may be used in child classes to set the default buttons OK and Cancel ''' self.add_button(_('OK'), self.presenter.ok_action) self.add_button(_('Cancel'), self.presenter.cancel_action)
def create_dialog(self): super().create_dialog() self.earliest_date_entry = AlexDateEntry(self.interior, label=_("Earliest Date")) self.earliest_date_entry.grid(row=3, column=0, sticky=W, pady=5, columnspan=2) self.latest_date_entry = AlexDateEntry(self.interior, label=_("Latest Date")) self.latest_date_entry.grid(row=4, column=0, sticky=W, pady=5, columnspan=2) AlexLabel(self.interior, text=_("Only local events")).grid(row=5, column=0, sticky=W, pady=5) self.local_only_checkbox = AlexCheckBox(self.interior) self.local_only_checkbox.grid(row=5, column=1, sticky=W, pady=5) AlexLabel(self.interior, text=_("Only unverified events")).grid(row=6, column=0, sticky=W, pady=5) self.unverified_only_checkbox = AlexCheckBox(self.interior) self.unverified_only_checkbox.grid(row=6, column=1, sticky=W, pady=5)
def __init__(self, window_manager: guiinjectorkeys.WINDOW_MANAGER_KEY): self.factor = 0.0 self.photo_image = None self.window = window_manager.create_new_window() self.window.protocol("WM_DELETE_WINDOW", self.window.withdraw) self.display_frame = Frame(self.window) self.display_frame.pack(anchor=NE, side=LEFT, fill=BOTH, expand=YES) self.button_frame = Frame(self.window) self.button_frame.pack(anchor=NW, side=LEFT) AlexButton(self.button_frame, text=_('Zoom 15%'), command=lambda f=self.Zoom, p=15: f(p)).pack(fill=X, expand=YES) AlexButton(self.button_frame, text=_('Zoom -15%'), command=lambda f=self.Zoom, p=-15: f(p)).pack(fill=X, expand=YES) AlexButton(self.button_frame, text=_('Zoom 50%'), command=lambda f=self.Zoom, p=50: f(p)).pack(fill=X, expand=YES) AlexButton(self.button_frame, text=_('Zoom -50%'), command=lambda f=self.Zoom, p=-50: f(p)).pack(fill=X, expand=YES) AlexButton(self.button_frame, text=_('Quit'), command=self.window.withdraw).pack(fill=X, expand=YES) self.canvas_frame = None self.window.withdraw()
def add_buttons(self): ''' Method for configuring the buttons of the references view ''' self.add_button(Action(_("Goto"), self.presenter.change_document)) self.add_button(Action(_("New"), self._get_new_document_id)) self.add_button(Action(_("Delete"), self._remove_document_reference))
def _populate_entity_frame(self): # pylint: disable=no-member self._document_label = AlexLabel(self.entity_frame, text=_("No document available")) self._document_label.pack(padx=7, pady=7) self.notebook = Notebook(self.entity_frame, width=600) self.notebook.pack(fill=X) description = Frame(self.notebook) self.notebook.add(description, text=_('Description')) self._description_widget = AlexText(description, font="Helvetica 12 bold", wrap=WORD, height=6) self._description_widget.pack(fill=X) condition = Frame(self.notebook) self.notebook.add(condition, text=_('Condition')) self._condition_widget = AlexText(condition, font="Helvetica 12 bold", wrap=WORD, height=6) self._condition_widget.pack(fill=X) keywords = Frame(self.notebook) self.notebook.add(keywords, text=_('Keywords')) self._keywords_widget = AlexText(keywords, font="Helvetica 12 bold", wrap=WORD, height=6) self._keywords_widget.pack(fill=X)
def showFile(self, file, file_info=None): if os.access(self.external_programm, os.X_OK): os.spawnl(os.P_NOWAIT, self.external_programm, self.basename, file) else: text = _('The external viewer {} is not accessible.')\ .format(self.external_programm) showinfo(message=text, title=_("Not accessible"))
def create_dialog(self): super().create_dialog() self.add_button(_("Set filter"), self.presenter.ok_action) self.add_button(_("Clear form"), self._clear_filter_form) self.add_button(_("Cancel"), self.presenter.cancel_action) self.search_term_entries = [] for i in range(1, 4): AlexLabel(self.interior, text=_("%d. search expression:") % i).grid(row=i - 1, column=0, sticky=W) entry = AlexEntry(self.interior) entry.grid(row=i - 1, column=1, sticky=W, pady=5) self.search_term_entries.append(entry)
def create_signature_entry(self): AlexLabel(self.interior, text=_("Signature:")).grid(row=3, column=0, sticky=W) self.signature_widget = AlexEntry(self.interior) self.signature_widget.grid(row=3, column=1, sticky=W, pady=5)
def __init__(self, parent, presenter, event_selection_dialog, deletion_dialog): super().__init__(parent, presenter, _('Crossreferences')) self.event_selection_dialog = event_selection_dialog self.add_buttons() self.current_event = None self.new_cross_reference_event = None self.deletion_dialog = deletion_dialog
def __init__(self, parent, presenter, file_selection_dialog, deletion_dialog, viewers): super().__init__(parent, presenter, _('Document files')) self.current_document = None self.file_selection_dialog = file_selection_dialog self.deletion_dialog = deletion_dialog self.viewers = viewers self.add_buttons()
def _add_page1_content(self): event_selection_frame = Frame(self.page(1)) self.add_page_body(event_selection_frame) AlexLabel(event_selection_frame, text=_("Please select an event:")).pack(side=TOP) self.event_list_box = AlexListBox(event_selection_frame, width=50, height=5) # @UndefinedVariable self.event_list_box.pack(fill=BOTH)
def __init__(self, parent, presenter, event_selection_dialog, deletion_dialog): super().__init__(parent, presenter, _('Related events')) self.add_buttons() self.current_event = None self.current_document = None self.reference_event = None self.event_selection_dialog = event_selection_dialog self.deletion_dialog = deletion_dialog
def __init__(self, parent, presenter, event_type_selection_dialog, deletion_dialog): super().__init__(parent, presenter, _('Event types')) self.parent = parent self.add_buttons() self.current_event = None self.new_event_type = None self.event_type_selection_dialog = event_type_selection_dialog self.deletion_dialog = deletion_dialog
def __init__(self, parent, presenter, documentid_selection_dialog, deletion_dialog): super().__init__(parent, presenter, _('Related documents')) self.parent = parent self.add_buttons() self.current_event = None self.current_document = None self.new_document_id = None self.documentid_selection_dialog = documentid_selection_dialog self.deletion_dialog = deletion_dialog
def _add_date_entry_content(self): date_entry_frame = Frame(self.page(0)) self.add_page_body(date_entry_frame) self.date_entry = AlexDateEntry( parent=date_entry_frame, label=_("Please enter the event date:"), labelwidth=25) if self.default_date is not None: self.date_entry.set(self.default_date) self.date_entry.pack(side=TOP)
def create_dialog(self): super().create_dialog() self.add_button(_('Create new event'), self.presenter.cancel_action) self.label = AlexLabel(self.interior, wraplength=550, font=("Helvetica", 14, "bold")) self.label.pack() self.event_frame = None
def create_dialog(self): super().create_dialog() self.create_signature_entry() AlexLabel(self.interior, text=_("No event link:")).grid(row=4, column=0, sticky=W) self.missing_event_checkbox = AlexCheckBox(self.interior) self.missing_event_checkbox.grid(row=4, column=1, sticky=W, pady=5)
def __init__( self, window_manager: guiinjectorkeys.WINDOW_MANAGER_KEY, message_broker: guiinjectorkeys.MESSAGE_BROKER_KEY, presenter: guiinjectorkeys.EVENT_WINDOW_PRESENTER_KEY, dialogs: guiinjectorkeys.EVENT_WINDOW_DIALOGS_KEY, event_menu_additions: guiinjectorkeys.EVENT_MENU_ADDITIONS_KEY): super().__init__(window_manager, message_broker, presenter, dialogs, event_menu_additions) self.date_range_for_new_event = None self.window.title(_("Alexandria events"))
def create_dialog(self): super().create_dialog() label = AlexLabel(self.interior) label.set("%s:" % _('Please select year')) label.pack() self.year_combo_box = AlexComboBox(self.interior) self.year_combo_box.pack(padx=5, pady=5) self.set_default_buttons()
def __init__(self, window_manager: guiinjectorkeys.WINDOW_MANAGER_KEY, message_broker: guiinjectorkeys.MESSAGE_BROKER_KEY, presenter: guiinjectorkeys.DOCUMENT_WINDOW_PRESENTER_KEY, dialogs: guiinjectorkeys.DOCUMENT_WINDOW_DIALOGS_KEY, document_menu_additions: guiinjectorkeys. DOCUMENT_MENU_ADDITIONS_KEY): self.notebook = None self._description_widget = None self._condition_widget = None self._keywords_widget = None super().__init__(window_manager, message_broker, presenter, dialogs, document_menu_additions) self.window.title(_("Alexandria documents"))
def _entity_to_view(self, entity): if self._entity != entity: self._entity_has_changed = False if self._entity == None: self._enable_widgets() self._entity = entity if entity == None: self._clear_widgets() self._disable_widgets() return if self._entity.id == None: self._document_label.set(_("New document")) else: self._document_label.set( _("Document no.{0:d} ({1!s})").format( self._entity.id, self._entity.document_type.description)) self._description_widget.set(self._entity.description) self._condition_widget.set(self._entity.condition) self._keywords_widget.set(self._entity.keywords)
def _wizard_buttons(self): for index, frame in enumerate(self.pages): button_frame = Frame(frame, bd=1, bg='gray') button_frame.pack(side='bottom', fill='x') cancel_button = AlexButton(button_frame, text=_("Cancel"), width=10, command=self.presenter.cancel_action) cancel_button.pack(side='left', anchor='w', padx=5, pady=5) next_button = AlexButton(button_frame, text=_("Next >>"), width=10, command=self._next_page) next_button.pack(side='right', anchor='e', padx=5, pady=5) if index != 0: previous_button = AlexButton(button_frame, text=_("<< Prev"), width=10, command=self._prev_page) previous_button.pack(side='right', anchor='e', padx=5, pady=5) if index == len(self.pages) - 1: next_button.set(_("Finish")) next_button.configure(command=self.presenter.ok_action)
def create_dialog(self): self.window = self.window_manager.create_new_window() self.window.withdraw() super().__init__(self.window) self.pack() label = AlexLabel(self) label.set(_("Please select user:")) label.pack(padx=5, pady=5) self.combobox = AlexComboBox(self) self.combobox.pack(padx=5, pady=5) buttonframe = Frame(self) buttonframe.pack(padx=5, pady=5) AlexButton(buttonframe, text=_('OK'), command=self.presenter.ok_action).pack(side=LEFT) AlexButton(buttonframe, text=_('Cancel'), command=self.presenter.cancel_action).pack(side=LEFT)
def __init__(self, parent, label=_('Date'), labelwidth=15): Frame.__init__(self, parent) self._label = AlexLabel(self, text=label, width=labelwidth) self._label.pack(side=LEFT) self.day_entry = AlexEntry(self, width=2) self.day_entry.pack(side=LEFT) Label(self, text='.').pack(side=LEFT) self.month_entry = AlexEntry(self, width=2) self.month_entry.pack(side=LEFT) Label(self, text='.').pack(side=LEFT) self.year_entry = AlexEntry(self, width=4) self.year_entry.pack(side=LEFT)
def create_dialog(self): super().create_dialog() self.label = AlexLabel(self.interior) self.label.pack(side=TOP, padx=5, pady=5) filter_frame = Frame(self.interior) AlexLabel(filter_frame, text=_('Search tree:')).pack(side=LEFT, pady=5) self.filter_entry = AlexEntry(filter_frame) self.filter_entry.bind("<KeyRelease>", lambda event: self._apply_filter(event)) self.filter_entry.pack(side=LEFT, fill=X, expand=YES) filter_frame.pack(side=TOP, expand=YES, fill=X) self.set_default_buttons()
def _add_location_chooser(self, helper_frame): location_texts = [ _('not registered'), _('local'), _('countrywide'), _('national'), _('international') ] self._location_widget = AlexRadioGroup(helper_frame, choices=location_texts, title=_('Location')) self._location_widget.pack(side=LEFT, anchor=NW, padx=5, pady=5)
def _add_status_chooser(self, helper_frame): status_texts = [_('unconfirmed'), _('probable'), _('confirmed')] self._status_widget = AlexRadioGroup(helper_frame, choices=status_texts, title=_('State')) self._status_widget.pack(side=LEFT, anchor=NW, padx=5, pady=5)
def _clear_widgets(self): self._daterange_widget.set(_("No event to display!")) self._description_widget.set('') self._location_widget.set(False) self._status_widget.set(False)
def _clear_widgets(self): self._document_label.set(_("No document available")) self._description_widget.set('') self._condition_widget.set('') self._keywords_widget.set('')