Improved the documenation.
svn: r1048
This commit is contained in:
parent
41b82c6635
commit
7cbb3fa62e
@ -24,7 +24,7 @@ strings as the possible completions. This work was adapted from code
|
||||
written by David Hampton.
|
||||
"""
|
||||
|
||||
__author__ = "Donald N. Allingham"
|
||||
__author__ = "David R. Hampton, Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -41,6 +41,11 @@ import string
|
||||
#-------------------------------------------------------------------------
|
||||
import gtk
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# AutoCompBase
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class AutoCompBase:
|
||||
|
||||
def __init__(self,widget,plist,source=None):
|
||||
@ -57,9 +62,8 @@ class AutoCompBase:
|
||||
if source:
|
||||
self.nlist = source.nlist
|
||||
else:
|
||||
cnv = string.lower
|
||||
self.nlist = []
|
||||
self.nlist = map((lambda n: (cnv(n),n)),plist)
|
||||
self.nlist = map((lambda n: (string.lower(n),n)),plist)
|
||||
self.nlist.sort()
|
||||
self.nl = "xzsdkdjecsc"
|
||||
self.l = 0
|
||||
@ -105,6 +109,11 @@ class AutoCompBase:
|
||||
"""
|
||||
pass
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# AutoCombo
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class AutoCombo(AutoCompBase):
|
||||
"""
|
||||
Allows allow completion of the GtkCombo widget with the entries
|
||||
@ -197,6 +206,11 @@ class AutoCombo(AutoCompBase):
|
||||
else:
|
||||
self.vals = [""]
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# AutoEntry
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class AutoEntry(AutoCompBase):
|
||||
"""
|
||||
Allows allow completion of the GtkEntry widget with the entries
|
||||
|
@ -20,6 +20,9 @@
|
||||
|
||||
"Handle bookmarks for the gramps interface"
|
||||
|
||||
__author__ = "Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GTK/Gnome modules
|
||||
@ -27,7 +30,7 @@
|
||||
#-------------------------------------------------------------------------
|
||||
import gtk
|
||||
import GTK
|
||||
from gnome.ui import *
|
||||
import gnome.ui
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -86,9 +89,10 @@ class Bookmarks :
|
||||
self.myMenu.append(item)
|
||||
|
||||
def draw_window(self):
|
||||
|
||||
"""Draws the bookmark dialog box"""
|
||||
title = "%s - GRAMPS" % _("Edit Bookmarks")
|
||||
self.top = GnomeDialog(title,STOCK_BUTTON_OK,STOCK_BUTTON_CANCEL)
|
||||
self.top = gnome.ui.GnomeDialog(title,gnome.ui.STOCK_BUTTON_OK,
|
||||
gnome.ui.STOCK_BUTTON_CANCEL)
|
||||
self.top.set_policy(0,1,0)
|
||||
self.top.vbox.set_spacing(5)
|
||||
self.top.vbox.pack_start(gtk.GtkLabel(_("Edit Bookmarks")),0,0,5)
|
||||
@ -103,8 +107,8 @@ class Bookmarks :
|
||||
box.pack_start(slist,1,1,5)
|
||||
bbox = gtk.GtkVButtonBox()
|
||||
bbox.set_layout_default(GTK.BUTTONBOX_START)
|
||||
up = GnomePixmapButton(GnomeStock(STOCK_PIXMAP_UP),_("Up"))
|
||||
down = GnomePixmapButton(GnomeStock(STOCK_PIXMAP_DOWN),_("Down"))
|
||||
up = gnome.ui.GnomePixmapButton(gnome.ui.GnomeStock(gnome.ui.STOCK_PIXMAP_UP),_("Up"))
|
||||
down = gnome.ui.GnomePixmapButton(gnome.ui.GnomeStock(gnome.ui.STOCK_PIXMAP_DOWN),_("Down"))
|
||||
delete = gtk.GtkButton(_("Delete"))
|
||||
up.connect('clicked', self.up_clicked)
|
||||
down.connect('clicked',self.down_clicked)
|
||||
|
@ -25,6 +25,9 @@ C implementation. The original C source can be found at Scott's
|
||||
web site at http://www.scottlee.com
|
||||
"""
|
||||
|
||||
__author__ = "Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
_FR_SDN_OFFSET = 2375474
|
||||
_FR_DAYS_PER_4_YEARS = 1461
|
||||
_FR_DAYS_PER_MONTH = 30
|
||||
|
@ -18,6 +18,14 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
"""
|
||||
ChooseParents interface allows users to select the paretns of an
|
||||
individual.
|
||||
"""
|
||||
|
||||
__author__ = "Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# internationalization
|
||||
@ -56,6 +64,15 @@ class ChooseParents:
|
||||
to be edited.
|
||||
"""
|
||||
def __init__(self,db,person,family,family_update,full_update):
|
||||
"""
|
||||
Creates a ChoosePerson dialog box.
|
||||
|
||||
db - database associated the person
|
||||
person - person whose parents we are selecting
|
||||
family - current family
|
||||
family_update - task that updates the family display
|
||||
full_update - task that updates the main display
|
||||
"""
|
||||
self.db = db
|
||||
self.person = person
|
||||
self.family = family
|
||||
@ -128,7 +145,7 @@ class ChooseParents:
|
||||
self.top.show()
|
||||
|
||||
def redraw(self):
|
||||
|
||||
"""Redraws the potential father and mother lists"""
|
||||
self.father_list.freeze()
|
||||
self.mother_list.freeze()
|
||||
self.father_list.clear()
|
||||
@ -199,6 +216,7 @@ class ChooseParents:
|
||||
self.flabel.set_label(_("Father"))
|
||||
|
||||
def parent_relation_changed(self,obj):
|
||||
"""Called everytime the parent relationship information is changegd"""
|
||||
self.old_type = self.type
|
||||
self.type = const.save_frel(obj.get_text())
|
||||
if self.old_type == "Partners" or self.type == "Partners":
|
||||
@ -231,6 +249,9 @@ class ChooseParents:
|
||||
return family
|
||||
|
||||
def mother_list_select_row(self,obj,a,b,c):
|
||||
"""Called when a row is selected in the mother list. Sets the
|
||||
active mother based off the id associated with the row."""
|
||||
|
||||
id = obj.get_row_data(a)
|
||||
if id:
|
||||
self.mother = self.db.getPerson(id)
|
||||
@ -238,6 +259,8 @@ class ChooseParents:
|
||||
self.mother = None
|
||||
|
||||
def father_list_select_row(self,obj,a,b,c):
|
||||
"""Called when a row is selected in the father list. Sets the
|
||||
active father based off the id associated with the row."""
|
||||
id = obj.get_row_data(a)
|
||||
if id:
|
||||
self.father = self.db.getPerson(id)
|
||||
@ -245,6 +268,10 @@ class ChooseParents:
|
||||
self.father = None
|
||||
|
||||
def save_parents_clicked(self,obj):
|
||||
"""
|
||||
Called with the OK button nis pressed. Saves the selected people as parents
|
||||
of the main perosn.
|
||||
"""
|
||||
mother_rel = const.childRelations[self.mother_rel.get_text()]
|
||||
father_rel = const.childRelations[self.father_rel.get_text()]
|
||||
|
||||
@ -280,6 +307,8 @@ class ChooseParents:
|
||||
self.family_update(None)
|
||||
|
||||
def add_new_parent(self,person):
|
||||
"""Adds a new person to either the father list or the mother list,
|
||||
depending on the gender of the person."""
|
||||
id = person.getId()
|
||||
self.type = const.save_frel(self.prel.get_text())
|
||||
dinfo = self.db.getPersonDisplay(id)
|
||||
@ -303,6 +332,9 @@ class ChooseParents:
|
||||
self.full_update()
|
||||
|
||||
def add_parent_clicked(self,obj):
|
||||
"""Called with the Add New Person button is pressed. Calls the QuickAdd
|
||||
class to create a new person."""
|
||||
|
||||
import QuickAdd
|
||||
QuickAdd.QuickAdd(self.db,"male",self.add_new_parent)
|
||||
|
||||
|
@ -18,7 +18,10 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
"Support for the dates"
|
||||
"Support for dates"
|
||||
|
||||
__author__ = "Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
252
src/DateEdit.py
252
src/DateEdit.py
@ -19,10 +19,16 @@
|
||||
#
|
||||
|
||||
"""
|
||||
Adds autocompletion to a GtkEntry box, using the passed list of
|
||||
strings as the possible completions.
|
||||
The DateEdit interface provides visual feedback to the user via a pixamp
|
||||
to indicate if the assocated GtkEntry box contains a valid date. Green
|
||||
means complete and valid date. Yellow means a valid, but incomplete date.
|
||||
Red means that the date is not valid, and will be viewed as a text string
|
||||
instead of a date.
|
||||
"""
|
||||
|
||||
__author__ = "Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME modules
|
||||
@ -37,140 +43,140 @@ import GdkImlib
|
||||
#-------------------------------------------------------------------------
|
||||
import Date
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Date indicator pixmaps
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
_good = [
|
||||
"10 10 24 1",
|
||||
" c None",
|
||||
". c #0EB40E",
|
||||
"+ c #11A711",
|
||||
"@ c #11A211",
|
||||
"# c #0DA10D",
|
||||
"$ c #09CB09",
|
||||
"% c #0BCC0B",
|
||||
"& c #08CD08",
|
||||
"* c #098609",
|
||||
"= c #05E705",
|
||||
"- c #02F502",
|
||||
"; c #07E007",
|
||||
"> c #0A9D0A",
|
||||
", c #01F901",
|
||||
"' c #00FF00",
|
||||
") c #01F801",
|
||||
"! c #05E605",
|
||||
"~ c #0AC40A",
|
||||
"{ c #0AC30A",
|
||||
"] c #000000",
|
||||
"^ c #099209",
|
||||
"/ c #08CB08",
|
||||
"( c #033403",
|
||||
"_ c #098509",
|
||||
" .+++@# ",
|
||||
".$%%%%&* ",
|
||||
"+%===-;> ",
|
||||
"+%=,')!~ ",
|
||||
"+%='')!{] ",
|
||||
"@%-))-;^] ",
|
||||
"#&;!!;/( ",
|
||||
" _>~{^(] ",
|
||||
" ]] ",
|
||||
" "]
|
||||
|
||||
_bad = [
|
||||
"10 10 21 1",
|
||||
" c None",
|
||||
". c #A21818",
|
||||
"+ c #A31818",
|
||||
"@ c #9A1717",
|
||||
"# c #C80E0E",
|
||||
"$ c #C90F0F",
|
||||
"% c #CA0C0C",
|
||||
"& c #E60606",
|
||||
"* c #F40202",
|
||||
"= c #DE0909",
|
||||
"- c #8F0D0D",
|
||||
"; c #F90101",
|
||||
"> c #FF0000",
|
||||
", c #F80101",
|
||||
"' c #E50707",
|
||||
") c #C20E0E",
|
||||
"! c #C10E0E",
|
||||
"~ c #000000",
|
||||
"{ c #810C0C",
|
||||
"] c #C80C0C",
|
||||
"^ c #130202",
|
||||
" .++@ ",
|
||||
" #$$$$% ",
|
||||
".$&&&*=- ",
|
||||
"+$&;>,') ",
|
||||
"+$&>>,'!~ ",
|
||||
"@$*,,*={~ ",
|
||||
" %=''=]^ ",
|
||||
" -)!{^~ ",
|
||||
" ~~ ",
|
||||
" "]
|
||||
|
||||
_caution = [
|
||||
"10 10 21 1",
|
||||
" c None",
|
||||
". c #B0AF28",
|
||||
"+ c #B2B028",
|
||||
"@ c #A9A726",
|
||||
"# c #D1D017",
|
||||
"$ c #D2D118",
|
||||
"% c #D2D114",
|
||||
"& c #EAEA0B",
|
||||
"* c #F6F604",
|
||||
"= c #E3E30F",
|
||||
"- c #979615",
|
||||
"; c #F9F902",
|
||||
"> c #FFFF00",
|
||||
", c #F9F903",
|
||||
"' c #E9E90B",
|
||||
") c #CACA18",
|
||||
"! c #C9C918",
|
||||
"~ c #000000",
|
||||
"{ c #898813",
|
||||
"] c #CFCF14",
|
||||
"^ c #151504",
|
||||
" .++@ ",
|
||||
" #$$$$% ",
|
||||
".$&&&*=- ",
|
||||
"+$&;>,') ",
|
||||
"+$&>>,'!~ ",
|
||||
"@$*,,*={~ ",
|
||||
" %=''=]^ ",
|
||||
" -)!{^~ ",
|
||||
" ~~ ",
|
||||
" "]
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# DateEdit
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class DateEdit:
|
||||
def __init__(self,input,output):
|
||||
self.input = input
|
||||
self.output = output
|
||||
"""Class that associates a pixmap with a text widget, providing visual
|
||||
feedback that indicates if the text widget contains a valid date"""
|
||||
|
||||
good = GdkImlib.create_image_from_xpm([
|
||||
"10 10 24 1",
|
||||
" c None",
|
||||
". c #0EB40E",
|
||||
"+ c #11A711",
|
||||
"@ c #11A211",
|
||||
"# c #0DA10D",
|
||||
"$ c #09CB09",
|
||||
"% c #0BCC0B",
|
||||
"& c #08CD08",
|
||||
"* c #098609",
|
||||
"= c #05E705",
|
||||
"- c #02F502",
|
||||
"; c #07E007",
|
||||
"> c #0A9D0A",
|
||||
", c #01F901",
|
||||
"' c #00FF00",
|
||||
") c #01F801",
|
||||
"! c #05E605",
|
||||
"~ c #0AC40A",
|
||||
"{ c #0AC30A",
|
||||
"] c #000000",
|
||||
"^ c #099209",
|
||||
"/ c #08CB08",
|
||||
"( c #033403",
|
||||
"_ c #098509",
|
||||
" .+++@# ",
|
||||
".$%%%%&* ",
|
||||
"+%===-;> ",
|
||||
"+%=,')!~ ",
|
||||
"+%='')!{] ",
|
||||
"@%-))-;^] ",
|
||||
"#&;!!;/( ",
|
||||
" _>~{^(] ",
|
||||
" ]] ",
|
||||
" "])
|
||||
|
||||
bad = GdkImlib.create_image_from_xpm([
|
||||
"10 10 21 1",
|
||||
" c None",
|
||||
". c #A21818",
|
||||
"+ c #A31818",
|
||||
"@ c #9A1717",
|
||||
"# c #C80E0E",
|
||||
"$ c #C90F0F",
|
||||
"% c #CA0C0C",
|
||||
"& c #E60606",
|
||||
"* c #F40202",
|
||||
"= c #DE0909",
|
||||
"- c #8F0D0D",
|
||||
"; c #F90101",
|
||||
"> c #FF0000",
|
||||
", c #F80101",
|
||||
"' c #E50707",
|
||||
") c #C20E0E",
|
||||
"! c #C10E0E",
|
||||
"~ c #000000",
|
||||
"{ c #810C0C",
|
||||
"] c #C80C0C",
|
||||
"^ c #130202",
|
||||
" .++@ ",
|
||||
" #$$$$% ",
|
||||
".$&&&*=- ",
|
||||
"+$&;>,') ",
|
||||
"+$&>>,'!~ ",
|
||||
"@$*,,*={~ ",
|
||||
" %=''=]^ ",
|
||||
" -)!{^~ ",
|
||||
" ~~ ",
|
||||
" "])
|
||||
|
||||
caution = GdkImlib.create_image_from_xpm([
|
||||
"10 10 21 1",
|
||||
" c None",
|
||||
". c #B0AF28",
|
||||
"+ c #B2B028",
|
||||
"@ c #A9A726",
|
||||
"# c #D1D017",
|
||||
"$ c #D2D118",
|
||||
"% c #D2D114",
|
||||
"& c #EAEA0B",
|
||||
"* c #F6F604",
|
||||
"= c #E3E30F",
|
||||
"- c #979615",
|
||||
"; c #F9F902",
|
||||
"> c #FFFF00",
|
||||
", c #F9F903",
|
||||
"' c #E9E90B",
|
||||
") c #CACA18",
|
||||
"! c #C9C918",
|
||||
"~ c #000000",
|
||||
"{ c #898813",
|
||||
"] c #CFCF14",
|
||||
"^ c #151504",
|
||||
" .++@ ",
|
||||
" #$$$$% ",
|
||||
".$&&&*=- ",
|
||||
"+$&;>,') ",
|
||||
"+$&>>,'!~ ",
|
||||
"@$*,,*={~ ",
|
||||
" %=''=]^ ",
|
||||
" -)!{^~ ",
|
||||
" ~~ ",
|
||||
" "])
|
||||
|
||||
def __init__(self,text_obj,pixmap_obj):
|
||||
"""Creates a connection between the text_obj and the pixmap_obj"""
|
||||
|
||||
self.text_obj = text_obj
|
||||
self.pixmap_obj = pixmap_obj
|
||||
self.checkval = Date.Date()
|
||||
self.input.connect('focus-out-event',self.check)
|
||||
self.good = GdkImlib.create_image_from_xpm(_good)
|
||||
self.bad = GdkImlib.create_image_from_xpm(_bad)
|
||||
self.caution = GdkImlib.create_image_from_xpm(_caution)
|
||||
self.text_obj.connect('focus-out-event',self.check)
|
||||
self.check(None,None)
|
||||
|
||||
def check(self,obj,val):
|
||||
text = self.input.get_text()
|
||||
"""Called with the text box loses focus. If the string contains a
|
||||
valid date, sets the appropriate pixmap"""
|
||||
|
||||
text = self.text_obj.get_text()
|
||||
self.checkval.set(text)
|
||||
if not self.checkval.isValid():
|
||||
self.output.load_imlib(self.bad)
|
||||
self.pixmap_obj.load_imlib(DateEdit.bad)
|
||||
elif self.checkval.getIncomplete():
|
||||
self.output.load_imlib(self.caution)
|
||||
self.pixmap_obj.load_imlib(DateEdit.caution)
|
||||
else:
|
||||
self.output.load_imlib(self.good)
|
||||
self.pixmap_obj.load_imlib(DateEdit.good)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user