示例#1
0
    def __populate_gui(self, event):
        """
        Populate the GUI for a given form event.
        """
        # Set source
        handle = self.citation.get_reference_handle()
        source = self.db.get_source_from_handle(handle)
        source_text = self.widgets['source_text']
        source_text.set_text(source.get_title())
        form_id = get_form_id(source)

        # Set event type
        event_type = EventType()
        event_type.set_from_xml_str(get_form_type(form_id))
        self.event.set_type(event_type)

        # Set date
        form_date = get_form_date(form_id)
        date_text = self.widgets['date_text']
        date_button = self.widgets['date_button']
        if form_date is not None:
            date_text.set_text(displayer.display(form_date))
            self.event.set_date_object(form_date)
            self.citation.set_date_object(form_date)
            date_text.set_editable(False)
            date_button.set_sensitive(False)
        else:
            date_text.set_text(get_date(event))
            date_text.set_editable(True)
            date_button.set_sensitive(True)

        # Create tabs
        self.details = DetailsTab(self.dbstate,
                             self.uistate,
                             self.track,
                             self.event,
                             self.citation,
                             form_id)

        self.headings = HeadingsTab(self.dbstate,
                                       self.uistate,
                                       self.track,
                                       self.event,
                                       self.citation,
                                       form_id)

        self.gallery_list = GalleryTab(self.dbstate,
                                       self.uistate,
                                       self.track,
                                       self.citation.get_media_list())

        self._add_tab(self.notebook, self.details)
        self._add_tab(self.notebook, self.headings)
        self._add_tab(self.notebook, self.gallery_list)

        self.notebook.show_all()
        self.notebook.set_current_page(0)
示例#2
0
def find_form_event(db, citation):
    """
    Given a citation for a form source, find the corresponding event.
    """
    handle = citation.get_reference_handle()
    source = db.get_source_from_handle(handle)
    form_type = get_form_type(get_form_id(source))

    for item in db.find_backlink_handles(citation.handle, ['Event']):
        event = db.get_event_from_handle(item[1])
        if event.get_type().xml_str() == form_type:
            return event

    return Event()
示例#3
0
def find_form_event(db, citation):
    """
    Given a citation for a form source, find the corresponding event.
    """
    handle = citation.get_reference_handle()
    source = db.get_source_from_handle(handle)
    form_type = get_form_type(get_form_id(source))

    for item in db.find_backlink_handles(citation.handle, ['Event']):
        event = db.get_event_from_handle(item[1])
        if event.get_type().xml_str() == form_type:
            return event

    return Event()
示例#4
0
    def __populate_gui(self, event):
        """
        Populate the GUI for a given form event.
        """
        # Set source
        handle = self.citation.get_reference_handle()
        source = self.db.get_source_from_handle(handle)
        source_text = self.widgets['source_text']
        source_text.set_text(source.get_title())
        form_id = get_form_id(source)

        # Set event type
        event_type = EventType()
        event_type.set_from_xml_str(get_form_type(form_id))
        self.event.set_type(event_type)

        # Set date
        form_date = get_form_date(form_id)
        date_text = self.widgets['date_text']
        date_button = self.widgets['date_button']
        if form_date is not None:
            date_text.set_text(displayer.display(form_date))
            self.event.set_date_object(form_date)
            self.citation.set_date_object(form_date)
            date_text.set_editable(False)
            date_button.set_sensitive(False)
        else:
            date_text.set_text(get_date(event))
            date_text.set_editable(True)
            date_button.set_sensitive(True)

        # Create tabs
        self.details = DetailsTab(self.dbstate, self.uistate, self.track,
                                  self.event, self.citation, form_id)

        self.headings = HeadingsTab(self.dbstate, self.uistate, self.track,
                                    self.event, self.citation, form_id)

        self.gallery_list = GalleryTab(self.dbstate, self.uistate, self.track,
                                       self.citation.get_media_list())

        self._add_tab(self.notebook, self.details)
        self._add_tab(self.notebook, self.headings)
        self._add_tab(self.notebook, self.gallery_list)

        self.notebook.show_all()
        self.notebook.set_current_page(0)
示例#5
0
 def _populate_model(self):
     """
     Populate the model.
     """
     self.model.clear()
     form_types = {}
     for handle in self.dbstate.db.get_source_handles():
         source = self.dbstate.db.get_source_from_handle(handle)
         form_id = get_form_id(source)
         if form_id in get_form_ids():
             form_type = get_form_type(form_id)
             if _(form_type) in form_types:
                 parent = form_types[_(form_type)]
             else:
                 parent = self.model.append(None, (None, _(form_type)))
                 form_types[_(form_type)] = parent
             self.model.append(parent, (source.handle, source.title))
     self.model.set_sort_column_id(1, Gtk.SortType.ASCENDING)
     self.tree.expand_all()
示例#6
0
 def _populate_model(self):
     """
     Populate the model.
     """
     self.model.clear()
     form_types = {}
     for handle in self.dbstate.db.get_source_handles():
         source = self.dbstate.db.get_source_from_handle(handle)
         form_id = get_form_id(source)
         if form_id in get_form_ids():
             form_type = get_form_type(form_id)
             if _(form_type) in form_types:
                 parent = form_types[_(form_type)]
             else:
                 parent = self.model.append(None, (None, _(form_type)))
                 form_types[_(form_type)] = parent
             self.model.append(parent, (source.handle, source.title))
     self.model.set_sort_column_id(1, Gtk.SortType.ASCENDING)
     self.tree.expand_all()