connect goto_handle function for bookmark callback
svn: r6455
This commit is contained in:
parent
5522b9a112
commit
0d35757371
@ -2,6 +2,10 @@
|
|||||||
* src/plugins/Check.py: Adapt to new family relation types.
|
* src/plugins/Check.py: Adapt to new family relation types.
|
||||||
|
|
||||||
2006-04-26 Don Allingham <don@gramps-project.org>
|
2006-04-26 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/Bookmarks.py: connect goto_handle function for bookmark
|
||||||
|
callback
|
||||||
|
* src/PageView.py: connect goto_handle function for bookmark
|
||||||
|
callback
|
||||||
* src/ViewManager.py: force uimanager updates
|
* src/ViewManager.py: force uimanager updates
|
||||||
* src/Bookmarks.py: force uimanager updates
|
* src/Bookmarks.py: force uimanager updates
|
||||||
* src/DisplayState.py: force uimanager updates
|
* src/DisplayState.py: force uimanager updates
|
||||||
|
@ -72,7 +72,7 @@ DISABLED = -1
|
|||||||
class Bookmarks :
|
class Bookmarks :
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
def __init__(self, dbstate, uistate, bookmarks, callback=None):
|
||||||
"""
|
"""
|
||||||
Creates a the bookmark editor.
|
Creates a the bookmark editor.
|
||||||
|
|
||||||
@ -260,28 +260,37 @@ class Bookmarks :
|
|||||||
GrampsDisplay.help('gramps-nav')
|
GrampsDisplay.help('gramps-nav')
|
||||||
self.response = self.top.run()
|
self.response = self.top.run()
|
||||||
|
|
||||||
class FamilyBookmarks(Bookmarks) :
|
class ListBookmarks(Bookmarks):
|
||||||
|
|
||||||
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
|
self.goto_handle = goto_handle
|
||||||
|
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
||||||
|
|
||||||
|
def callback(self, handle):
|
||||||
|
return make_callback(handle, self.do_callback)
|
||||||
|
|
||||||
|
def do_callback(self, handle):
|
||||||
|
self.goto_handle(handle)
|
||||||
|
|
||||||
|
|
||||||
|
class FamilyBookmarks(ListBookmarks) :
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||||
|
goto_handle)
|
||||||
|
|
||||||
def make_label(self,handle):
|
def make_label(self,handle):
|
||||||
obj = self.dbstate.db.get_family_from_handle(handle)
|
obj = self.dbstate.db.get_family_from_handle(handle)
|
||||||
name = Utils.family_name(obj, self.dbstate.db)
|
name = Utils.family_name(obj, self.dbstate.db)
|
||||||
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
||||||
|
|
||||||
def callback(self, handle):
|
class EventBookmarks(ListBookmarks) :
|
||||||
return make_callback(handle, self.do_nothing)
|
|
||||||
|
|
||||||
def do_nothing(self, handle):
|
|
||||||
print handle
|
|
||||||
|
|
||||||
class EventBookmarks(Bookmarks) :
|
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||||
|
goto_handle)
|
||||||
|
|
||||||
def make_label(self,handle):
|
def make_label(self,handle):
|
||||||
obj = self.dbstate.db.get_event_from_handle(handle)
|
obj = self.dbstate.db.get_event_from_handle(handle)
|
||||||
@ -291,79 +300,52 @@ class EventBookmarks(Bookmarks) :
|
|||||||
name = obj.get_description()
|
name = obj.get_description()
|
||||||
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
||||||
|
|
||||||
def callback(self, handle):
|
class SourceBookmarks(ListBookmarks) :
|
||||||
return make_callback(handle, self.do_nothing)
|
|
||||||
|
|
||||||
def do_nothing(self, handle):
|
|
||||||
print handle
|
|
||||||
|
|
||||||
class SourceBookmarks(Bookmarks) :
|
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
goto_handle)
|
||||||
|
|
||||||
def make_label(self,handle):
|
def make_label(self,handle):
|
||||||
obj = self.dbstate.db.get_source_from_handle(handle)
|
obj = self.dbstate.db.get_source_from_handle(handle)
|
||||||
name = obj.get_title()
|
name = obj.get_title()
|
||||||
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
||||||
|
|
||||||
def callback(self, handle):
|
class MediaBookmarks(ListBookmarks) :
|
||||||
return make_callback(handle, self.do_nothing)
|
|
||||||
|
|
||||||
def do_nothing(self, handle):
|
|
||||||
print handle
|
|
||||||
|
|
||||||
class MediaBookmarks(Bookmarks) :
|
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||||
|
goto_handle)
|
||||||
|
|
||||||
def make_label(self,handle):
|
def make_label(self,handle):
|
||||||
obj = self.dbstate.db.get_object_from_handle(handle)
|
obj = self.dbstate.db.get_object_from_handle(handle)
|
||||||
name = obj.get_description()
|
name = obj.get_description()
|
||||||
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
||||||
|
|
||||||
def callback(self, handle):
|
class RepoBookmarks(ListBookmarks) :
|
||||||
return make_callback(handle, self.do_nothing)
|
|
||||||
|
|
||||||
def do_nothing(self, handle):
|
|
||||||
print handle
|
|
||||||
|
|
||||||
class RepoBookmarks(Bookmarks) :
|
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||||
|
goto_handle)
|
||||||
|
|
||||||
def make_label(self,handle):
|
def make_label(self,handle):
|
||||||
obj = self.dbstate.db.get_repository_from_handle(handle)
|
obj = self.dbstate.db.get_repository_from_handle(handle)
|
||||||
name = obj.get_name()
|
name = obj.get_name()
|
||||||
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
||||||
|
|
||||||
def callback(self, handle):
|
class PlaceBookmarks(ListBookmarks) :
|
||||||
return make_callback(handle, self.do_nothing)
|
|
||||||
|
|
||||||
def do_nothing(self, handle):
|
|
||||||
print handle
|
|
||||||
|
|
||||||
class PlaceBookmarks(Bookmarks) :
|
|
||||||
"Handle the bookmarks interface for Gramps"
|
"Handle the bookmarks interface for Gramps"
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate,bookmarks):
|
def __init__(self,dbstate,uistate,bookmarks, goto_handle):
|
||||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||||
|
goto_handle)
|
||||||
|
|
||||||
def make_label(self,handle):
|
def make_label(self,handle):
|
||||||
obj = self.dbstate.db.get_place_from_handle(handle)
|
obj = self.dbstate.db.get_place_from_handle(handle)
|
||||||
name = obj.get_title()
|
name = obj.get_title()
|
||||||
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
return ("%s [%s]" % (name, obj.gramps_id), obj)
|
||||||
|
|
||||||
def callback(self, handle):
|
|
||||||
return make_callback(handle, self.do_nothing)
|
|
||||||
|
|
||||||
def do_nothing(self, handle):
|
|
||||||
print handle
|
|
||||||
|
|
||||||
def make_callback(n,f):
|
def make_callback(n,f):
|
||||||
return lambda x: f(n)
|
return lambda x: f(n)
|
||||||
|
@ -194,9 +194,12 @@ class BookMarkView(PageView):
|
|||||||
self.bm_type = bm_type
|
self.bm_type = bm_type
|
||||||
self.setup_bookmarks(bookmarks)
|
self.setup_bookmarks(bookmarks)
|
||||||
|
|
||||||
|
def goto_handle(self, obj):
|
||||||
|
pass
|
||||||
|
|
||||||
def setup_bookmarks(self, bookmarks):
|
def setup_bookmarks(self, bookmarks):
|
||||||
self.bookmarks = self.bm_type(
|
self.bookmarks = self.bm_type(
|
||||||
self.dbstate, self.uistate, bookmarks)
|
self.dbstate, self.uistate, bookmarks, self.goto_handle)
|
||||||
|
|
||||||
def add_bookmark(self, obj):
|
def add_bookmark(self, obj):
|
||||||
import NameDisplay
|
import NameDisplay
|
||||||
@ -248,7 +251,7 @@ class BookMarkView(PageView):
|
|||||||
#----------------------------------------------------------------
|
#----------------------------------------------------------------
|
||||||
class PersonNavView(BookMarkView):
|
class PersonNavView(BookMarkView):
|
||||||
|
|
||||||
def __init__(self,title,dbstate,uistate):
|
def __init__(self,title,dbstate,uistate, callback=None):
|
||||||
BookMarkView.__init__(self, title, dbstate, uistate,
|
BookMarkView.__init__(self, title, dbstate, uistate,
|
||||||
dbstate.db.get_bookmarks(),
|
dbstate.db.get_bookmarks(),
|
||||||
Bookmarks.Bookmarks)
|
Bookmarks.Bookmarks)
|
||||||
@ -525,6 +528,27 @@ class ListView(BookMarkView):
|
|||||||
]
|
]
|
||||||
self.generic_filter_widget.setup_filter( default_filters)
|
self.generic_filter_widget.setup_filter( default_filters)
|
||||||
|
|
||||||
|
def goto_handle(self, handle):
|
||||||
|
if not self.dbstate.active or self.inactive:
|
||||||
|
return
|
||||||
|
|
||||||
|
# mark inactive to prevent recusion
|
||||||
|
self.inactive = True
|
||||||
|
|
||||||
|
# select the active person in the person view
|
||||||
|
|
||||||
|
try:
|
||||||
|
path = self.model.on_get_path(handle)
|
||||||
|
self.selection.unselect_all()
|
||||||
|
self.selection.select_path(path)
|
||||||
|
self.list.scroll_to_cell(path,None,1,0.5,0)
|
||||||
|
except KeyError:
|
||||||
|
self.selection.unselect_all()
|
||||||
|
|
||||||
|
# disable the inactive flag
|
||||||
|
self.inactive = False
|
||||||
|
|
||||||
|
|
||||||
def column_clicked(self,obj,data):
|
def column_clicked(self,obj,data):
|
||||||
if self.sort_col != data:
|
if self.sort_col != data:
|
||||||
order = gtk.SORT_ASCENDING
|
order = gtk.SORT_ASCENDING
|
||||||
|
Loading…
x
Reference in New Issue
Block a user