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)
Beispiel #4
0
    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)
Beispiel #7
0
 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)
Beispiel #25
0
    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('')