From 989f859a5ceaadba7872502d82fe0d76df3498fd Mon Sep 17 00:00:00 2001 From: Martin Hawlisch Date: Thu, 23 Mar 2006 16:41:51 +0000 Subject: [PATCH] Support for DnD of alternate locations of a place svn: r6198 --- ChangeLog | 5 +++++ src/DdTargets.py | 2 ++ src/DisplayTabs.py | 2 +- src/ScratchPad.py | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 52f5bb514..398902611 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-03-23 Martin Hawlisch + * src/DdTargets.py, + * src/DisplayTabs.py, + * src/ScratchPad.py: Support Location DnD + 2006-03-22 Brian Matherly * src/ScratchPad.py: Filter double drops in Windows. diff --git a/src/DdTargets.py b/src/DdTargets.py index f4ef15593..ae124f002 100644 --- a/src/DdTargets.py +++ b/src/DdTargets.py @@ -111,6 +111,7 @@ class _DdTargets(object): self.EVENTREF = _DdType(self,'eventref') self.ATTRIBUTE = _DdType(self,'pattr') self.ADDRESS = _DdType(self,'paddr') + self.LOCATION = _DdType(self,'location') self.SOURCEREF = _DdType(self,'srcref') self.REPOREF = _DdType(self,'reporef') self.REPO_LINK = _DdType(self,'repo-link') @@ -133,6 +134,7 @@ class _DdTargets(object): self.EVENT, self.ATTRIBUTE, self.ADDRESS, + self.LOCATION, self.SOURCE_LINK, self.SOURCEREF, self.EVENTREF, diff --git a/src/DisplayTabs.py b/src/DisplayTabs.py index 34d165cf5..c3a82ceae 100644 --- a/src/DisplayTabs.py +++ b/src/DisplayTabs.py @@ -1116,7 +1116,7 @@ class AddrEmbedList(EmbeddedList): class LocationEmbedList(EmbeddedList): _HANDLE_COL = 5 - _DND_TYPE = DdTargets.ADDRESS + _DND_TYPE = DdTargets.LOCATION _column_names = [ (_('City'), 0, 150), diff --git a/src/ScratchPad.py b/src/ScratchPad.py index acd1f09b0..74cd58e97 100644 --- a/src/ScratchPad.py +++ b/src/ScratchPad.py @@ -176,6 +176,38 @@ class ScratchPadAddress(ScratchPadGrampsTypeWrapper): return s +class ScratchPadLocation(ScratchPadGrampsTypeWrapper): + + DROP_TARGETS = [DdTargets.LOCATION] + DRAG_TARGET = DdTargets.LOCATION + ICON = BLANK_PIC + + def __init__(self,dbstate,obj): + ScratchPadGrampsTypeWrapper.__init__(self,dbstate,obj) + self._type = _("Location") + self._value = "%s %s %s" % (self._obj.get_city(), + self._obj.get_state(),self._obj.get_country()) + + + def tooltip(self): + global escape + s = "%s\n\n"\ + "\t%s:\t%s\n"\ + "\t%s:\n"\ + "\t\t%s\n"\ + "\t\t%s\n"\ + "\t\t%s\n"\ + "\t\t%s\n"\ + "\t%s:\t%s\n" % ( + _("Location"), + escape(self._obj.get_city()), + escape(self._obj.get_state()), + escape(self._obj.get_country()), + escape(self._obj.get_postal_code()), + _("Telephone"), escape(self._obj.get_phone())) + + return s + class ScratchPadEvent(ScratchPadWrapper): DROP_TARGETS = [DdTargets.EVENT] @@ -745,6 +777,7 @@ class ScratchPadListView: def register_wrapper_classes(self): self.register_wrapper_class(ScratchPadAddress) + self.register_wrapper_class(ScratchPadLocation) self.register_wrapper_class(ScratchPadEvent) self.register_wrapper_class(ScratchPadEventRef) self.register_wrapper_class(ScratchPadSourceRef)