* src/DdTargets.py: add support for data items in sources
* src/EventEdit.py: use DisplayTabs * src/gramps.glade: New EventEditor with display tabs * src/DisplayTabs.py: specify data _DND_TYPE, don't enable d-n-d if _DND_TYPE not defined svn: r5868
This commit is contained in:
parent
f0b3fafd91
commit
c980bd42bd
@ -1,4 +1,9 @@
|
||||
2006-02-02 Don Allingham <don@gramps-project.org>
|
||||
* src/DdTargets.py: add support for data items in sources
|
||||
* src/EventEdit.py: use DisplayTabs
|
||||
* src/gramps.glade: New EventEditor with display tabs
|
||||
* src/DisplayTabs.py: specify data _DND_TYPE, don't enable d-n-d if
|
||||
_DND_TYPE not defined
|
||||
* src/DisplayState.py: add standard function for using WATCH cursor
|
||||
* src/PageView.py: enable watch cursor when it is necessary to
|
||||
rebuild a page.
|
||||
|
@ -105,6 +105,7 @@ class _DdTargets(object):
|
||||
self.SOURCEREF = _DdType(self,'srcref')
|
||||
self.NAME = _DdType(self,'name')
|
||||
self.MEDIAOBJ = _DdType(self,'mediaobj')
|
||||
self.DATA = _DdType(self,'data_tuple')
|
||||
|
||||
self.PERSON_LINK = _DdType(self,'person-link')
|
||||
self.PERSON_LINK_LIST = _DdType(self,'person-link-list')
|
||||
|
@ -284,7 +284,8 @@ class EmbeddedList(ButtonTab):
|
||||
self.columns = []
|
||||
self.build_columns()
|
||||
|
||||
self._set_dnd()
|
||||
if self._DND_TYPE:
|
||||
self._set_dnd()
|
||||
|
||||
# build the initial data
|
||||
self.rebuild()
|
||||
@ -668,6 +669,7 @@ class SourceBackRefList(EmbeddedList):
|
||||
#-------------------------------------------------------------------------
|
||||
class DataEmbedList(EmbeddedList):
|
||||
|
||||
_DND_TYPE = DdTargets.DATA
|
||||
_column_names = [
|
||||
(_('Key'),0,150),
|
||||
(_('Value'),1,250),
|
||||
|
@ -51,14 +51,13 @@ import AutoComp
|
||||
import RelLib
|
||||
import Date
|
||||
from DateHandler import parser as _dp, displayer as _dd
|
||||
import ImageSelect
|
||||
import DateEdit
|
||||
import Spell
|
||||
import GrampsDisplay
|
||||
import DisplayState
|
||||
|
||||
from QuestionDialog import WarningDialog, ErrorDialog
|
||||
from WindowUtils import GladeIf
|
||||
from DisplayTabs import *
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -117,12 +116,6 @@ class EventEditor(DisplayState.ManagedWindow):
|
||||
if self.already_exist:
|
||||
return
|
||||
|
||||
# build list for menu
|
||||
## values = sets.Set(elist)
|
||||
## values.union(self.get_event_names())
|
||||
## self.elist = list(values)
|
||||
##self.elist.sort()
|
||||
|
||||
for key in self.db.get_place_handles():
|
||||
title = self.db.get_place_from_handle(key).get_title()
|
||||
self.pmap[title] = key
|
||||
@ -148,27 +141,13 @@ class EventEditor(DisplayState.ManagedWindow):
|
||||
self.place_field.set_editable(not noedit)
|
||||
self.cause_field = self.top.get_widget("eventCause")
|
||||
self.cause_field.set_editable(not noedit)
|
||||
self.slist = self.top.get_widget("slist")
|
||||
self.wlist = self.top.get_widget("wlist")
|
||||
self.date_field = self.top.get_widget("eventDate")
|
||||
self.date_field.set_editable(not noedit)
|
||||
self.descr_field = self.top.get_widget("event_description")
|
||||
self.descr_field.set_editable(not noedit)
|
||||
self.note_field = self.top.get_widget("eventNote")
|
||||
self.note_field.set_editable(not noedit)
|
||||
self.spell = Spell.Spell(self.note_field)
|
||||
self.event_menu = self.top.get_widget("personal_events")
|
||||
self.priv = self.top.get_widget("priv")
|
||||
self.priv.set_sensitive(not noedit)
|
||||
self.sources_label = self.top.get_widget("sources_tab")
|
||||
self.notes_label = self.top.get_widget("note_tab")
|
||||
self.general_label = self.top.get_widget("general_tab")
|
||||
self.gallery_label = self.top.get_widget("gallery_tab")
|
||||
self.witnesses_label = self.top.get_widget("witness_tab")
|
||||
self.flowed = self.top.get_widget("eventflowed")
|
||||
self.flowed.set_sensitive(not noedit)
|
||||
self.preform = self.top.get_widget("eventpreform")
|
||||
self.preform.set_sensitive(not noedit)
|
||||
self.ok = self.top.get_widget('ok')
|
||||
|
||||
self.ok.set_sensitive(not noedit)
|
||||
@ -177,26 +156,6 @@ class EventEditor(DisplayState.ManagedWindow):
|
||||
self.event_menu.set_sensitive(False)
|
||||
self.date_field.grab_focus()
|
||||
|
||||
add_src = self.top.get_widget('add_src')
|
||||
add_src.set_sensitive(not noedit)
|
||||
del_src = self.top.get_widget('del_src')
|
||||
del_src.set_sensitive(not noedit)
|
||||
|
||||
self.sourcetab = Sources.SourceTab(self.dbstate, self.uistate, self.track,
|
||||
self.srcreflist, self, self.top, self.window, self.slist,
|
||||
add_src, self.top.get_widget('edit_src'), del_src,
|
||||
self.db.readonly)
|
||||
|
||||
add_witness = self.top.get_widget('add_witness')
|
||||
add_witness.set_sensitive(not noedit)
|
||||
edit_witness = self.top.get_widget('edit_witness')
|
||||
del_witness = self.top.get_widget('del_witness')
|
||||
del_witness.set_sensitive(not noedit)
|
||||
|
||||
# self.witnesstab = Witness.WitnessTab(
|
||||
# self.witnesslist, self, self.top, self.window, self.wlist,
|
||||
# add_witness, edit_witness, del_witness)
|
||||
|
||||
if event:
|
||||
defval = event.get_type()[0]
|
||||
else:
|
||||
@ -221,16 +180,6 @@ class EventEditor(DisplayState.ManagedWindow):
|
||||
self.descr_field.set_text(event.get_description())
|
||||
self.priv.set_active(event.get_privacy())
|
||||
|
||||
self.note_field.get_buffer().set_text(event.get_note())
|
||||
if event.get_note():
|
||||
self.note_field.get_buffer().set_text(event.get_note())
|
||||
Utils.bold_label(self.notes_label)
|
||||
if event.get_note_format() == 1:
|
||||
self.preform.set_active(1)
|
||||
else:
|
||||
self.flowed.set_active(1)
|
||||
if event.get_media_list():
|
||||
Utils.bold_label(self.gallery_label)
|
||||
else:
|
||||
event = RelLib.Event()
|
||||
date_stat = self.top.get_widget("date_stat")
|
||||
@ -240,29 +189,41 @@ class EventEditor(DisplayState.ManagedWindow):
|
||||
date_stat,
|
||||
self.window)
|
||||
|
||||
# self.icon_list = self.top.get_widget("iconlist")
|
||||
# self.gallery = ImageSelect.Gallery(event, self.db.commit_event,
|
||||
# self.path, self.icon_list,
|
||||
# self.db,self,self.window)
|
||||
|
||||
self.gladeif.connect('event_edit','delete_event',self.on_delete_event)
|
||||
self.gladeif.connect('button111','clicked',self.close)
|
||||
self.gladeif.connect('ok','clicked',self.on_event_edit_ok_clicked)
|
||||
self.gladeif.connect('button126','clicked',self.on_help_clicked)
|
||||
self.gladeif.connect('notebook','switch_page',self.on_switch_page)
|
||||
# self.gladeif.connect('add_obj','clicked',self.gallery.on_add_media_clicked)
|
||||
# self.gladeif.connect('sel_obj','clicked',self.gallery.on_select_media_clicked)
|
||||
# self.gladeif.connect('button172','clicked',self.gallery.on_edit_media_clicked)
|
||||
# self.gladeif.connect('del_obj','clicked',self.gallery.on_delete_media_clicked)
|
||||
|
||||
self.top.get_widget('del_obj').set_sensitive(not noedit)
|
||||
self.top.get_widget('sel_obj').set_sensitive(not noedit)
|
||||
self.top.get_widget('add_obj').set_sensitive(not noedit)
|
||||
|
||||
Utils.bold_label(self.general_label)
|
||||
self._create_tabbed_pages()
|
||||
|
||||
self.show()
|
||||
|
||||
def _add_page(self,page):
|
||||
self.notebook.insert_page(page)
|
||||
self.notebook.set_tab_label(page,page.get_tab_widget())
|
||||
return page
|
||||
|
||||
def _create_tabbed_pages(self):
|
||||
"""
|
||||
Creates the notebook tabs and inserts them into the main
|
||||
window.
|
||||
|
||||
"""
|
||||
vbox = self.top.get_widget('vbox')
|
||||
self.notebook = gtk.Notebook()
|
||||
|
||||
self.srcref_list = self._add_page(SourceEmbedList(
|
||||
self.dbstate,self.uistate, self.track,
|
||||
self.event.source_list))
|
||||
self.note_tab = self._add_page(NoteTab(
|
||||
self.dbstate, self.uistate, self.track,
|
||||
self.event.get_note_object()))
|
||||
self.gallery_tab = self._add_page(GalleryTab(
|
||||
self.dbstate, self.uistate, self.track,
|
||||
self.event.get_media_list()))
|
||||
|
||||
self.notebook.show_all()
|
||||
vbox.pack_start(self.notebook,True)
|
||||
|
||||
def build_menu_names(self,event):
|
||||
if event:
|
||||
if event.get_type()[0] == RelLib.Event.CUSTOM:
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user