* 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>
|
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/DisplayState.py: add standard function for using WATCH cursor
|
||||||
* src/PageView.py: enable watch cursor when it is necessary to
|
* src/PageView.py: enable watch cursor when it is necessary to
|
||||||
rebuild a page.
|
rebuild a page.
|
||||||
|
@ -105,6 +105,7 @@ class _DdTargets(object):
|
|||||||
self.SOURCEREF = _DdType(self,'srcref')
|
self.SOURCEREF = _DdType(self,'srcref')
|
||||||
self.NAME = _DdType(self,'name')
|
self.NAME = _DdType(self,'name')
|
||||||
self.MEDIAOBJ = _DdType(self,'mediaobj')
|
self.MEDIAOBJ = _DdType(self,'mediaobj')
|
||||||
|
self.DATA = _DdType(self,'data_tuple')
|
||||||
|
|
||||||
self.PERSON_LINK = _DdType(self,'person-link')
|
self.PERSON_LINK = _DdType(self,'person-link')
|
||||||
self.PERSON_LINK_LIST = _DdType(self,'person-link-list')
|
self.PERSON_LINK_LIST = _DdType(self,'person-link-list')
|
||||||
|
@ -284,7 +284,8 @@ class EmbeddedList(ButtonTab):
|
|||||||
self.columns = []
|
self.columns = []
|
||||||
self.build_columns()
|
self.build_columns()
|
||||||
|
|
||||||
self._set_dnd()
|
if self._DND_TYPE:
|
||||||
|
self._set_dnd()
|
||||||
|
|
||||||
# build the initial data
|
# build the initial data
|
||||||
self.rebuild()
|
self.rebuild()
|
||||||
@ -668,6 +669,7 @@ class SourceBackRefList(EmbeddedList):
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
class DataEmbedList(EmbeddedList):
|
class DataEmbedList(EmbeddedList):
|
||||||
|
|
||||||
|
_DND_TYPE = DdTargets.DATA
|
||||||
_column_names = [
|
_column_names = [
|
||||||
(_('Key'),0,150),
|
(_('Key'),0,150),
|
||||||
(_('Value'),1,250),
|
(_('Value'),1,250),
|
||||||
|
@ -51,14 +51,13 @@ import AutoComp
|
|||||||
import RelLib
|
import RelLib
|
||||||
import Date
|
import Date
|
||||||
from DateHandler import parser as _dp, displayer as _dd
|
from DateHandler import parser as _dp, displayer as _dd
|
||||||
import ImageSelect
|
|
||||||
import DateEdit
|
import DateEdit
|
||||||
import Spell
|
|
||||||
import GrampsDisplay
|
import GrampsDisplay
|
||||||
import DisplayState
|
import DisplayState
|
||||||
|
|
||||||
from QuestionDialog import WarningDialog, ErrorDialog
|
from QuestionDialog import WarningDialog, ErrorDialog
|
||||||
from WindowUtils import GladeIf
|
from WindowUtils import GladeIf
|
||||||
|
from DisplayTabs import *
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -117,12 +116,6 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
if self.already_exist:
|
if self.already_exist:
|
||||||
return
|
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():
|
for key in self.db.get_place_handles():
|
||||||
title = self.db.get_place_from_handle(key).get_title()
|
title = self.db.get_place_from_handle(key).get_title()
|
||||||
self.pmap[title] = key
|
self.pmap[title] = key
|
||||||
@ -148,27 +141,13 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
self.place_field.set_editable(not noedit)
|
self.place_field.set_editable(not noedit)
|
||||||
self.cause_field = self.top.get_widget("eventCause")
|
self.cause_field = self.top.get_widget("eventCause")
|
||||||
self.cause_field.set_editable(not noedit)
|
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 = self.top.get_widget("eventDate")
|
||||||
self.date_field.set_editable(not noedit)
|
self.date_field.set_editable(not noedit)
|
||||||
self.descr_field = self.top.get_widget("event_description")
|
self.descr_field = self.top.get_widget("event_description")
|
||||||
self.descr_field.set_editable(not noedit)
|
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.event_menu = self.top.get_widget("personal_events")
|
||||||
self.priv = self.top.get_widget("priv")
|
self.priv = self.top.get_widget("priv")
|
||||||
self.priv.set_sensitive(not noedit)
|
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 = self.top.get_widget('ok')
|
||||||
|
|
||||||
self.ok.set_sensitive(not noedit)
|
self.ok.set_sensitive(not noedit)
|
||||||
@ -177,26 +156,6 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
self.event_menu.set_sensitive(False)
|
self.event_menu.set_sensitive(False)
|
||||||
self.date_field.grab_focus()
|
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:
|
if event:
|
||||||
defval = event.get_type()[0]
|
defval = event.get_type()[0]
|
||||||
else:
|
else:
|
||||||
@ -221,16 +180,6 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
self.descr_field.set_text(event.get_description())
|
self.descr_field.set_text(event.get_description())
|
||||||
self.priv.set_active(event.get_privacy())
|
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:
|
else:
|
||||||
event = RelLib.Event()
|
event = RelLib.Event()
|
||||||
date_stat = self.top.get_widget("date_stat")
|
date_stat = self.top.get_widget("date_stat")
|
||||||
@ -240,29 +189,41 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
date_stat,
|
date_stat,
|
||||||
self.window)
|
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('button111','clicked',self.close)
|
||||||
self.gladeif.connect('ok','clicked',self.on_event_edit_ok_clicked)
|
self.gladeif.connect('ok','clicked',self.on_event_edit_ok_clicked)
|
||||||
self.gladeif.connect('button126','clicked',self.on_help_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._create_tabbed_pages()
|
||||||
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.show()
|
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):
|
def build_menu_names(self,event):
|
||||||
if event:
|
if event:
|
||||||
if event.get_type()[0] == RelLib.Event.CUSTOM:
|
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