* src/DateEdit.py: ManagedWindow
* src/Editors/_EditAddress.py: new DateEdit interface * src/Editors/_EditLdsOrd.py: new DateEdit interface * src/Editors/_EditSourceRef.py: new DateEdit interface * src/Editors/_EditEventRef.py: new DateEdit interface * src/Editors/_EditMedia.py: new DateEdit interface * src/Editors/_EditName.py: new DateEdit interface * src/Editors/_EditEvent.py: new DateEdit interface * src/GrampsWidgets.py: new DateEdit interface svn: r6559
This commit is contained in:
parent
91d49b8c5e
commit
56a3b7ef20
@ -1,4 +1,13 @@
|
|||||||
2006-05-05 Don Allingham <don@gramps-project.org>
|
2006-05-05 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/DateEdit.py: ManagedWindow
|
||||||
|
* src/Editors/_EditAddress.py: new DateEdit interface
|
||||||
|
* src/Editors/_EditLdsOrd.py: new DateEdit interface
|
||||||
|
* src/Editors/_EditSourceRef.py: new DateEdit interface
|
||||||
|
* src/Editors/_EditEventRef.py: new DateEdit interface
|
||||||
|
* src/Editors/_EditMedia.py: new DateEdit interface
|
||||||
|
* src/Editors/_EditName.py: new DateEdit interface
|
||||||
|
* src/Editors/_EditEvent.py: new DateEdit interface
|
||||||
|
* src/GrampsWidgets.py: new DateEdit interface
|
||||||
* src/Editors/_EditFamily.py: import ChildModel
|
* src/Editors/_EditFamily.py: import ChildModel
|
||||||
|
|
||||||
2006-05-05 Alex Roitman <shura@gramps-project.org>
|
2006-05-05 Alex Roitman <shura@gramps-project.org>
|
||||||
|
@ -42,7 +42,6 @@ __version__ = "$Revision$"
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
import gc
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -71,6 +70,7 @@ import DateHandler
|
|||||||
import const
|
import const
|
||||||
import Utils
|
import Utils
|
||||||
import GrampsDisplay
|
import GrampsDisplay
|
||||||
|
import ManagedWindow
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -108,18 +108,18 @@ class DateEdit:
|
|||||||
"""Class that associates a pixmap with a text widget, providing visual
|
"""Class that associates a pixmap with a text widget, providing visual
|
||||||
feedback that indicates if the text widget contains a valid date"""
|
feedback that indicates if the text widget contains a valid date"""
|
||||||
|
|
||||||
def __init__(self,date_obj,text_obj,button_obj,parent_window=None):
|
def __init__(self, date_obj, text_obj, button_obj, uistate, track):
|
||||||
"""
|
"""
|
||||||
Creates a connection between the date_obj, text_obj and the pixmap_obj.
|
Creates a connection between the date_obj, text_obj and the pixmap_obj.
|
||||||
Assigns callbacks to parse and change date when the text
|
Assigns callbacks to parse and change date when the text
|
||||||
in text_obj is changed, and to invoke Date Editor when the LED
|
in text_obj is changed, and to invoke Date Editor when the LED
|
||||||
button_obj is pressed.
|
button_obj is pressed.
|
||||||
"""
|
"""
|
||||||
|
self.uistate = uistate
|
||||||
|
self.track = track
|
||||||
self.date_obj = date_obj
|
self.date_obj = date_obj
|
||||||
self.text_obj = text_obj
|
self.text_obj = text_obj
|
||||||
self.button_obj = button_obj
|
self.button_obj = button_obj
|
||||||
self.parent_window = parent_window
|
|
||||||
|
|
||||||
self.pixmap_obj = button_obj.get_child()
|
self.pixmap_obj = button_obj.get_child()
|
||||||
|
|
||||||
@ -164,7 +164,7 @@ class DateEdit:
|
|||||||
If date was in fact built, sets the date_obj to the newly built
|
If date was in fact built, sets the date_obj to the newly built
|
||||||
date.
|
date.
|
||||||
"""
|
"""
|
||||||
date_dialog = DateEditorDialog(self.date_obj,self.parent_window)
|
date_dialog = DateEditorDialog(self.date_obj, self.uistate, self.track)
|
||||||
the_date = date_dialog.return_date
|
the_date = date_dialog.return_date
|
||||||
self.update_after_editor(the_date)
|
self.update_after_editor(the_date)
|
||||||
|
|
||||||
@ -182,29 +182,33 @@ class DateEdit:
|
|||||||
# DateEditorDialog
|
# DateEditorDialog
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
class DateEditorDialog:
|
class DateEditorDialog(ManagedWindow.ManagedWindow):
|
||||||
"""
|
"""
|
||||||
Dialog allowing to build the date precisely, to correct possible
|
Dialog allowing to build the date precisely, to correct possible
|
||||||
limitations of parsing and/or underlying structure of Date.
|
limitations of parsing and/or underlying structure of Date.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self,date,parent_window=None):
|
def __init__(self, date, uistate, track):
|
||||||
"""
|
"""
|
||||||
Initiate and display the dialog.
|
Initiate and display the dialog.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
ManagedWindow.ManagedWindow.__init__(self, uistate, track, self)
|
||||||
|
|
||||||
# Create self.date as a copy of the given Date object.
|
# Create self.date as a copy of the given Date object.
|
||||||
self.date = Date(date)
|
self.date = Date(date)
|
||||||
|
|
||||||
self.top = gtk.glade.XML(const.gladeFile, "date_edit","gramps" )
|
self.top = gtk.glade.XML(const.gladeFile, "date_edit","gramps" )
|
||||||
self.top_window = self.top.get_widget('date_edit')
|
|
||||||
self.top_window.hide()
|
self.set_window(
|
||||||
title = self.top.get_widget('title')
|
self.top.get_widget('date_edit'),
|
||||||
Utils.set_titles(self.top_window,title,_('Date selection'))
|
self.top.get_widget('title'),
|
||||||
|
_('Date selection'))
|
||||||
|
|
||||||
self.calendar_box = self.top.get_widget('calendar_box')
|
self.calendar_box = self.top.get_widget('calendar_box')
|
||||||
for name in Date.ui_calendar_names:
|
for name in Date.ui_calendar_names:
|
||||||
self.calendar_box.append_text(name)
|
self.calendar_box.append_text(name)
|
||||||
|
|
||||||
self.calendar_box.set_active(self.date.get_calendar())
|
self.calendar_box.set_active(self.date.get_calendar())
|
||||||
self.calendar_box.connect('changed',self.switch_calendar)
|
self.calendar_box.connect('changed',self.switch_calendar)
|
||||||
|
|
||||||
@ -260,12 +264,13 @@ class DateEditorDialog:
|
|||||||
# The dialog is modal -- since dates don't have names, we don't
|
# The dialog is modal -- since dates don't have names, we don't
|
||||||
# want to have several open dialogs, since then the user will
|
# want to have several open dialogs, since then the user will
|
||||||
# loose track of which is which. Much like opening files.
|
# loose track of which is which. Much like opening files.
|
||||||
if parent_window:
|
|
||||||
self.top_window.set_transient_for(parent_window)
|
|
||||||
|
|
||||||
self.return_date = None
|
self.return_date = None
|
||||||
while 1:
|
|
||||||
response = self.top_window.run()
|
self.show()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
response = self.window.run()
|
||||||
if response == gtk.RESPONSE_HELP:
|
if response == gtk.RESPONSE_HELP:
|
||||||
GrampsDisplay.help('adv-dates')
|
GrampsDisplay.help('adv-dates')
|
||||||
|
|
||||||
@ -282,8 +287,10 @@ class DateEditorDialog:
|
|||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
self.top_window.destroy()
|
self.window.destroy()
|
||||||
gc.collect()
|
|
||||||
|
def build_menu_names(self, obj):
|
||||||
|
return (_("Date selection"), None)
|
||||||
|
|
||||||
def build_date_from_ui(self):
|
def build_date_from_ui(self):
|
||||||
"""
|
"""
|
||||||
|
@ -79,7 +79,9 @@ class EditAddress(EditSecondary):
|
|||||||
self.top.get_widget("address_start"),
|
self.top.get_widget("address_start"),
|
||||||
self.top.get_widget("date_stat"),
|
self.top.get_widget("date_stat"),
|
||||||
self.obj.get_date_object(),
|
self.obj.get_date_object(),
|
||||||
self.window, self.db.readonly)
|
self.uistate,
|
||||||
|
self.track,
|
||||||
|
self.db.readonly)
|
||||||
|
|
||||||
self.street = MonitoredEntry(
|
self.street = MonitoredEntry(
|
||||||
self.top.get_widget("street"), self.obj.set_street,
|
self.top.get_widget("street"), self.obj.set_street,
|
||||||
|
@ -142,7 +142,9 @@ class EditEvent(EditPrimary):
|
|||||||
self.top.get_widget("eventDate"),
|
self.top.get_widget("eventDate"),
|
||||||
self.top.get_widget("date_stat"),
|
self.top.get_widget("date_stat"),
|
||||||
self.obj.get_date_object(),
|
self.obj.get_date_object(),
|
||||||
self.window, self.db.readonly)
|
self.uistate,
|
||||||
|
self.track,
|
||||||
|
self.db.readonly)
|
||||||
|
|
||||||
def _create_tabbed_pages(self):
|
def _create_tabbed_pages(self):
|
||||||
"""
|
"""
|
||||||
|
@ -140,7 +140,8 @@ class EditEventRef(EditReference):
|
|||||||
self.top.get_widget("eer_date"),
|
self.top.get_widget("eer_date"),
|
||||||
self.top.get_widget("eer_date_stat"),
|
self.top.get_widget("eer_date_stat"),
|
||||||
self.source.get_date_object(),
|
self.source.get_date_object(),
|
||||||
self.window,
|
self.uistate,
|
||||||
|
self.track,
|
||||||
self.db.readonly)
|
self.db.readonly)
|
||||||
|
|
||||||
def _create_tabbed_pages(self):
|
def _create_tabbed_pages(self):
|
||||||
|
@ -145,7 +145,9 @@ class EditLdsOrd(EditSecondary):
|
|||||||
self.top.get_widget("date"),
|
self.top.get_widget("date"),
|
||||||
self.top.get_widget("date_stat"),
|
self.top.get_widget("date_stat"),
|
||||||
self.obj.get_date_object(),
|
self.obj.get_date_object(),
|
||||||
self.window, self.db.readonly)
|
self.uistate,
|
||||||
|
self.track,
|
||||||
|
self.db.readonly)
|
||||||
|
|
||||||
self.place_field = PlaceEntry(
|
self.place_field = PlaceEntry(
|
||||||
self.top.get_widget("place"),
|
self.top.get_widget("place"),
|
||||||
@ -325,7 +327,9 @@ class EditFamilyLdsOrd(EditSecondary):
|
|||||||
self.top.get_widget("date"),
|
self.top.get_widget("date"),
|
||||||
self.top.get_widget("date_stat"),
|
self.top.get_widget("date_stat"),
|
||||||
self.obj.get_date_object(),
|
self.obj.get_date_object(),
|
||||||
self.window, self.db.readonly)
|
self.uistate,
|
||||||
|
self.track,
|
||||||
|
self.db.readonly)
|
||||||
|
|
||||||
self.place_field = PlaceEntry(
|
self.place_field = PlaceEntry(
|
||||||
self.top.get_widget("place"),
|
self.top.get_widget("place"),
|
||||||
|
@ -86,7 +86,8 @@ class EditMedia(EditPrimary):
|
|||||||
self.glade.get_widget('date'),
|
self.glade.get_widget('date'),
|
||||||
self.glade.get_widget("date_edit"),
|
self.glade.get_widget("date_edit"),
|
||||||
self.obj.get_date_object(),
|
self.obj.get_date_object(),
|
||||||
self.window,
|
self.uistate,
|
||||||
|
self.track,
|
||||||
self.db.readonly)
|
self.db.readonly)
|
||||||
|
|
||||||
self.descr_window = MonitoredEntry(
|
self.descr_window = MonitoredEntry(
|
||||||
|
@ -160,7 +160,9 @@ class EditName(EditSecondary):
|
|||||||
self.top.get_widget("date"),
|
self.top.get_widget("date"),
|
||||||
self.top.get_widget("date_stat"),
|
self.top.get_widget("date_stat"),
|
||||||
self.obj.get_date_object(),
|
self.obj.get_date_object(),
|
||||||
self.window)
|
self.uistate,
|
||||||
|
self.track,
|
||||||
|
self.db.readonly)
|
||||||
|
|
||||||
self.obj_combo = MonitoredDataType(
|
self.obj_combo = MonitoredDataType(
|
||||||
self.top.get_widget("name_type"),
|
self.top.get_widget("name_type"),
|
||||||
|
@ -112,7 +112,8 @@ class EditSourceRef(EditReference):
|
|||||||
self.source_ref.get_text,False)
|
self.source_ref.get_text,False)
|
||||||
|
|
||||||
self.type_mon = MonitoredMenu(
|
self.type_mon = MonitoredMenu(
|
||||||
self.top.get_widget('confidence'), self.source_ref.set_confidence_level,
|
self.top.get_widget('confidence'),
|
||||||
|
self.source_ref.set_confidence_level,
|
||||||
self.source_ref.get_confidence_level, [
|
self.source_ref.get_confidence_level, [
|
||||||
(_('Very Low'), RelLib.SourceRef.CONF_VERY_LOW),
|
(_('Very Low'), RelLib.SourceRef.CONF_VERY_LOW),
|
||||||
(_('Low'), RelLib.SourceRef.CONF_LOW),
|
(_('Low'), RelLib.SourceRef.CONF_LOW),
|
||||||
@ -124,7 +125,10 @@ class EditSourceRef(EditReference):
|
|||||||
self.date = MonitoredDate(
|
self.date = MonitoredDate(
|
||||||
self.top.get_widget("date"),
|
self.top.get_widget("date"),
|
||||||
self.top.get_widget("date_stat"),
|
self.top.get_widget("date_stat"),
|
||||||
self.source_ref.get_date_object(),self.window)
|
self.source_ref.get_date_object(),
|
||||||
|
self.uistate,
|
||||||
|
self.track,
|
||||||
|
self.db.readonly)
|
||||||
|
|
||||||
def _create_tabbed_pages(self):
|
def _create_tabbed_pages(self):
|
||||||
"""
|
"""
|
||||||
|
@ -465,10 +465,10 @@ class MonitoredStrMenu:
|
|||||||
|
|
||||||
class MonitoredDate:
|
class MonitoredDate:
|
||||||
|
|
||||||
def __init__(self, field, button, value, window, readonly=False):
|
def __init__(self, field, button, value, uistate, track, readonly=False):
|
||||||
self.date = value
|
self.date = value
|
||||||
self.date_check = DateEdit.DateEdit(
|
self.date_check = DateEdit.DateEdit(
|
||||||
self.date, field, button, window)
|
self.date, field, button, uistate, track)
|
||||||
field.set_editable(not readonly)
|
field.set_editable(not readonly)
|
||||||
button.set_sensitive(not readonly)
|
button.set_sensitive(not readonly)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user