Added documentation and Find functionality

svn: r384
This commit is contained in:
Don Allingham 2001-09-05 04:57:05 +00:00
parent 13d0bfa400
commit 3fca271178
69 changed files with 11055 additions and 754 deletions

View File

@ -4,6 +4,9 @@ bindir = @bindir@
datadir = @datadir@/@PACKAGE@
INSTALL = @INSTALL@
sharedir = ${prefix}/share/gramps
GNOMEHELP = @GNOMEHELP@/share/gnome/help
GM = gramps-manual
EG = extending-gramps
@SET_MAKE@
@ -21,6 +24,12 @@ install:
-${INSTALL} -d ${bindir}
-${INSTALL} -d ${sharedir}/example/gramps
-${INSTALL} -d ${sharedir}/example/gedcom
-${INSTALL} -d ${GNOMEHELP}/${GM}/C
-${INSTALL} -d ${GNOMEHELP}/${EG}/C
-${INSTALL} doc/${GM}/C/${GM}/*.html ${GNOMEHELP}/${GM}/C
-${INSTALL} doc/${GM}/C/${GM}/*.png ${GNOMEHELP}/${GM}/C
-${INSTALL} doc/${EG}/C/${EG}/*.html ${GNOMEHELP}/${EG}/C
-${INSTALL} doc/${EG}/C/${EG}/*.png ${GNOMEHELP}/${EG}/C
${INSTALL} gramps.sh ${bindir}/gramps
${INSTALL} doc/gramps.dtd ${sharedir}
-${INSTALL} example/gramps/*.jpg ${sharedir}/example/gramps

41
gramps/configure vendored
View File

@ -602,6 +602,7 @@ PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then
@ -633,7 +634,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:637: checking for a BSD compatible install" >&5
echo "configure:638: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -686,7 +687,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
echo "configure:690: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo "configure:691: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -716,7 +717,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:720: checking for $ac_word" >&5
echo "configure:721: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -746,7 +747,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:750: checking for $ac_word" >&5
echo "configure:751: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -797,7 +798,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:801: checking for $ac_word" >&5
echo "configure:802: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -829,7 +830,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
echo "configure:833: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
echo "configure:834: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@ -840,12 +841,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
#line 844 "configure"
#line 845 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
if { (eval echo configure:849: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@ -871,12 +872,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
echo "configure:875: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "configure:876: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
echo "configure:880: checking whether we are using GNU C" >&5
echo "configure:881: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -885,7 +886,7 @@ else
yes;
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:889: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@ -904,7 +905,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
echo "configure:908: checking whether ${CC-cc} accepts -g" >&5
echo "configure:909: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -940,7 +941,7 @@ fi
# Extract the first word of "gnome-config", so it can be a program name with args.
set dummy gnome-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:944: checking for $ac_word" >&5
echo "configure:945: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_HAVE_GNOME_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -967,10 +968,11 @@ else
echo "$ac_t""no" 1>&6
fi
GNOMEHELP=`gnome-config --prefix`
echo $ac_n "checking Python bindings for sax/xml""... $ac_c" 1>&6
echo "configure:974: checking Python bindings for sax/xml" >&5
echo "configure:976: checking Python bindings for sax/xml" >&5
cat > conftest.py <<EOF
try:
@ -1003,7 +1005,7 @@ fi
echo "$ac_t""ok" 1>&6
echo $ac_n "checking Python bindings for gtk+""... $ac_c" 1>&6
echo "configure:1007: checking Python bindings for gtk+" >&5
echo "configure:1009: checking Python bindings for gtk+" >&5
cat > conftest.py <<EOF
try:
@ -1029,7 +1031,7 @@ fi
echo "$ac_t""ok" 1>&6
echo $ac_n "checking Python bindings for GNOME""... $ac_c" 1>&6
echo "configure:1033: checking Python bindings for GNOME" >&5
echo "configure:1035: checking Python bindings for GNOME" >&5
cat > conftest.py <<EOF
try:
@ -1055,7 +1057,7 @@ fi
echo "$ac_t""ok" 1>&6
echo $ac_n "checking Python/libglade bindings""... $ac_c" 1>&6
echo "configure:1059: checking Python/libglade bindings" >&5
echo "configure:1061: checking Python/libglade bindings" >&5
cat > conftest.py <<EOF
try:
@ -1081,7 +1083,7 @@ fi
echo "$ac_t""ok" 1>&6
echo $ac_n "checking Python/GNOME bindings for libglade""... $ac_c" 1>&6
echo "configure:1085: checking Python/GNOME bindings for libglade" >&5
echo "configure:1087: checking Python/GNOME bindings for libglade" >&5
cat > conftest.py <<EOF
try:
@ -1109,7 +1111,7 @@ echo "$ac_t""ok" 1>&6
echo $ac_n "checking for headers required to compile python extensions""... $ac_c" 1>&6
echo "configure:1113: checking for headers required to compile python extensions" >&5
echo "configure:1115: checking for headers required to compile python extensions" >&5
py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
@ -1280,6 +1282,7 @@ s%@PYTHON@%$PYTHON%g
s%@ZIP@%$ZIP%g
s%@PYTHON_VERSION@%$PYTHON_VERSION%g
s%@PACKAGE@%$PACKAGE%g
s%@GNOMEHELP@%$GNOMEHELP%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
s%@INSTALL_DATA@%$INSTALL_DATA%g

View File

@ -15,6 +15,7 @@ changequote([, ])dnl
AC_SUBST(PYTHON)
AC_SUBST(PYTHON_VERSION)
AC_SUBST(PACKAGE)
AC_SUBST(GNOMEHELP)
AC_PROG_INSTALL
AC_PROG_MAKE_SET
@ -24,6 +25,7 @@ AC_PROG_CC
dnl Check for programs
AC_CHECK_PROG(HAVE_GNOME_CONFIG, gnome-config, "YES", "NO")
GNOMEHELP=`gnome-config --prefix`
dnl Check if python bindings for gtk are installed

View File

@ -0,0 +1,774 @@
<!DOCTYPE article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
<!ENTITY version "0.5.0"> <!-- replace with application version -->
]>
<!-- =============Document Header ============================= -->
<article id="index"> <!-- please do not change the id -->
<artheader>
<title>Writing Extentions for gramps</title>
<copyright>
<year>2001</year>
<holder>Donald N. Allingham</holder>
</copyright>
<!-- translators: uncomment this:
<copyright>
<year>2001</year>
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
-->
<!-- do not put authorname in the header except in copyright - use
section "authors" below -->
<!-- Use this legal notice for online documents which depend on -->
<!-- core GNOME packages. -->
<legalnotice id="legalnotice">
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <ulink type="help"
url="gnome-help:fdl"><citetitle>GNU Free Documentation
License</citetitle></ulink>, Version 1.1 or any later version
published by the Free Software Foundation with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy
of the license can be found <ulink type="help"
url="gnome-help:fdl">here</ulink>.
</para>
<para>
Many of the names used by companies to distinguish their products
and services are claimed as trademarks. Where those names appear
in any GNOME documentation, and those trademarks are made aware to
the members of the GNOME Documentation Project, the names have
been printed in caps or initial caps.
</para>
</legalnotice>
<!-- Use this legal notice for documents which are placed on -->
<!-- the web, shipped in any way other than online documents -->
<!-- (eg. PS, PDF, or RTF), or which do not depend on the -->
<!-- core GNOME distribution. -->
<!-- -->
<!-- If you use this version, you must place the following -->
<!-- line in the document declaration at the top of your -->
<!-- document: -->
<!-- <!ENTITY FDL SYSTEM "fdl.sgml"> -->
<!-- and the following line at the bottom of your document -->
<!-- after the last </sect1>. -->
<!-- &FDL; -->
<!--
<legalnotice id="legalnotice">
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <link linkend="fdl"><citetitle>GNU
Free Documentation License</citetitle></link>, Version 1.1 or any
later version published by the Free Software Foundation with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found in <xref linkend="fdl">.
</para>
<para>
Many of the names used by companies to distinguish their products
and services are claimed as trademarks. Where those names appear
in any GNOME documentation, and those trademarks are made aware to
the members of the GNOME Documentation Project, the names have
been printed in caps or initial caps.
</para>
</legalnotice>
-->
<!-- This is the manual version, not application version. -->
<releaseinfo>
This is version 1.0 of the Writing Extentions for gramps manual.
</releaseinfo>
</artheader>
<!-- ============= Introduction ============================== -->
<sect1 id="intro">
<title>Introduction</title>
<para>
<application>gramps</application> was intended from the start to
allow the user to extend it through a plugin system. Five types of
plugins are supported - filters, reports, tools, import filters,
and export filters. In a way, an export filter can be viewed as a
special type of report, and an import filter can be viewed as a
special type of tool.
</para>
<para>
All plugins are written in the <application>python</application>
language.
</para>
<sect2 id="intro_filter">
<title>Filters</title>
<para>
A filter is a plugin that be used to temporarily display or hide
individuals in the <interface>People View</interface>. The
filter is the simplest form of plugin, which only needs to
determine if a person meets or fails to meet its criteria. It
operates on a single person at a time.
</para>
<para>
Filters should never alter a database.
</para>
</sect2>
<sect2 id="intro_report">
<title>Reports</title>
<para>
A report is a plugin that generates output. The output may be in
either a interactive, graphical form, or as an output
file. Report plugins are passed a reference to the internal
database and a reference to the active person, which allows the
plugn to operate on a single person, the entire database, or
anything in between.
</para>
<para>
Plugins that conform to the reportplugin interface appear in the
<menuchoice>
<guimenu>Reports</guimenu>
</menuchoice>
menu and in the <interface>Report Selection</interface> dialog
box.
</para>
<para>
A report should never alter the database.
</para>
</sect2>
<sect2 id="intro_tool">
<title>Tools</title>
<para>
A tool is a plugin that alters the database. It may perform
something as small changing the case of some text to something
as complex as merging redundant individuals. Tools plugins are
passed a reference to the internal database, the active person,
and a callback function. The callback function is used to notify
the main program if it needs to update the display with any
modified information.
</para>
<para>
Plugins that conform to the tool plugin interface appear in the
<menuchoice>
<guimenu>Tools</guimenu>
</menuchoice>
menu and in the <interface>Tool Selection</interface> dialog
box.
</para>
<para>
A tool is allowed (and usually expected) to alter the database.
</para>
</sect2>
<sect2 id="intro_import">
<title>Import Filters</title>
<para>
An import filter is a plugin that adds information from another
source to the database. It is similar to a tool, but is called
differently to allow gramps to distinguish it from a tool.
</para>
<para>
Plugins that conform to the import filter calling syntax appear
in the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Import</guisubmenu>
</menuchoice>
menu.
</para>
<para>
An import filter is allowed to modify the database.
</para>
</sect2>
<sect2 id="intro_export">
<title>Export Filters</title>
<para>
An export filter is a plugin that translates the gramps database
into the format expected by another program. Since it generates
an output file, it is similar to a report generator. However,
its calling syntax is different, so that gramps knows how to
distiguish it from a report generator.
</para>
<para>
Plugins that conform to the export filter calling syntax appear
in the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Export</guisubmenu>
</menuchoice>
menu.
</para>
<para>
An export filter should not alter the database.
</para>
</sect2>
</sect1>
<!-- ============= Writing Filters ============================= -->
<sect1 id="writingfilters">
<title>Writing Filters</title>
<para>
Users can create their own filters and add them to
<application>gramps</application>. By adding the filter to the
user's private filter directory (<filename
class="directory">~/.gramps/filters</filename>), the filter will
be automatically recognized the next time that the program is
started.
</para>
<sect2 id="createfilter">
<title>Creating a filter</title>
<para>
Each filter is a class derived from the
<function>Filter.Filter</function> class. The
<function>__init__</function> task may be overridden, but if so,
should call the <function>__init__</function> function on the
<function>Filter.Filter</function> class. The parent class
provides the variable <function>self.text</function>, which
contains the text string passed as the qualifier. This string
provides additional information provided by the user. For
example, if the filter is used to match names, the qualifier
would be used to provide the name that is being compared
against.
</para>
<para>
All filter classes must define a <function>match</function>
function. The function takes one argument (other than
<function>self</function>), which is an object of type
<function>Person</function> to compare against. The function
should return a 1 if the person matches the filter, or a zero if
the person does not.
</para>
<para>
Each filter must be registered, so that
<application>gramps</application> knows about it. This is
accomplished by calling the
<function>Filter.register_filter</function> function. This
function takes three arguments - the filter class, a
description, and flag that indicates if the qualifier string is
needed. The description string appears in the pull down
interface within <application>gramps</application>, and helps
the user choose the appropriate filter. The qualifier flag tells
<application>gramps</application> whether or not the filter
needs a qualifier string. If this flag is 0,
<application>gramps</application> will disable the entry of a
qualifier string.
</para>
<figure id="filtersrc">
<title>Sample filter implementation</title>
<programlisting>
import Filter
import string
# class definition
class SubString(Filter.Filter):
def match(self,person):
name = person.getPrimaryName().getName()
return string.find(name,self.text) >= 0
Filter.register_filter(SubString,
description="Names that contain a substring",
qualifier=1)
</programlisting>
</figure>
</sect2>
</sect1>
<!-- ============= Writing Reports ============================= -->
<sect1 id="writingreports">
<title>Writing Reports</title>
<para>
Users can create their own report generators and add them to
<application>gramps</application>. By adding the report generator
to the user's private plugin directory (<filename
class="directory">~/.gramps/plugins</filename>), the report
generator will be automatically recognized the next time that the
program is started.
</para>
<sect2 id="createreport">
<title>Creating a report generator</title>
<para>
Fewer restrictions are made on report generators than on
filters. The report generator is passed the current
<application>gramps</application> database and the active
person. The generator needs to take special care to make sure
that it does not alter the database in anyway.
</para>
<para>
A report generator is a function that takes two arguments
&mdash; a database (of type <function>RelDataBase</function>)
and the currently selected person (of type
<function>Person</function>). When called, this task should
generate the desired report.
</para>
<para>
This function's implementation can be as simple as generating
output without the user's intervention, or it could display a
graphical interface to allow the user to select options and
customize a report.
</para>
<para>
As with filters, the report generator must be registered before
<application>gramps</application> will understand it. The report
generator is registered using the
<function>Plugins.register_report</function>. This function
takes five arguments.
</para>
<itemizedlist>
<listitem>
<para>
<guilabel>The report generation task</guilabel> This task
that generates the report.
</para>
</listitem>
<listitem>
<para>
<guilabel>The report category</guilabel> The category in
which the report is grouped in the
<menuchoice><guimenu>Reports</guimenu></menuchoice> menu and
in the <interface>Report Selection</interface> dialog.
</para>
</listitem>
<listitem>
<para>
<guilabel>The report name</guilabel>
The name of the report.
</para>
</listitem>
<listitem>
<para>
<guilabel>A text description of the report</guilabel> The
description appears in the report selection tool to provide
the user with a description of what the tools does.
</para>
</listitem>
<listitem>
<para>
<guilabel>A graphic logo in XPM format</guilabel> This may
be either a path to a filename, or a list of strings
containting the XPM data. If a filename is specified, care
must be taken to make sure the file location is relocatable
and can be determined at runtime.
</para>
</listitem>
</itemizedlist>
<para>
While only the task and report name are required, it is
recommended to provide all five parameters.
</para>
<figure id="reportsrc">
<title>Sample report implementation</title>
<programlisting>
import Plugins
def report(database,person):
... actual code ...
Plugins.register_report(
task=report,
category="Category",
name="Report Name",
description="A text descripition of the report generator",
xpm="%s/myfile.xpm" % os.path.dirname(__file__)
)
</programlisting>
</figure>
</sect2>
<sect2 id="alittlehelp">
<title>A little help - Format Interfaces</title>
<para>
<application>gramps</application> provides some help with
writing reports. Several generic python classes exist that aid
in the writing of report generators. These classes provide an
abstract interface for a type of document, such as a drawing,
word processor document, or a spreadsheet. From these core
classes, <application>gramps</application> derives interfaces to
various document formats. This means that by coding to the
generic word processing class (<function>TextDoc</function>), a
report generator can instant access to multiple file formats
(such as HTML, OpenOffice, and AbiWord).
</para>
<para>
This scheme of deriving a output format from a generic base
class also makes it easier to add new formats. Creating a new
derivied class targeting a different format (such as
<application>KWord</application> or
<application>LaTeX</application>) makes it easy for existing
report generators to use the new formats.
</para>
</sect2>
</sect1>
<!-- ============= Writing Tools ============================= -->
<sect1 id="writingtools">
<title>Writing Tools</title>
<para>
Users can create their own tools and add them to
<application>gramps</application>. By adding the tool to the
user's private plugin directory (<filename
class="directory">~/.gramps/plugins</filename>), the tool will be
automatically recognized the next time that
<application>gramps</application> is started.
</para>
<para>
Unlike a report generator, a tool is allowed to modify the
database. The tool is passed the current
<application>gramps</application> database, the active person,
and a callback function. The callback function should be called
with a non-zero argument upon completion of the tool if the
database has been altered.
</para>
<para>
As with filters and report generators, tools must be registered
before <application>gramps</application> will understand it. The
tool is registered using the
<function>Plugins.register_tool</function>. This function takes
four arguments.
</para>
<itemizedlist>
<listitem>
<para>
<guilabel>The tool task</guilabel> This task
that executes the tool.
</para>
</listitem>
<listitem>
<para>
<guilabel>The tool category</guilabel> The category in which
the tool is grouped in the
<menuchoice><guimenu>Tools</guimenu></menuchoice> menu and in
the <interface>Tool Selection</interface> dialog.
</para>
</listitem>
<listitem>
<para>
<guilabel>The tool name</guilabel>
The name of the tool.
</para>
</listitem>
<listitem>
<para>
<guilabel>A text description of the tool</guilabel> The
description appears in the Tool Selection dialog to provide
the user with a description of what the tool does.
</para>
</listitem>
</itemizedlist>
<para>
While only the task and report name are required, it is
recommended to provide all five parameters.
</para>
<figure id="toolsrc">
<title>Sample tool implementation</title>
<programlisting>
import Plugins
def tool(database,person,callback):
... actual code ...
callback(1)
Plugins.register_tool(
task=tool,
category="Category",
name="Tool Name",
description="A text descripition of the tool"
)
</programlisting>
</figure>
</sect1>
<!-- ============= Import Filters ============================= -->
<sect1 id="writingimportfilters">
<title>Writing Import Filters</title>
<para>
Import filters are similar to tools, since they are allowed to
modify the databases. An import filter is a task that accepts
three arguments &mdash; a database, the filename of the file that
is to be imported, and a callback function.
</para>
<para>
The database may or may not have data already in it. The import
filter cannot assume that data neither already exists nor that the
database is empty.
</para>
<para>
The callback function is different from the callback function used
for tools. The import filter's callback function is used to
indicate progress and update the status bar during the import
process. The function takes a value between 0.0 and 1.0, where 0.0
represents the start of the import and 1.0 represents the
completion of the import.
</para>
<para>
As with the other plugin types, an import filter must be
registered with <application>gramps</application>. This is
accomplished by calling the
<function>Plugins.register_import</function> task. The
<function>Plugins.register_import</function> accepts two arguments
&mdash; the function the performs the import and a string
providing a brief description. This description is used as the
menu entry under the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Import</guisubmenu>
</menuchoice>
menu.
</para>
<figure id="importexample">
<title>Sample Import Implementation</title>
<programlisting>
import Plugins
def gedcom_import(database,filename,callback):
... actual code ...
Plugins.register_import(gedcom_import,"GEDCOM import")
</programlisting>
</figure>
</sect1>
<!-- ============= Export Filters ============================= -->
<sect1 id="writingexportfilters">
<title>Writing Export Filters</title>
<para>
Export filters are similar to report generators. They are not
allowed to modify the database. An export filter accepts three
arguments &mdash; a database, the filename of the file that is to
be written, and a callback function.
</para>
<para>
The callback function is indentical from the callback function
used for import filters. The export filter's callback function is
used to indicate progress and update the status bar during the
export process. The function takes a value between 0.0 and 1.0,
where 0.0 represents the start of the export and 1.0 represents
the completion of the export.
</para>
<para>
As with the other plugin types, an export filter must be
registered with <application>gramps</application>. This is
accomplished by calling the
<function>Plugins.register_export</function> task. The
<function>Plugins.register_export</function> accepts two arguments
&mdash; the function the performs the import and a string
providing a brief description. This description is used as the
menu entry under the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Export</guisubmenu>
</menuchoice>
menu.
</para>
<figure id="exportexample">
<title>Sample Export Implementation</title>
<programlisting>
import Plugins
def gedcom_export(database,filename,callback):
... actual code ...
Plugins.register_export(gedcom_export,"GEDCOM export")
</programlisting>
</figure>
</sect1>
<sect1 id="commontasks">
<title>Common tasks</title>
<para>
While this manual does not document the
<application>gramps</application> database interface, this section
shows a few common tasks.
</para>
<sect2 id="gettingnames">
<title>Printing names of people</title>
<para>
This example shows how to display the name of people in the
database. It assumes that the database is called
<function>db</function>. To get a list of people, it calls the
<function>getPersonMap</function> method, which returns a map of
<application>gramps</application> ID to
<function>Person</function> objects. Calling the
<function>valus</function> method of the returned map returns a
list of people. For each person, the primary name is extracted,
and then the <function>Name</function> object's
<function>getName</function> method is called to build a
presentable name from the individual name components.
</para>
<figure id="displaynames">
<title>Displaying names</title>
<programlisting>
for person in db.getPersonMap().values():
name = person.getPrimaryName()
print name.getName()
</programlisting>
</figure>
</sect2>
<sect2 id="listingevents">
<title>Displaying the events of person</title>
<para>
This example shows how to display the public events associated
with a person. It assumes that the person is called
<function>person</function>.
</para>
<figure id="eventexample">
<title>Displaying Event Information</title>
<programlisting>
for event in person.getEventList():
if event.getPrivacy() == 0:
print "Event:",event.getName()
print "Date:",event.getDate()
print "Place:",event.getPlaceName()
</programlisting>
</figure>
</sect2>
<sect2 id="printfamily">
<title>Print the members of each family</title>
<para>
This example shows how to display the parents and children of
each family in the database. It assumes that the database is called
<function>db</function>.
</para>
<figure id="familyexample">
<title>Displaying Family Information</title>
<programlisting>
for family in db.getFamilyMap().values:
print "-------------------"
print "Family ID:",family.getId()
father = family.getFather()
if father != None:
print "Father:",father.getPrimaryName().getName()
mother = family.getMother()
if mother != None:
print "Mother:",mother.getPrimaryName().getName()
for child in family.getChildList():
print "Child:",child.getPrimaryName().getName()
</programlisting>
</figure>
</sect2>
<sect2 id="personsfamily">
<title>Display the marriages/relationships of a person</title>
<para>
This example shows how to display the families and relationships
in which the person is considered a spouse or parent. It assumes
that the person is called <function>person</function>.
</para>
<para>
Relationships between people can be complex. Because someone is
male, does not necessarily mean that the person will be
considered the "Father" of a relationship. In relationships of
type "Partners", the "father" and "mother" of the relationship
should be of the same gender. So to determine the spouse of a
person, it is usually best to compare the person against what is
returned by <function>getFather</function> and
<function>getMother</function> to find the one that is not
equal. It should also be noted that the
<function>getFather</function> and
<function>getMother</function> methods will return None if noone
has been associated with that role in the family.
</para>
<figure id="relexample">
<title>Displaying Relationship Information</title>
<programlisting>
for family in person.getFamilyList():
print "-------------------"
print "Family ID:",family.getId()
print "Relationship Type:",family.getRelationship()
father = family.getFather()
if father != None and father != person:
print "Spouse:",father.getPrimaryName().getName()
mother = family.getMother()
if mother != None and mother != person:
print "Spouse:",mother.getPrimaryName().getName()
</programlisting>
</figure>
</sect2>
</sect1>
<!-- ============= Authors ================================ -->
<sect1 id="authors">
<title>Authors</title>
<para>
<application>gramps</application> was written by Don Allingham
(<email>dallingham@users.sourceforge.net</email>). To find more
information about <application>gramps</application>, please visit
the <ulink url="http://gramps.sourceforge.net" type="http">gramps
web page</ulink>.
</para>
<para>
This manual was written by Don Allingham
(<email>donaldallingham@home.com</email>).
</para>
<!-- For translations: uncomment this:
<para>
Latin translation was done by ME
(<email>MYNAME@MYADDRESS</email>). Please send all comments and
suggestions regarding this translation to SOMEWHERE.
</para>
-->
</sect1>
<!-- ============= Application License ============================= -->
<sect1 id="license">
<title>License</title>
<para>
This program is free software; you can redistribute it and/or
modify it under the terms of the <ulink type="help"
url="gnome-help:gpl"> <citetitle>GNU General Public
License</citetitle></ulink> as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
any later version.
</para>
<para>
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<citetitle>GNU General Public License</citetitle> for more
details.
</para>
<para>
A copy of the <citetitle>GNU General Public License</citetitle> is
included as an appendix to the <citetitle>GNOME Users
Guide</citetitle>. You may also obtain a copy of the
<citetitle>GNU General Public License</citetitle> from the Free
Software Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing to
<address>
Free Software Foundation, Inc. <street>59 Temple Place</street> -
Suite 330 <city>Boston</city>, <state>MA</state>
<postcode>02111-1307</postcode> <country>USA</country>
</address>
</para>
</sect1>
</article>

View File

@ -0,0 +1,163 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Authors</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Common tasks"
HREF="commontasks.html"><LINK
REL="NEXT"
TITLE="License"
HREF="license.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="commontasks.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="license.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AUTHORS"
>Authors</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> was written by Don Allingham
(<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:dallingham@users.sourceforge.net"
>dallingham@users.sourceforge.net</A
>&#62;</TT
>). To find more
information about <TT
CLASS="APPLICATION"
>gramps</TT
>, please visit
the <A
HREF="http://gramps.sourceforge.net"
TARGET="_top"
>gramps
web page</A
>.
</P
><P
> This manual was written by Don Allingham
(<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:donaldallingham@home.com"
>donaldallingham@home.com</A
>&#62;</TT
>).
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="commontasks.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="license.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Common tasks</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>License</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,379 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Common tasks</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Writing Export Filters"
HREF="writingexportfilters.html"><LINK
REL="NEXT"
TITLE="Authors"
HREF="authors.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="writingexportfilters.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="authors.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="COMMONTASKS"
>Common tasks</A
></H1
><P
> While this manual does not document the
<TT
CLASS="APPLICATION"
>gramps</TT
> database interface, this section
shows a few common tasks.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="GETTINGNAMES"
>Printing names of people</A
></H2
><P
> This example shows how to display the name of people in the
database. It assumes that the database is called
<TT
CLASS="FUNCTION"
>db</TT
>. To get a list of people, it calls the
<TT
CLASS="FUNCTION"
>getPersonMap</TT
> method, which returns a map of
<TT
CLASS="APPLICATION"
>gramps</TT
> ID to
<TT
CLASS="FUNCTION"
>Person</TT
> objects. Calling the
<TT
CLASS="FUNCTION"
>valus</TT
> method of the returned map returns a
list of people. For each person, the primary name is extracted,
and then the <TT
CLASS="FUNCTION"
>Name</TT
> object's
<TT
CLASS="FUNCTION"
>getName</TT
> method is called to build a
presentable name from the individual name components.
</P
><DIV
CLASS="FIGURE"
><A
NAME="DISPLAYNAMES"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;for person in db.getPersonMap().values():
name = person.getPrimaryName()
print name.getName()
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 6. Displaying names</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="LISTINGEVENTS"
>Displaying the events of person</A
></H2
><P
> This example shows how to display the public events associated
with a person. It assumes that the person is called
<TT
CLASS="FUNCTION"
>person</TT
>.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EVENTEXAMPLE"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;for event in person.getEventList():
if event.getPrivacy() == 0:
print "Event:",event.getName()
print "Date:",event.getDate()
print "Place:",event.getPlaceName()
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 7. Displaying Event Information</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PRINTFAMILY"
>Print the members of each family</A
></H2
><P
> This example shows how to display the parents and children of
each family in the database. It assumes that the database is called
<TT
CLASS="FUNCTION"
>db</TT
>.
</P
><DIV
CLASS="FIGURE"
><A
NAME="FAMILYEXAMPLE"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;for family in db.getFamilyMap().values:
print "-------------------"
print "Family ID:",family.getId()
father = family.getFather()
if father != None:
print "Father:",father.getPrimaryName().getName()
mother = family.getMother()
if mother != None:
print "Mother:",mother.getPrimaryName().getName()
for child in family.getChildList():
print "Child:",child.getPrimaryName().getName()
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 8. Displaying Family Information</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PERSONSFAMILY"
>Display the marriages/relationships of a person</A
></H2
><P
> This example shows how to display the families and relationships
in which the person is considered a spouse or parent. It assumes
that the person is called <TT
CLASS="FUNCTION"
>person</TT
>.
</P
><P
> Relationships between people can be complex. Because someone is
male, does not necessarily mean that the person will be
considered the "Father" of a relationship. In relationships of
type "Partners", the "father" and "mother" of the relationship
should be of the same gender. So to determine the spouse of a
person, it is usually best to compare the person against what is
returned by <TT
CLASS="FUNCTION"
>getFather</TT
> and
<TT
CLASS="FUNCTION"
>getMother</TT
> to find the one that is not
equal. It should also be noted that the
<TT
CLASS="FUNCTION"
>getFather</TT
> and
<TT
CLASS="FUNCTION"
>getMother</TT
> methods will return None if noone
has been associated with that role in the family.
</P
><DIV
CLASS="FIGURE"
><A
NAME="RELEXAMPLE"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;for family in person.getFamilyList():
print "-------------------"
print "Family ID:",family.getId()
print "Relationship Type:",family.getRelationship()
father = family.getFather()
if father != None and father != person:
print "Spouse:",father.getPrimaryName().getName()
mother = family.getMother()
if mother != None and mother != person:
print "Spouse:",mother.getPrimaryName().getName()
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 9. Displaying Relationship Information</B
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="writingexportfilters.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="authors.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Writing Export Filters</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Authors</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,319 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Writing Extentions for gramps</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="NEXT"
TITLE="Writing Filters"
HREF="writingfilters.html"></HEAD
><BODY
CLASS="ARTICLE"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="ARTICLE"
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
>Writing Extentions for gramps</A
></H1
><P
CLASS="COPYRIGHT"
><A
HREF="ln7.html"
>Copyright</A
> &copy; 2001 by Donald N. Allingham</P
><HR
WIDTH="75%"
ALIGN="CENTER"
COLOR="#000000"
SIZE="1"></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="index.html#INTRO"
>Introduction</A
></DT
><DT
><A
HREF="writingfilters.html"
>Writing Filters</A
></DT
><DT
><A
HREF="writingreports.html"
>Writing Reports</A
></DT
><DT
><A
HREF="writingtools.html"
>Writing Tools</A
></DT
><DT
><A
HREF="writingimportfilters.html"
>Writing Import Filters</A
></DT
><DT
><A
HREF="writingexportfilters.html"
>Writing Export Filters</A
></DT
><DT
><A
HREF="commontasks.html"
>Common tasks</A
></DT
><DT
><A
HREF="authors.html"
>Authors</A
></DT
><DT
><A
HREF="license.html"
>License</A
></DT
></DL
></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="INTRO"
>Introduction</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> was intended from the start to
allow the user to extend it through a plugin system. Five types of
plugins are supported - filters, reports, tools, import filters,
and export filters. In a way, an export filter can be viewed as a
special type of report, and an import filter can be viewed as a
special type of tool.
</P
><P
> All plugins are written in the <TT
CLASS="APPLICATION"
>python</TT
>
language.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="INTRO_FILTER"
>Filters</A
></H2
><P
> A filter is a plugin that be used to temporarily display or hide
individuals in the <SPAN
CLASS="INTERFACE"
>People View</SPAN
>. The
filter is the simplest form of plugin, which only needs to
determine if a person meets or fails to meet its criteria. It
operates on a single person at a time.
</P
><P
> Filters should never alter a database.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="INTRO_REPORT"
>Reports</A
></H2
><P
> A report is a plugin that generates output. The output may be in
either a interactive, graphical form, or as an output
file. Report plugins are passed a reference to the internal
database and a reference to the active person, which allows the
plugn to operate on a single person, the entire database, or
anything in between.
</P
><P
> Plugins that conform to the reportplugin interface appear in the
<B
CLASS="GUIMENU"
>Reports</B
>
menu and in the <SPAN
CLASS="INTERFACE"
>Report Selection</SPAN
> dialog
box.
</P
><P
> A report should never alter the database.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="INTRO_TOOL"
>Tools</A
></H2
><P
> A tool is a plugin that alters the database. It may perform
something as small changing the case of some text to something
as complex as merging redundant individuals. Tools plugins are
passed a reference to the internal database, the active person,
and a callback function. The callback function is used to notify
the main program if it needs to update the display with any
modified information.
</P
><P
> Plugins that conform to the tool plugin interface appear in the
<B
CLASS="GUIMENU"
>Tools</B
>
menu and in the <SPAN
CLASS="INTERFACE"
>Tool Selection</SPAN
> dialog
box.
</P
><P
> A tool is allowed (and usually expected) to alter the database.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="INTRO_IMPORT"
>Import Filters</A
></H2
><P
> An import filter is a plugin that adds information from another
source to the database. It is similar to a tool, but is called
differently to allow gramps to distinguish it from a tool.
</P
><P
> Plugins that conform to the import filter calling syntax appear
in the
<B
CLASS="GUIMENU"
>File</B
>-&gt;<B
CLASS="GUISUBMENU"
>Import</B
>
menu.
</P
><P
> An import filter is allowed to modify the database.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="INTRO_EXPORT"
>Export Filters</A
></H2
><P
> An export filter is a plugin that translates the gramps database
into the format expected by another program. Since it generates
an output file, it is similar to a report generator. However,
its calling syntax is different, so that gramps knows how to
distiguish it from a report generator.
</P
><P
> Plugins that conform to the export filter calling syntax appear
in the
<B
CLASS="GUIMENU"
>File</B
>-&gt;<B
CLASS="GUISUBMENU"
>Export</B
>
menu.
</P
><P
> An export filter should not alter the database.
</P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="writingfilters.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Writing Filters</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,187 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>License</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Authors"
HREF="authors.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="authors.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
>&nbsp;</TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="LICENSE"
>License</A
></H1
><P
> This program is free software; you can redistribute it and/or
modify it under the terms of the <A
HREF="gnome-help:gpl"
TARGET="_top"
> <I
CLASS="CITETITLE"
>GNU General Public
License</I
></A
> as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
any later version.
</P
><P
> This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<I
CLASS="CITETITLE"
>GNU General Public License</I
> for more
details.
</P
><P
> A copy of the <I
CLASS="CITETITLE"
>GNU General Public License</I
> is
included as an appendix to the <I
CLASS="CITETITLE"
>GNOME Users
Guide</I
>. You may also obtain a copy of the
<I
CLASS="CITETITLE"
>GNU General Public License</I
> from the Free
Software Foundation by visiting <A
HREF="http://www.fsf.org"
TARGET="_top"
>their Web site</A
> or by writing to
<P
CLASS="ADDRESS"
>&nbsp;&nbsp;&nbsp;&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.&nbsp;&nbsp;<SPAN
CLASS="STREET"
>59 Temple Place</SPAN
>&nbsp;-<br>
&nbsp;&nbsp;&nbsp;&nbsp;Suite&nbsp;330&nbsp;<SPAN
CLASS="CITY"
>Boston</SPAN
>,&nbsp;<SPAN
CLASS="STATE"
>MA</SPAN
><br>
&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
CLASS="POSTCODE"
>02111-1307</SPAN
>&nbsp;<SPAN
CLASS="COUNTRY"
>USA</SPAN
><br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="authors.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Authors</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,128 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="UP"
TITLE="Writing Extentions for gramps"
HREF="index.html#AEN2"><LINK
REL="NEXT"
TITLE="Writing Filters"
HREF="writingfilters.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="LEGALNOTICE"
><A
NAME="LEGALNOTICE"
></A
><P
></P
><P
> Permission is granted to copy, distribute and/or modify this
document under the terms of the <A
HREF="gnome-help:fdl"
TARGET="_top"
><I
CLASS="CITETITLE"
>GNU Free Documentation
License</I
></A
>, Version 1.1 or any later version
published by the Free Software Foundation with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy
of the license can be found <A
HREF="gnome-help:fdl"
TARGET="_top"
>here</A
>.
</P
><P
> Many of the names used by companies to distinguish their products
and services are claimed as trademarks. Where those names appear
in any GNOME documentation, and those trademarks are made aware to
the members of the GNOME Documentation Project, the names have
been printed in caps or initial caps.
</P
><P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html#AEN2"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,200 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Writing Export Filters</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Writing Import Filters"
HREF="writingimportfilters.html"><LINK
REL="NEXT"
TITLE="Common tasks"
HREF="commontasks.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="writingimportfilters.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="commontasks.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="WRITINGEXPORTFILTERS"
>Writing Export Filters</A
></H1
><P
> Export filters are similar to report generators. They are not
allowed to modify the database. An export filter accepts three
arguments &#8212; a database, the filename of the file that is to
be written, and a callback function.
</P
><P
> The callback function is indentical from the callback function
used for import filters. The export filter's callback function is
used to indicate progress and update the status bar during the
export process. The function takes a value between 0.0 and 1.0,
where 0.0 represents the start of the export and 1.0 represents
the completion of the export.
</P
><P
> As with the other plugin types, an export filter must be
registered with <TT
CLASS="APPLICATION"
>gramps</TT
>. This is
accomplished by calling the
<TT
CLASS="FUNCTION"
>Plugins.register_export</TT
> task. The
<TT
CLASS="FUNCTION"
>Plugins.register_export</TT
> accepts two arguments
&#8212; the function the performs the import and a string
providing a brief description. This description is used as the
menu entry under the
<B
CLASS="GUIMENU"
>File</B
>-&gt;<B
CLASS="GUISUBMENU"
>Export</B
>
menu.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EXPORTEXAMPLE"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;import Plugins
def gedcom_export(database,filename,callback):
... actual code ...
Plugins.register_export(gedcom_export,"GEDCOM export")
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 5. Sample Export Implementation</B
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="writingimportfilters.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="commontasks.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Writing Import Filters</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Common tasks</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,264 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Writing Filters</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="NEXT"
TITLE="Writing Reports"
HREF="writingreports.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="index.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="writingreports.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="WRITINGFILTERS"
>Writing Filters</A
></H1
><P
> Users can create their own filters and add them to
<TT
CLASS="APPLICATION"
>gramps</TT
>. By adding the filter to the
user's private filter directory (<TT
CLASS="FILENAME"
>~/.gramps/filters</TT
>), the filter will
be automatically recognized the next time that the program is
started.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CREATEFILTER"
>Creating a filter</A
></H2
><P
> Each filter is a class derived from the
<TT
CLASS="FUNCTION"
>Filter.Filter</TT
> class. The
<TT
CLASS="FUNCTION"
>__init__</TT
> task may be overridden, but if so,
should call the <TT
CLASS="FUNCTION"
>__init__</TT
> function on the
<TT
CLASS="FUNCTION"
>Filter.Filter</TT
> class. The parent class
provides the variable <TT
CLASS="FUNCTION"
>self.text</TT
>, which
contains the text string passed as the qualifier. This string
provides additional information provided by the user. For
example, if the filter is used to match names, the qualifier
would be used to provide the name that is being compared
against.
</P
><P
> All filter classes must define a <TT
CLASS="FUNCTION"
>match</TT
>
function. The function takes one argument (other than
<TT
CLASS="FUNCTION"
>self</TT
>), which is an object of type
<TT
CLASS="FUNCTION"
>Person</TT
> to compare against. The function
should return a 1 if the person matches the filter, or a zero if
the person does not.
</P
><P
> Each filter must be registered, so that
<TT
CLASS="APPLICATION"
>gramps</TT
> knows about it. This is
accomplished by calling the
<TT
CLASS="FUNCTION"
>Filter.register_filter</TT
> function. This
function takes three arguments - the filter class, a
description, and flag that indicates if the qualifier string is
needed. The description string appears in the pull down
interface within <TT
CLASS="APPLICATION"
>gramps</TT
>, and helps
the user choose the appropriate filter. The qualifier flag tells
<TT
CLASS="APPLICATION"
>gramps</TT
> whether or not the filter
needs a qualifier string. If this flag is 0,
<TT
CLASS="APPLICATION"
>gramps</TT
> will disable the entry of a
qualifier string.
</P
><DIV
CLASS="FIGURE"
><A
NAME="FILTERSRC"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;import Filter
import string
# class definition
class SubString(Filter.Filter):
def match(self,person):
name = person.getPrimaryName().getName()
return string.find(name,self.text) &#62;= 0
Filter.register_filter(SubString,
description="Names that contain a substring",
qualifier=1)
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 1. Sample filter implementation</B
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="writingreports.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Writing Extentions for gramps</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Writing Reports</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,205 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Writing Import Filters</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Writing Tools"
HREF="writingtools.html"><LINK
REL="NEXT"
TITLE="Writing Export Filters"
HREF="writingexportfilters.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="writingtools.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="writingexportfilters.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="WRITINGIMPORTFILTERS"
>Writing Import Filters</A
></H1
><P
> Import filters are similar to tools, since they are allowed to
modify the databases. An import filter is a task that accepts
three arguments &#8212; a database, the filename of the file that
is to be imported, and a callback function.
</P
><P
> The database may or may not have data already in it. The import
filter cannot assume that data neither already exists nor that the
database is empty.
</P
><P
> The callback function is different from the callback function used
for tools. The import filter's callback function is used to
indicate progress and update the status bar during the import
process. The function takes a value between 0.0 and 1.0, where 0.0
represents the start of the import and 1.0 represents the
completion of the import.
</P
><P
> As with the other plugin types, an import filter must be
registered with <TT
CLASS="APPLICATION"
>gramps</TT
>. This is
accomplished by calling the
<TT
CLASS="FUNCTION"
>Plugins.register_import</TT
> task. The
<TT
CLASS="FUNCTION"
>Plugins.register_import</TT
> accepts two arguments
&#8212; the function the performs the import and a string
providing a brief description. This description is used as the
menu entry under the
<B
CLASS="GUIMENU"
>File</B
>-&gt;<B
CLASS="GUISUBMENU"
>Import</B
>
menu.
</P
><DIV
CLASS="FIGURE"
><A
NAME="IMPORTEXAMPLE"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;import Plugins
def gedcom_import(database,filename,callback):
... actual code ...
Plugins.register_import(gedcom_import,"GEDCOM import")
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 4. Sample Import Implementation</B
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="writingtools.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="writingexportfilters.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Writing Tools</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Writing Export Filters</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,347 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Writing Reports</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Writing Filters"
HREF="writingfilters.html"><LINK
REL="NEXT"
TITLE="Writing Tools"
HREF="writingtools.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="writingfilters.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="writingtools.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="WRITINGREPORTS"
>Writing Reports</A
></H1
><P
> Users can create their own report generators and add them to
<TT
CLASS="APPLICATION"
>gramps</TT
>. By adding the report generator
to the user's private plugin directory (<TT
CLASS="FILENAME"
>~/.gramps/plugins</TT
>), the report
generator will be automatically recognized the next time that the
program is started.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CREATEREPORT"
>Creating a report generator</A
></H2
><P
> Fewer restrictions are made on report generators than on
filters. The report generator is passed the current
<TT
CLASS="APPLICATION"
>gramps</TT
> database and the active
person. The generator needs to take special care to make sure
that it does not alter the database in anyway.
</P
><P
> A report generator is a function that takes two arguments
&#8212; a database (of type <TT
CLASS="FUNCTION"
>RelDataBase</TT
>)
and the currently selected person (of type
<TT
CLASS="FUNCTION"
>Person</TT
>). When called, this task should
generate the desired report.
</P
><P
> This function's implementation can be as simple as generating
output without the user's intervention, or it could display a
graphical interface to allow the user to select options and
customize a report.
</P
><P
> As with filters, the report generator must be registered before
<TT
CLASS="APPLICATION"
>gramps</TT
> will understand it. The report
generator is registered using the
<TT
CLASS="FUNCTION"
>Plugins.register_report</TT
>. This function
takes five arguments.
</P
><P
></P
><UL
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>The report generation task</B
></TT
> This task
that generates the report.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>The report category</B
></TT
> The category in
which the report is grouped in the
<B
CLASS="GUIMENU"
>Reports</B
> menu and
in the <SPAN
CLASS="INTERFACE"
>Report Selection</SPAN
> dialog.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>The report name</B
></TT
>
The name of the report.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>A text description of the report</B
></TT
> The
description appears in the report selection tool to provide
the user with a description of what the tools does.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>A graphic logo in XPM format</B
></TT
> This may
be either a path to a filename, or a list of strings
containting the XPM data. If a filename is specified, care
must be taken to make sure the file location is relocatable
and can be determined at runtime.
</P
></LI
></UL
><P
> While only the task and report name are required, it is
recommended to provide all five parameters.
</P
><DIV
CLASS="FIGURE"
><A
NAME="REPORTSRC"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;import Plugins
def report(database,person):
... actual code ...
Plugins.register_report(
task=report,
category="Category",
name="Report Name",
description="A text descripition of the report generator",
xpm="%s/myfile.xpm" % os.path.dirname(__file__)
)
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 2. Sample report implementation</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="ALITTLEHELP"
>A little help - Format Interfaces</A
></H2
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> provides some help with
writing reports. Several generic python classes exist that aid
in the writing of report generators. These classes provide an
abstract interface for a type of document, such as a drawing,
word processor document, or a spreadsheet. From these core
classes, <TT
CLASS="APPLICATION"
>gramps</TT
> derives interfaces to
various document formats. This means that by coding to the
generic word processing class (<TT
CLASS="FUNCTION"
>TextDoc</TT
>), a
report generator can instant access to multiple file formats
(such as HTML, OpenOffice, and AbiWord).
</P
><P
> This scheme of deriving a output format from a generic base
class also makes it easier to add new formats. Creating a new
derivied class targeting a different format (such as
<TT
CLASS="APPLICATION"
>KWord</TT
> or
<TT
CLASS="APPLICATION"
>LaTeX</TT
>) makes it easy for existing
report generators to use the new formats.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="writingfilters.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="writingtools.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Writing Filters</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Writing Tools</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,265 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Writing Tools</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Writing Extentions for gramps"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Writing Reports"
HREF="writingreports.html"><LINK
REL="NEXT"
TITLE="Writing Import Filters"
HREF="writingimportfilters.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Writing Extentions for gramps</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="writingreports.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="writingimportfilters.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="WRITINGTOOLS"
>Writing Tools</A
></H1
><P
> Users can create their own tools and add them to
<TT
CLASS="APPLICATION"
>gramps</TT
>. By adding the tool to the
user's private plugin directory (<TT
CLASS="FILENAME"
>~/.gramps/plugins</TT
>), the tool will be
automatically recognized the next time that
<TT
CLASS="APPLICATION"
>gramps</TT
> is started.
</P
><P
> Unlike a report generator, a tool is allowed to modify the
database. The tool is passed the current
<TT
CLASS="APPLICATION"
>gramps</TT
> database, the active person,
and a callback function. The callback function should be called
with a non-zero argument upon completion of the tool if the
database has been altered.
</P
><P
> As with filters and report generators, tools must be registered
before <TT
CLASS="APPLICATION"
>gramps</TT
> will understand it. The
tool is registered using the
<TT
CLASS="FUNCTION"
>Plugins.register_tool</TT
>. This function takes
four arguments.
</P
><P
></P
><UL
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>The tool task</B
></TT
> This task
that executes the tool.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>The tool category</B
></TT
> The category in which
the tool is grouped in the
<B
CLASS="GUIMENU"
>Tools</B
> menu and in
the <SPAN
CLASS="INTERFACE"
>Tool Selection</SPAN
> dialog.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>The tool name</B
></TT
>
The name of the tool.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>A text description of the tool</B
></TT
> The
description appears in the Tool Selection dialog to provide
the user with a description of what the tool does.
</P
></LI
></UL
><P
> While only the task and report name are required, it is
recommended to provide all five parameters.
</P
><DIV
CLASS="FIGURE"
><A
NAME="TOOLSRC"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#13;import Plugins
def tool(database,person,callback):
... actual code ...
callback(1)
Plugins.register_tool(
task=tool,
category="Category",
name="Tool Name",
description="A text descripition of the tool"
)
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 3. Sample tool implementation</B
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="writingreports.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="writingimportfilters.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Writing Reports</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Writing Import Filters</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -0,0 +1,177 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Authors</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Running Tools"
HREF="runtools.html"><LINK
REL="NEXT"
TITLE="License"
HREF="license.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="runtools.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="license.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AUTHORS"
>Authors</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> was written by Don Allingham
(<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:dallingham@users.sourceforge.net"
>dallingham@users.sourceforge.net</A
>&#62;</TT
>). To find more
information about <TT
CLASS="APPLICATION"
>gramps</TT
>, please visit
the <A
HREF="http://gramps.sourceforge.net"
TARGET="_top"
>gramps
Web page</A
>.
</P
><P
> This manual was written by Don Allingham
(<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:donaldallingham@home.com"
>donaldallingham@home.com</A
>&#62;</TT
>), Larry Allingham
(<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:llkla@erinet.com"
>llkla@erinet.com</A
>&#62;</TT
>), and Shawn Ann Griffith
(<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:shawnann1@home.com"
>shawnann1@home.com</A
>&#62;</TT
>).
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="runtools.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="license.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Running Tools</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>License</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,207 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Bookmarking People</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Place View"
HREF="placelist.html"><LINK
REL="NEXT"
TITLE="Customization"
HREF="prefs.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="placelist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="prefs.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="BOOKMARKS"
>Bookmarking People</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> supports two mechanisms to
quickly find people - the home person and bookmarks.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="HOMEPERSON"
>Home Person</A
></H2
><P
> The home person is the default person of the database. Upon
loading the database, <TT
CLASS="APPLICATION"
>gramps</TT
> will set
the active person to the default person. At any time, clicking
the <B
CLASS="GUIBUTTON"
>Home</B
> button will return the active
person to the home person.
</P
><P
> The home person can be set by choosing
<B
CLASS="GUIMENU"
>Settings</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Set Default Person</B
>.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="BKMARKS"
>Bookmarks</A
></H2
><P
> Bookmarks work similar to bookmarks in HTML browsers. They
allow you to quickly jump to a person, making that person the
active person. This allows you to avoid searching for them
everytime you want to add/change something in their information.
Choosing
<B
CLASS="GUIMENU"
>Bookmarks</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Add Bookmark</B
>
adds the current active person to the bookmark list. The person
will then appear in the bookmark list, allowing you to quickly
select the person.
</P
><P
> Choosing
<B
CLASS="GUIMENU"
>Bookmarks</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Edit Bookmarks</B
>
displays a dialog box that allows you to reorder or delete
bookmarks in the list.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="placelist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="prefs.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Place View</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Customization</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,133 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Known Bugs and Limitations</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Running Tools"
HREF="runtools.html"><LINK
REL="NEXT"
TITLE="Authors"
HREF="authors.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="runtools.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="authors.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="BUGS"
>Known Bugs and Limitations</A
></H1
><P
> This application has no known bugs.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="runtools.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="authors.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Running Tools</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Authors</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -0,0 +1,337 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Family View</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Editing a person's data"
HREF="x124.html"><LINK
REL="NEXT"
TITLE="Pedegree View"
HREF="pedegreeview.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x124.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="pedegreeview.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="FAMILYVIEW"
>Family View</A
></H1
><P
> The Family View window displays the spouses, parents, and children
of the active person. At any time, you can return to the this view
either by pressing the <B
CLASS="GUIBUTTON"
>Family</B
> button at the
top of the screen, or by choosing the
<B
CLASS="GUIMENU"
>View</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Family View</B
>
entry from the menus.
</P
><DIV
CLASS="FIGURE"
><A
NAME="FAMILYVIEW-FIG"
></A
><P
><IMG
SRC="familyview.png"></P
><P
><B
>Figure 13. Family View</B
></P
></DIV
><P
> In the Family View, the family information related to the active
person is displayed. This information falls into two categories:
families in which the person is a child, and families in which
person is a spouse or parent.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AP_PARENTS"
>Relationships to Parents</A
></H2
><P
> On the right hand side of the window displays the parents of the
active person. By default, a birth relationship is
assumed. <TT
CLASS="APPLICATION"
>gramps</TT
> supports multiple
family relationships for each person. For example, a person may
have natural birth parents and adopted parents. In this case, an
option menu will appear below the parents names, allowing you to
choose which set of parents you which to view.
</P
><P
>
Pressing the <B
CLASS="GUIBUTTON"
>Add/Edit Parents</B
>
allows you to choose the active person's parents and specify the
person's relationship to the parents.
</P
><P
> Pressing the <B
CLASS="GUIBUTTON"
>Delete Parents</B
> does not
remove the parents from the database, but instead deletes the
relationship between the active person and the currently displayed
parents.
</P
><P
> To right of the names of the parents are two "arrow"
buttons. Selecting the button next to the father changes the
father to the active person, and displays the fathers
information in the Family View window. Similarly, selecting the
button next to the mother changes the mother to the active
person.
</P
><P
> To the left of the parents' names are buttons indicating the
relationship to the active person. These are typically labeled
"Father" and "Mother", but in some cases may simply be labeled
"Parent". Pressing one of these buttons will display the
<SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> for the corresponding person.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="SP_RELATIONSHIPS"
>Marriage/Relationship Information</A
></H2
><P
> On the left side of the window, below the active person's name,
is the information related to the person's marriages and
relationships. If the person has one or no relationships, the
spouse will appear within a non-editable text box. If more that
one relationships exist, the text box will be replaced with an
option menu that allows you to select the relationship to view.
</P
><P
> Between the active person and the relationship information is a
button with two arrows. Pressing this button will exchange the
active person and spouse on the display. The currently displayed
spouse will become the active person, and the family information
on the right hand side of the screen will change to reflect
this.
</P
><P
> Pressing the <B
CLASS="GUIBUTTON"
>Spouse</B
> next to the spouse's
name will display the currently displayed spouse's information
in an <SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> dialog, allowing you
change the information
</P
><P
> Pressing the <B
CLASS="GUIBUTTON"
>Add</B
> located below the entry
for the spouse's name allows a new relationship to be
added. This gives you the opportunity to select and existing
person or to add a new person as the new spouse. The type of
relationship can also be specified. All relationship types,
except "Partners" require that the spouses be of opposite
sex. The "Partners" relationship type requires that the spouses
be of the same sex.
</P
><P
> Pressing the <B
CLASS="GUIBUTTON"
>Edit</B
> button allows you to
edit the information related to the marriage. The information
includes events, attributes, and images.
</P
><P
> The <B
CLASS="GUIBUTTON"
>Remove</B
> button removes the current
spouse from the relationship. If no children exist in the
relationship, the entire relationship is removed. If children
exist in the relationship, the the current spouse is removed,
and the children remain in a family with active person as the
only parent.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="SP_CHILDREN"
>Children of a Relationship</A
></H2
><P
> The bottom of the window contains the list of children related
to the active person and the currently selected spouse. Clicking
on an entry in the list makes that child the active child.
</P
><P
> Clicking the <B
CLASS="GUIBUTTON"
>Add New Child</B
> creates a new
child and adds him or her as a child of the current
relationship. Clicking the <B
CLASS="GUIBUTTON"
>Add Existing
Child</B
> allows you to select an existing person and
assign the person as a child of the current
relationship. Clicking the <B
CLASS="GUIBUTTON"
>Remove Child</B
>
removes the active child from the current relationship, but does
not delete the person from the database.
</P
><P
> Double clicking on a entry in the list brings up the
<SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> dialog for the child.
</P
><P
> You are able to make the selected child the active person by
clicking the arrow button next to the child list. The
highlighted child in the child list becomes the active person.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x124.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="pedegreeview.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Editing a person's data</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Pedegree View</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,171 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Running gramps for the first time.</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="NEXT"
TITLE="Getting Started"
HREF="gettingstarted.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="index.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gettingstarted.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="FIRSTTIME"
>Running gramps for the first time.</A
></H1
><P
> The first time you run the program,
<TT
CLASS="APPLICATION"
>gramps</TT
> will display its Getting Started
screens.
</P
><DIV
CLASS="FIGURE"
><A
NAME="DRUIDPG1"
></A
><P
><IMG
SRC="druidpg1.png"></P
><P
><B
>Figure 1. Getting Started screen, page 1</B
></P
></DIV
><P
> The second page of the start up screens will prompt you for
some personal information. This information is optional, and
can be changed at any time. The information will be used to
establish your copyright on the information, and to provide
information needed for valid GEDCOM exporting.
</P
><DIV
CLASS="FIGURE"
><A
NAME="DRUIDPG2"
></A
><P
><IMG
SRC="druidpg2.png"></P
><P
><B
>Figure 2. Getting Started screen, page 2</B
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gettingstarted.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>gramps User Manual</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Getting Started</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,334 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Generating Reports</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Customization"
HREF="prefs.html"><LINK
REL="NEXT"
TITLE="Running Tools"
HREF="runtools.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="prefs.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="runtools.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GENREPORTS"
>Generating Reports</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> can produce a wide variety of
reports. New report generators can be written by the user without
modifying the main program. For this reason, there may be more
reports available than are documented by this manual
</P
><DIV
CLASS="FIGURE"
><A
NAME="REPORT-FIG"
></A
><P
><IMG
SRC="reportsel.png"></P
><P
><B
>Figure 23. Report Generation Dialog</B
></P
></DIV
><P
> Unlike many genealogy programs, <TT
CLASS="APPLICATION"
>gramps</TT
>
does not directly print reports. Instead,
<TT
CLASS="APPLICATION"
>gramps</TT
> produces reports in formats that
are understood by other programs. These formats include
OpenOffice, AbiWord, PDF, and HTML, among others. This allows the
generated reports to be modified after they are generated, stored
for use later, or emailed to another person.
</P
><P
> After selecting the report you would like generated there are
option you must select. In the Save As option specify your file
name (use /full path/filename to specify a different directory
than in your Default Report Directory preference in the
preferences). The next step is to select the Report Format.
After choosing the Format you can select the style you would like
to use for your report (this does not apply to the HTML format).
You can Add/Edit/Delete a style for that particular report by
clicking the <B
CLASS="GUIBUTTON"
>Style Editor</B
> button.
Selecting one of those options you can then change the font (font
face, size, color, and options) for each Paragraph Style along
with the Paragraph Options (Alignment, background color, margins,
and morders). Once you are satisfied with the style you are ready
to proceed with the generation of your report. The next step is
to choose the options (if any for that specific report) and then
Choose the Templete (for HTML format only) and click OK. Your
report will now be in default report directory (unless otherwise
specified) for you to view the program you specified the report to
be generated for.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="HTMLTEMPLATES"
>Using HTML templates</A
></H2
><P
> Many programs exist to convert GEDCOM files into HTML files that
can be viewed in a web browser. Most of these programs generate
HTML files according to their own predefined style. Since most
people have a style that they prefer, they are left with the
option of modifying hundreds of files by hand.
</P
><P
> To solve this problem, <TT
CLASS="APPLICATION"
>gramps</TT
> allows
the user to specify a template to be used for generating HTML
files. At the time the report is generated, if HTML is selected
as the target format, the user can select an HTML template to be
used. Since the template is chosen at report generation time, a
different template may be chosen each time, allowing the user to
change the appearence of the generated files at any time.
Nearly any existing HTML file can be used as an HTML template
for <TT
CLASS="APPLICATION"
>gramps</TT
>.
</P
><P
> When a file has been established as the HTML template file,
<TT
CLASS="APPLICATION"
>gramps</TT
> uses the template for each
file that it generates. <TT
CLASS="APPLICATION"
>gramps</TT
> starts
each file by copying data from the template until it reaches an
HTML comment uses as a marker. At that point,
<TT
CLASS="APPLICATION"
>gramps</TT
> inserts its data into the
output file. <TT
CLASS="APPLICATION"
>gramps</TT
> the continues
reading the until it reaches a second comment that tells it to
resume copying from the template.
</P
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> uses the string
<TT
CLASS="FUNCTION"
>&#60;!-- START --&#62;</TT
> to indicate where it
should start inserting its information, and the string
<TT
CLASS="FUNCTION"
>&#60;!-- STOP --&#62;</TT
> to indicate where it
should resume copying data from the template. The effect is
that <TT
CLASS="APPLICATION"
>gramps</TT
> will create a new
document, replacing everything between the <TT
CLASS="FUNCTION"
>&#60;!--
START --&#62;</TT
> and <TT
CLASS="FUNCTION"
>&#60;!-- STOP
--&#62;</TT
> comments with the report information.
</P
><P
> The comment markers should be at the beginning of a line in the
HTML template file. Adding the comments to an existing HTML
document will not affect the original HTML document in any way.
</P
><P
> If no HTML template is specified, or if the specified template
cannot be read, <TT
CLASS="APPLICATION"
>gramps</TT
> will use a
default, predefined template.
</P
><DIV
CLASS="FIGURE"
><A
NAME="TEMPLATEEXAMPLE"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>&#60;HTML&#62;
&#60;HEAD&#62;
&#60;TITLE&#62;
This is my Title
&#60;/TITLE&#62;
&#60;/HEAD&#62;
&#60;BODY BGCOLOR="#FFFFFF"&#62;
&#60;P&#62;
This is a simple template. This text will appear in the html output.
&#60;/P&#62;
&#60;!-- START --&#62;
&#60;P&#62;
This is where gramps will place its report information. Any
information between the two comments, including this paragraph,
will not appear in the gramps generated output.
&#60;/P&#62;
&#60;!-- STOP --&#62;
&#60;P&#62;
This text, since it appears after the stop comment, will also
appear in every gramps generated file.
&#60;/P&#62;
&#60;/BODY&#62;
&#60;/HTML&#62;
</PRE
></TD
></TR
></TABLE
><P
><B
>Figure 24. Sample HTML Template Example</B
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="prefs.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="runtools.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Customization</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Running Tools</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,285 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Getting Started</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Running gramps for the first time."
HREF="firsttime.html"><LINK
REL="NEXT"
TITLE="People View"
HREF="personlist.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="firsttime.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="personlist.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GETTINGSTARTED"
>Getting Started</A
></H1
><P
> Starting <TT
CLASS="APPLICATION"
>gramps</TT
> opens the
<SPAN
CLASS="INTERFACE"
>Main window</SPAN
>, shown in <A
HREF="gettingstarted.html#MAINWINDOW-FIG"
>Figure 3</A
>. The window is at first empty.
</P
><DIV
CLASS="FIGURE"
><A
NAME="MAINWINDOW-FIG"
></A
><P
><IMG
SRC="mainwin.png"></P
><P
><B
>Figure 3. gramps Main Window</B
></P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="STARTIMPORT"
>Importing data</A
></H2
><P
> If you already have a family file created using another
genealogy program you can import your GEDCOM file into Gramps.
To do this you select <B
CLASS="GUIMENU"
>File</B
>-&gt;<B
CLASS="GUISUBMENU"
>Import</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Import from
GEDCOM</B
>. The <SPAN
CLASS="INTERFACE"
>GEDCOM
Import</SPAN
> box will open. Select <B
CLASS="GUIBUTTON"
>New
Database</B
> and click the
<B
CLASS="GUIBUTTON"
>Browse...</B
> button to select your saved
GEDCOM file (<TT
CLASS="REPLACEABLE"
><I
>filename.ged</I
></TT
>). Click
<B
CLASS="GUIBUTTON"
>OK</B
> to select the file and then click
<B
CLASS="GUIBUTTON"
>OK</B
> to import the file. The
<SPAN
CLASS="INTERFACE"
>GEDCOM Import Status</SPAN
> will tell you what
the importer is doing and a little bit about your file (file
location, what program it was created by, the version, Encoding,
Number of Families, Number of People, and the Number of Errors).
Once the Importer is done, you can click close and start
editing/adding to your file.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="NOIMPORT"
>Entering Data</A
></H2
><P
> If you have never used a genealogy program or you do not have a
GEDCOM file to import you can start creating your database right
away. From the main window click the <B
CLASS="GUIBUTTON"
>Add
Person</B
> button and the <SPAN
CLASS="INTERFACE"
>Edit
Person</SPAN
> dialog will open. Start entering in the
information you have on the first person. Start with their
general information (Name, Birth and Death Date/Place) and then
move on to the <SPAN
CLASS="INTERFACE"
>Names</SPAN
>,
<SPAN
CLASS="INTERFACE"
>Events</SPAN
>,
<SPAN
CLASS="INTERFACE"
>Attributes</SPAN
>,
<SPAN
CLASS="INTERFACE"
>Addresses</SPAN
>, <SPAN
CLASS="INTERFACE"
>Notes</SPAN
>,
<SPAN
CLASS="INTERFACE"
>Gallery</SPAN
>, and
<SPAN
CLASS="INTERFACE"
>Internet</SPAN
> tabs and fill in the known
information you have. Some of the information you enter has a
<B
CLASS="GUIBUTTON"
>Source</B
> button and/or a
<B
CLASS="GUIBUTTON"
>Note</B
> button. These buttons are there to
add more information (<B
CLASS="GUIBUTTON"
>Source</B
> button to
add the source of where you got the information and the
<B
CLASS="GUIBUTTON"
>Note</B
> button to add more detail to the
information)
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="firsttime.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="personlist.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Running gramps for the first time.</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>People View</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,247 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>gramps User Manual</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="NEXT"
TITLE="Running gramps for the first time."
HREF="firsttime.html"></HEAD
><BODY
CLASS="ARTICLE"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="ARTICLE"
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
>gramps User Manual</A
></H1
><P
CLASS="COPYRIGHT"
><A
HREF="ln7.html"
>Copyright</A
> &copy; 2001 by Donald N. Allingham</P
><HR
WIDTH="75%"
ALIGN="CENTER"
COLOR="#000000"
SIZE="1"></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="index.html#INTRO"
>Introduction</A
></DT
><DT
><A
HREF="firsttime.html"
>Running gramps for the first time.</A
></DT
><DT
><A
HREF="gettingstarted.html"
>Getting Started</A
></DT
><DT
><A
HREF="personlist.html"
>People View</A
></DT
><DT
><A
HREF="x124.html"
>Editing a person's data</A
></DT
><DT
><A
HREF="familyview.html"
>Family View</A
></DT
><DT
><A
HREF="pedegreeview.html"
>Pedegree View</A
></DT
><DT
><A
HREF="sourcelist.html"
>Source View</A
></DT
><DT
><A
HREF="placelist.html"
>Place View</A
></DT
><DT
><A
HREF="bookmarks.html"
>Bookmarking People</A
></DT
><DT
><A
HREF="prefs.html"
>Customization</A
></DT
><DT
><A
HREF="genreports.html"
>Generating Reports</A
></DT
><DT
><A
HREF="runtools.html"
>Running Tools</A
></DT
><DT
><A
HREF="authors.html"
>Authors</A
></DT
><DT
><A
HREF="license.html"
>License</A
></DT
></DL
></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="INTRO"
>Introduction</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> is an acronym for the
Genealogical Research and Analysis Management Programming System.
It was conceived under the concept that most genealogy programs
were designed to provide the researcher the capability to input
information related to a particular family tree. Most of these
programs have allowed for the arranging and storing of information
consistent with the GEDCOM standards. They usually provide a
means for displaying descendant or ancestral relationships by
means of graphical displays, charts, or reports. These may be
augmented with pictures or other media to enhance the data. Most
provide for inputting data on unconnected individuals/families
that may or may not have a relationship to the primary surname
being researched. Various other enhancements may also be provided
in the genealogical program that allows for different degrees of
importing and exporting data from other programs and printing of
the data contained in the various reports. gramps, on the other
hand, attempts to provide all of the common capabilities of these
programs, but, more importantly, to provide a capability not
common to these programs. This is the ability to input any bits
and pieces of information directly into gramps and
rearrange/manipulate any/all data events in the entire data base
(in any order or sequence) to assist the user in doing research,
analysis and correlation with the potential of filling
relationship gaps. In short, a tool that provides a way to input
all your research into one place and do your analysis and
correlation using the speed, power, and accuracy of your computer
instead of pencils and unmanageable reams of paper.
</P
><P
> To run <TT
CLASS="APPLICATION"
>gramps</TT
>, select
<B
CLASS="GUISUBMENU"
>Programs</B
>-&gt;<B
CLASS="GUISUBMENU"
>Applications</B
>-&gt;<B
CLASS="GUIMENUITEM"
>gramps</B
>
from the <B
CLASS="GUIMENU"
>Main Menu</B
>, or type
<B
CLASS="COMMAND"
>gramps</B
> on the command line.
</P
><P
> This document describes version 0.5.0 of
<TT
CLASS="APPLICATION"
>gramps</TT
>.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="firsttime.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Running gramps for the first time.</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,188 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>License</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Authors"
HREF="authors.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="authors.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
>&nbsp;</TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="LICENSE"
>License</A
></H1
><P
> This program is free software; you can redistribute it and/or
modify it under the terms of the <A
HREF="gnome-help:gpl"
TARGET="_top"
> <I
CLASS="CITETITLE"
>GNU General Public
License</I
></A
> as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
any later version.
</P
><P
> This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<I
CLASS="CITETITLE"
>GNU General Public License</I
> for more
details.
</P
><P
> A copy of the <I
CLASS="CITETITLE"
>GNU General Public License</I
> is
included as an appendix to the <I
CLASS="CITETITLE"
>GNOME Users
Guide</I
>. You may also obtain a copy of the
<I
CLASS="CITETITLE"
>GNU General Public License</I
> from the Free
Software Foundation by visiting <A
HREF="http://www.fsf.org"
TARGET="_top"
>their Web site</A
> or by writing to
<P
CLASS="ADDRESS"
>&nbsp;&nbsp;&nbsp;&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
CLASS="STREET"
>59 Temple Place</SPAN
>&nbsp;-&nbsp;Suite&nbsp;330<br>
&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
CLASS="CITY"
>Boston</SPAN
>,&nbsp;<SPAN
CLASS="STATE"
>MA</SPAN
>&nbsp;<SPAN
CLASS="POSTCODE"
>02111-1307</SPAN
><br>
&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
CLASS="COUNTRY"
>USA</SPAN
><br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="authors.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Authors</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,128 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="UP"
TITLE="gramps User Manual"
HREF="index.html#AEN2"><LINK
REL="NEXT"
TITLE="Running gramps for the first time."
HREF="firsttime.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="LEGALNOTICE"
><A
NAME="LEGALNOTICE"
></A
><P
></P
><P
> Permission is granted to copy, distribute and/or modify this document
under the terms of the <A
HREF="gnome-help:fdl"
TARGET="_top"
><I
CLASS="CITETITLE"
>GNU Free Documentation
License</I
></A
>, Version 1.1 or any later version
published by the Free Software Foundation with no Invariant Sections,
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
can be found <A
HREF="gnome-help:fdl"
TARGET="_top"
>here</A
>.
</P
><P
> Many of the names used by companies to distinguish their products and
services are claimed as trademarks. Where those names appear in any
GNOME documentation, and those trademarks are made aware to the members
of the GNOME Documentation Project, the names have been printed in caps
or initial caps.
</P
><P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html#AEN2"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,161 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Pedegree View</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Family View"
HREF="familyview.html"><LINK
REL="NEXT"
TITLE="Source View"
HREF="sourcelist.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="familyview.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sourcelist.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="PEDEGREEVIEW"
>Pedegree View</A
></H1
><P
> The Pedegree View window displays the active person, the active
person's parents, and the active parent's grandparents in a
somewhat graphical manner. At any time, you can return to the this
view either by pressing the Pedegree button at the top of the
screen, or by choosing the
<B
CLASS="GUIMENU"
>View</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Pedgree</B
>
entry from the menus.
</P
><DIV
CLASS="FIGURE"
><A
NAME="PEDEGREEVIEW-FIG"
></A
><P
><IMG
SRC="pedegreeview.png"></P
><P
><B
>Figure 14. Pedegree View</B
></P
></DIV
><P
> FIXME: This section should describe the pedegree view.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="familyview.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sourcelist.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Family View</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Source View</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,293 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>People View</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Getting Started"
HREF="gettingstarted.html"><LINK
REL="NEXT"
TITLE="Editing a person's data"
HREF="x124.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gettingstarted.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x124.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="PERSONLIST"
>People View</A
></H1
><P
> The People View window is the initial view seen on the main
window. It displays the name, gender, birth date, and death
date of all individuals in the database. At any time, you can
return to the this view either by pressing the
<B
CLASS="GUIBUTTON"
>People</B
> button at the top of the screen, or
by choosing the
<B
CLASS="GUIMENU"
>View</B
>-&gt;<B
CLASS="GUIMENUITEM"
>People</B
>
entry from the menus.
</P
><DIV
CLASS="FIGURE"
><A
NAME="PEOPLEVIEW-FIG"
></A
><P
><IMG
SRC="peoplelist.png"></P
><P
><B
>Figure 4. People View</B
></P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN96"
>Selecting and Editing Individuals</A
></H2
><P
> The People View lists the individuals in the database. An in
dividual can be selected as the active person by clicking on an
entry in the list. Once a person has been selected as the active
person, the person's name appears in the status bar in the lower
left hand corner of the window.
</P
><P
> Once the active person has been selected, pressing the
<B
CLASS="GUIBUTTON"
>Edit Person</B
> button will display the
<SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> dialog allowing you to edit
the individual's personal information. If the <B
CLASS="GUIBUTTON"
>Edit
Person</B
> button is pressed without an active person
being set, a blank <SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> dialog is
presented, allowing you to enter a new person.
</P
><P
> Double-clicking on a entry in the list will set the active
person and bring up the individual in the <SPAN
CLASS="INTERFACE"
>Edit
Person</SPAN
> dialog.
</P
><P
> Pressing the <B
CLASS="GUIBUTTON"
>Add Person</B
> button will
display a blank <SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> dialog,
allowing you to add a new person to the database.
</P
><P
> If the <B
CLASS="GUIBUTTON"
>Delete Person</B
> button is pressed,
the active person and all of the personal information related to
the active person are removed from the database.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN111"
>Applying Filters</A
></H2
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> allows you to apply filters to
the People View. When a filter is applied, the People View will
only display the entries matching the filter. All of the entries
remain in the database, but are temporarily hidden.
</P
><P
> There are three parts to a filter. The first part is the
selection of the filter to be applied. A filter is selected from
the option menu directly above the People View. The second part
is an option qualifier. This qualifier provides more specific
information for the filter. Many filters do not require the
qualifier, and it will be grayed out if not needed. The third
part of the filter is the invert selection. When this option is
selected, <TT
CLASS="APPLICATION"
>gramps</TT
> will display the
entries that do not match the filter.
</P
><P
> A filter is not applied until the <B
CLASS="GUIBUTTON"
>Apply</B
>
button is pressed. The filter will remain in effect until the
next time the <B
CLASS="GUIBUTTON"
>Apply</B
> button is pressed.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN120"
>Sorting</A
></H2
><P
> Four columns are shown in the People View display. The entries
in the list can be sorted by three of the fields: Name, Birth
Date, or Death Date. Clicking on the column label will cause
the list to be resorted by that column. Arrows on the label
indicate whether the list is sort by ascending or descending
order.
</P
><P
> If the list is already sorted by a particular column, clicking
on the same column label will switch sorting order. For
example, if the list is currently sorted in ascending order by
Name, clicking on the Name column header will resort the list in
descending order.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gettingstarted.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x124.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Getting Started</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Editing a person's data</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,163 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Place View</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Source View"
HREF="sourcelist.html"><LINK
REL="NEXT"
TITLE="Bookmarking People"
HREF="bookmarks.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="sourcelist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="bookmarks.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="PLACELIST"
>Place View</A
></H1
><P
> The Place View window displays the different sources which have
been entered into the database. At any time, you can return to the
this view either by pressing the <B
CLASS="GUIBUTTON"
>Places</B
>
button at the top of the screen, or by choosing the
<B
CLASS="GUIMENU"
>View</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Places</B
>
entry from the menus.
</P
><DIV
CLASS="FIGURE"
><A
NAME="PLACEVIEW-FIG"
></A
><P
><IMG
SRC="placelist.png"></P
><P
><B
>Figure 16. Place View</B
></P
></DIV
><P
> From this screen you are able to Add, Edit, and Delete places.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sourcelist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bookmarks.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Source View</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Bookmarking People</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,529 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Customization</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Bookmarking People"
HREF="bookmarks.html"><LINK
REL="NEXT"
TITLE="Generating Reports"
HREF="genreports.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="bookmarks.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="genreports.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="PREFS"
>Customization</A
></H1
><P
> To change the application settings, select
<B
CLASS="GUIMENU"
>Settings</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Preferences...</B
>. This opens the
<SPAN
CLASS="INTERFACE"
>Preferences</SPAN
> dialog, shown in <A
HREF="prefs.html#PREFS_GEN"
>Figure 17 in the section called <I
>General Preferences</I
></A
>.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PREFS_TAB0"
>General Preferences</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="PREFS_GEN"
></A
><P
><IMG
SRC="prefs_gen.png"></P
><P
><B
>Figure 17. Preferences Dialog</B
></P
></DIV
><P
> The General Preferences tab contains basic information to
control the operation of <TT
CLASS="APPLICATION"
>gramps</TT
>.
</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><P
><B
>General Preferences options</B
></P
><DL
><DT
><TT
CLASS="GUILABEL"
><B
>Automatically load last database</B
></TT
></DT
><DD
><P
> With this selected it will automatically load your last
database.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Do not compress XML data file</B
></TT
></DT
><DD
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> normally compresses its
data file to conserve disk space. If you do not which to
have the file compressed, selecting this option will cause
<TT
CLASS="APPLICATION"
>gramps</TT
> to leave the file
uncompressed. This may be desirable if other applications
need to process the generated XML file.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Use tabbed pages</B
></TT
></DT
><DD
><P
> When this is selected there will be a row of tabs below
the tool bars for the Person View, Family Fiew, Pedigree
View, and Sources View.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Display gramps ID in list</B
></TT
></DT
><DD
><P
> This will add a new column to the Person View with the
Gramps ID for each individual.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Display attribute on Edit Person form</B
></TT
></DT
><DD
><P
> Selecting this and adding a comment/word will add that
comment/word to the Identification part of the Edit Person
view.
</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PREFS_TAB1"
>Formats</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="PREFS_FMT"
></A
><P
><IMG
SRC="prefs_fmt.png"></P
><P
><B
>Figure 18. Formats</B
></P
></DIV
><P
> The <SPAN
CLASS="INTERFACE"
>Formats</SPAN
> tab allows you to change the
display formats of several different typs of data. This includes
dates and names.
</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><P
><B
>Formats Preferences options</B
></P
><DL
><DT
><TT
CLASS="GUILABEL"
><B
>Display Formats</B
></TT
></DT
><DD
><P
> Allows you to choose your preferences for displaying dates
and names. Options exist for several different date
formats. Names can be displayed with either the given name
or the surname first. This option typically does not
affect lists which are sorted by last name, in which case
the surname is displayed first.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Entry Formats</B
></TT
></DT
><DD
><P
> Numerical date formats can be ambiguous. Some people enter
the day, month, and year (European style), while others
prefer month, day, year (American style). Selecting the
option here informs <TT
CLASS="APPLICATION"
>gramps</TT
> how
it should interpret numerical dates.
</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PREFS_TAB2"
>Appearance Preferences</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="PREFS_APPEAR"
></A
><P
><IMG
SRC="prefs_appear.png"></P
><P
><B
>Figure 19. Preferences Dialog</B
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><P
><B
>Appearence Preferences</B
></P
><DL
><DT
><TT
CLASS="GUILABEL"
><B
>Custom Colors</B
></TT
></DT
><DD
><P
> Enabling custom colors allows you to choose foreground and
background colors for the Person View list. A different
color combinations may be chosen for odd and even
rows. This may make the display easier to read. It should
be noted that it may slow down redisplays of the window if
a large number (thousands) of people are in the list.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Status Bar</B
></TT
></DT
><DD
><P
> Allows you can change the information displayed in the
status bar at the bottom of the window. There are three
(3) preferences you can chose from. The first is Active
person's name only - this will display the active person's
name only in the status bar. The second is Active
person's name and gramps ID - This will display the name
and ID for the active person ( [I9] Edwin Michael Smith ).
The last option is Active person's name and attribute -
this is just like the second option but shows the
attribute you specified in the General Preferences
section.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>List Display Options</B
></TT
></DT
><DD
><P
> Allows to control what gets displayed in lists. You can
control if alternate names are displayed in the lists, or
if the lists will contain detail flags to indicate
additional information (such as the presense of notes,
sources, or images).
</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PREFS_TAB3"
>Researchers Preferences</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="PREFS_RESEARCH"
></A
><P
><IMG
SRC="prefs_research.png"></P
><P
><B
>Figure 20. Researcher Information Dialog</B
></P
></DIV
><P
> This is where you are able to change the information you entered
when you started gramps for the first time and was asked to
enter in some information. (This information shows up in your
GEDCOM files as being the researcher/author of the file)
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PREFS_TAB4"
>Report Preferences</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="PREFS_REPORT"
></A
><P
><IMG
SRC="prefs_report.png"></P
><P
><B
>Figure 21. Report Preferences Dialog</B
></P
></DIV
><P
> Many of the reports that <TT
CLASS="APPLICATION"
>gramps</TT
>
produces can be generated in different file formats and
different paper sizes. Selecting a <TT
CLASS="GUILABEL"
><B
>Preferred Output
Format</B
></TT
> and a <TT
CLASS="GUILABEL"
><B
>Preferred Output
Format</B
></TT
> tells the report generator your
preferences. It should be noted that a report generator may not
support all possible formats.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PREFS_TAB5"
>Directories Preferences</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="PREFS_DIR"
></A
><P
><IMG
SRC="prefs_dir.png"></P
><P
><B
>Figure 22. Directory Preferences Dialog</B
></P
></DIV
><P
> This allows you to set the default directory for your database,
reports, and Web Sites.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="bookmarks.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="genreports.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Bookmarking People</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Generating Reports</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -0,0 +1,296 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Running Tools</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Generating Reports"
HREF="genreports.html"><LINK
REL="NEXT"
TITLE="Authors"
HREF="authors.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="genreports.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="authors.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="RUNTOOLS"
>Running Tools</A
></H1
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> supports standard and user
written tools. These tools can operate on the database to perform
a specified task.
</P
><DIV
CLASS="FIGURE"
><A
NAME="TOOLS-FIG"
></A
><P
><IMG
SRC="toolsel.png"></P
><P
><B
>Figure 25. Tool Selection Dialog</B
></P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="ANALYSIS"
>Analysis and Exploration</A
></H2
><P
></P
><UL
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Compare individual events</B
></TT
> &#8212; Aids
in the analysis of data by allowing the development of
custom filters that can be applied to the database to find
similar events.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Interactive descendant browser</B
></TT
> &#8212;
Provides a browsable hierarchy based on the active person.
</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="DATAPROCESSING"
>Data Processing</A
></H2
><P
></P
><UL
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Check and repair database</B
></TT
> &#8212;
Checks the database for integrity problems, fixing the
problems that it can.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Extract information from names</B
></TT
> &#8212;
Searches the entire database and attempts to extract titles
and nicknames that may be embedded in a person's given name
field.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Merge people</B
></TT
> &#8212; Searches the
entire database, looking for individual entries that may
represent the same person.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Rename personal event types</B
></TT
> &#8212;
Allows all the events of a certain name to be renamed to a
new name.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Reorder gramps ID's</B
></TT
> &#8212; Reorders the
gramps ID's according to gramps' default rules.
</P
></LI
></UL
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="REPORTS_UTILITIES"
>Utilities</A
></H2
><P
></P
><UL
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Generate SoundEx codes</B
></TT
> &#8212;
Generates SoundEx codes for names.
</P
></LI
><LI
><P
> <TT
CLASS="GUILABEL"
><B
>Relationship calculator</B
></TT
> &#8212;
Calulates the relationship between two people.
</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="genreports.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="authors.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Generating Reports</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Authors</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1,163 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Source View</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Pedegree View"
HREF="pedegreeview.html"><LINK
REL="NEXT"
TITLE="Place View"
HREF="placelist.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="pedegreeview.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="placelist.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="SOURCELIST"
>Source View</A
></H1
><P
> The Source View window displays the different sources which have
been entered into the database. At any time, you can return to the
this view either by pressing the <B
CLASS="GUIBUTTON"
>Sources</B
>
button at the top of the screen, or by choosing the
<B
CLASS="GUIMENU"
>View</B
>-&gt;<B
CLASS="GUIMENUITEM"
>Sources</B
>
entry from the menus.
</P
><DIV
CLASS="FIGURE"
><A
NAME="SOURCEVIEW-FIG"
></A
><P
><IMG
SRC="sourcelist.png"></P
><P
><B
>Figure 15. Source list</B
></P
></DIV
><P
> From this screen you are able to Add, Edit, and Delete sources.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="pedegreeview.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="placelist.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Pedegree View</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Place View</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -0,0 +1,308 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Editing a person's data</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="People View"
HREF="personlist.html"><LINK
REL="NEXT"
TITLE="Family View"
HREF="familyview.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="personlist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="familyview.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN112"
>Editing a person's data</A
></H1
><P
> </P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN115"
>General Information Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_GENERAL-FIG"
></A
><P
><IMG
SRC="ep_general.png"></P
><P
><B
>Figure 5. General Information Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN122"
>Alternate Names Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_NAMES-FIG"
></A
><P
><IMG
SRC="ep_altname.png"></P
><P
><B
>Figure 6. Alternate Names Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN129"
>Events Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_EVENT-FIG"
></A
><P
><IMG
SRC="ep_event.png"></P
><P
><B
>Figure 7. Events Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN136"
>Attributes Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_ATTRIBUTES-FIG"
></A
><P
><IMG
SRC="ep_attributes.png"></P
><P
><B
>Figure 8. Attributes Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN143"
>Addresses Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_ADDRESS-FIG"
></A
><P
><IMG
SRC="ep_address.png"></P
><P
><B
>Figure 9. Addresses Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN150"
>Notes Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_NOTES-FIG"
></A
><P
><IMG
SRC="ep_notes.png"></P
><P
><B
>Figure 10. Notes Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN157"
>Gallery Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_GALLERY-FIG"
></A
><P
><IMG
SRC="ep_gallery.png"></P
><P
><B
>Figure 11. Gallery Tab</B
></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN164"
>Internet Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_INTERNET-FIG"
></A
><P
><IMG
SRC="ep_internet.png"></P
><P
><B
>Figure 12. Internet Tab</B
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="personlist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="familyview.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>People View</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Family View</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -0,0 +1,710 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Editing a person's data</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="gramps User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="People View"
HREF="personlist.html"><LINK
REL="NEXT"
TITLE="Family View"
HREF="familyview.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>gramps User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="personlist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="familyview.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN124"
>Editing a person's data</A
></H1
><P
> A person's personal information can be edited in the
<SPAN
CLASS="INTERFACE"
>Edit Person</SPAN
> dialog.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN128"
>General Information Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_GENERAL-FIG"
></A
><P
><IMG
SRC="ep_general.png"></P
><P
><B
>Figure 5. General Information Tab</B
></P
></DIV
><P
> The General Information tab contains the basic information about
the person. This includes the person's name, gender, birth
informaton, and death informaton.
</P
><P
> If images have been associated with the person, the primary
image is displayed on the right side of the window.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN137"
>Alternate Names Tab</A
></H2
><DIV
CLASS="FIGURE"
><A
NAME="EP_NAMES-FIG"
></A
><P
><IMG
SRC="ep_altname.png"></P
><P
><B
>Figure 6. Alternate Names Tab</B
></P
></DIV
><P
> Its possible for people to use more than one name during their
lifetime. These may be legal names changes, or just informal
names. Examples would be a person changing his or her name due
to marriage or adoption. <TT
CLASS="APPLICATION"
>gramps</TT
>
allows multiple alternate names to be specified for each person.
</P
><P
> The <SPAN
CLASS="INTERFACE"
>Alternate Names</SPAN
> tab allows additional
names to be added or removed from list. Clicking the
<B
CLASS="GUIBUTTON"
>Add</B
> allows a new name to be added to the
list. The <B
CLASS="GUIBUTTON"
>Edit/View</B
> allows the selected
alternate name to be edited. The <B
CLASS="GUIBUTTON"
>Delete</B
>
removes the selected name.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="EVENTTAB"
>Events Tab</A
></H2
><P
> The <SPAN
CLASS="INTERFACE"
>Events</SPAN
> tab allows information about
various events in a person's life to be
recorded. <TT
CLASS="APPLICATION"
>gramps</TT
> provides a list of
common events, but allows you to name an event anything that you
want.
</P
><P
> An event consists of a name of an event (such as "Baptism" or
"Education"), a date or date range on which the event occurred,
the place where the event occurred, and a description of the
event. A note or a source may also be attached to the event.
</P
><P
> Events have the concept of privacy and confidence associated
with them. An event may be marked as "Private". When generating
reports or exporting to other formats, you will be allowed to
either include or exclude private records. This will allow you
to limit information provided to others.
</P
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> allows you to specify your
confidence in the information you have. By default, a confidence
level of "Normal" is associated with each event. This can be
changed either up ("High" or "Very High") or down ("Low" or
"Very Low") to indicate the confidence you have in the
information. For example, if Aunt Martha thinks that her
grandmother was born in a particular year, you may wish to mark
this with a lower level of confidence than if you had a copy of
her grandmother's birth certificate.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EP_EVENT-FIG"
></A
><P
><IMG
SRC="ep_event.png"></P
><P
><B
>Figure 7. Events Tab</B
></P
></DIV
><P
> The <SPAN
CLASS="INTERFACE"
>Event</SPAN
> tab displays information about
the currently selected event at the top of the window. Below
this information is a list of the events that have been
previously entered. Clicking on one of the events in the list
selects the event, and displays its information at the top of
the window.
</P
><P
> An event may be added by by clicking the
<B
CLASS="GUIBUTTON"
>Add</B
> button. This displays a form which
allows you to enter the information about the particular
event. The <B
CLASS="GUIBUTTON"
>Edit/View</B
> button allows to view
or alter the information of the currently displayed event. The
<B
CLASS="GUIBUTTON"
>Delete</B
> button allows you to delete the
currently displayed event.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="ATTRTAB"
>Attributes Tab</A
></H2
><P
> Attributes are similar to events, but are for information items
that do not necessary have the concept of a place or a date. An
example would be person's Social Security Number or National
origin. Attributes consist of an attribute name and its value.
</P
><P
> Like events, attributes may also have a note, source, privacy
marker, and confidence level associated with them.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EP_ATTRIBUTES-FIG"
></A
><P
><IMG
SRC="ep_attributes.png"></P
><P
><B
>Figure 8. Attributes Tab</B
></P
></DIV
><P
> The <SPAN
CLASS="INTERFACE"
>Attribute</SPAN
> tab displays information
about the currently selected attribute at the top of the
window. Below this information is a list of the attributes that
have been previously entered. Clicking on one of the attributes
in the list selects the attribute, and displays its information at
the top of the window.
</P
><P
> An attribute may be added by by clicking the
<B
CLASS="GUIBUTTON"
>Add</B
> button. This displays a form which
allows you to enter the information about the particular
attribute. The <B
CLASS="GUIBUTTON"
>Edit/View</B
> button allows to
view or alter the information of the currently displayed
attribute. The <B
CLASS="GUIBUTTON"
>Delete</B
> button allows you to
delete the currently displayed attribute.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="ADDRTAB"
>Addresses Tab</A
></H2
><P
> Addresses are used to record information about where a person
has lived. Addresses are different from
<TT
CLASS="APPLICATION"
>gramps'</TT
> concept of a place. A address
as <TT
CLASS="APPLICATION"
>gramps</TT
> sees it consists of an
equivalent of a mailing address and the date or date range when
the person lived at the address.
</P
><P
> Like events and attributes, addresses may also have a note,
source, privacy marker, and confidence level associated with
them.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EP_ADDRESS-FIG"
></A
><P
><IMG
SRC="ep_address.png"></P
><P
><B
>Figure 9. Addresses Tab</B
></P
></DIV
><P
> The <SPAN
CLASS="INTERFACE"
>Address</SPAN
> tab displays information
about the currently selected address at the top of the
window. Below this information is a list of the addresses that
have been previously entered. Clicking on one of the addresses
in the list selects the address, and displays its information at
the top of the window.
</P
><P
> An address may be added by by clicking the
<B
CLASS="GUIBUTTON"
>Add</B
> button. This displays a form which
allows you to enter the information about the particular
address. The <B
CLASS="GUIBUTTON"
>Edit/View</B
> button allows to
view or alter the information of the currently displayed
address. The <B
CLASS="GUIBUTTON"
>Delete</B
> button allows you to
delete the currently displayed address.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="NOTESTAB"
>Notes Tab</A
></H2
><P
> In addition to the notes that may be attached to any particular
event, attribute, or address, <TT
CLASS="APPLICATION"
>gramps</TT
>
has a generic note attached to the person.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EP_NOTES-FIG"
></A
><P
><IMG
SRC="ep_notes.png"></P
><P
><B
>Figure 10. Notes Tab</B
></P
></DIV
><P
> The note window is a free-form edit window, allowing you to
enter any information that you want.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="GALLERYTAB"
>Gallery Tab</A
></H2
><P
> Photographs and images are stored in the
<SPAN
CLASS="INTERFACE"
>Gallery</SPAN
> tab. Images of a wide variety of
formats are stored, including JPEG and
PNG.
</P
><P
> <TT
CLASS="APPLICATION"
>gramps</TT
> can either refer to an
existing file, or make its own copy. By default,
<TT
CLASS="APPLICATION"
>gramps</TT
> will make its own copy. There
are advantages and disadvatages to both approaches. Refering to
an external copy reduces disk space. Allowing
<TT
CLASS="APPLICATION"
>gramps</TT
> to make its own copy
eliminates allows gramps to still have the image if the orignal
is altered, deleted, or moved. It also simplifies the transfer
of a database from one machine to another.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EP_GALLERY-FIG"
></A
><P
><IMG
SRC="ep_gallery.png"></P
><P
><B
>Figure 11. Gallery Tab</B
></P
></DIV
><P
> The first image in the gallery is considered to be the primary
image. This image will appear on the <SPAN
CLASS="INTERFACE"
>General
Information</SPAN
> tab, and will be the image used by
report generators. An image can be made the default at any time
by selecting the image, and clicking on the <B
CLASS="GUIBUTTON"
>Make
Prmimary</B
> button. Images may be added by clicking the
<B
CLASS="GUIBUTTON"
>Add</B
> button, and deleted by clicking the
<B
CLASS="GUIBUTTON"
>Delete</B
> button. If the image is a
reference to another file, <TT
CLASS="APPLICATION"
>gramps</TT
>
will remove the reference to the file. If the file is a copy
maintained by <TT
CLASS="APPLICATION"
>gramps</TT
>, then
<TT
CLASS="APPLICATION"
>gramps</TT
> will remove the file from the
file system.
</P
><P
> Right clicking on an selected image brings up a menu.
</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><P
><B
>Menu options</B
></P
><DL
><DT
><TT
CLASS="GUILABEL"
><B
>View Image</B
></TT
></DT
><DD
><P
> Allows you to view the image using the GNOME's default
viewer for the file type.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Edit Image</B
></TT
></DT
><DD
><P
> Launches the <TT
CLASS="APPLICATION"
>gimp</TT
> program,
allowing you to edit the image.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Edit Description</B
></TT
></DT
><DD
><P
> Allows you to change the description attached to the
image.
</P
></DD
><DT
><TT
CLASS="GUILABEL"
><B
>Convert to private copy</B
></TT
></DT
><DD
><P
> This option is only displayed if the image is a reference
to a file that is not controlled by
<TT
CLASS="APPLICATION"
>gramps</TT
>. Selecting the option
causes <TT
CLASS="APPLICATION"
>gramps</TT
> to make its own
copy of the image.
</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="INTERNETTAB"
>Internet Tab</A
></H2
><P
> Frequently, information about a person is available on the
internet, frequently on someone else's web site. With multiple
people researching the same family, is desirable to keep track
of internet sites that contain information about someone in your
database. This allows you to keep track of the web sites you you
can periodically check them for any addition information.
</P
><DIV
CLASS="FIGURE"
><A
NAME="EP_INTERNET-FIG"
></A
><P
><IMG
SRC="ep_internet.png"></P
><P
><B
>Figure 12. Internet Tab</B
></P
></DIV
><P
> The <SPAN
CLASS="INTERFACE"
>Internet</SPAN
> tab displays information about
the currently selected internet address at the top of the window. Below
this information is a list of the internet address that have been
previously entered. Clicking on one of the events in the list
selects the event, and displays its information at the top of
the window.
</P
><P
> Clicking on the internet address displayed at the top part of
the window will cause <TT
CLASS="APPLICATION"
>gramps</TT
> to attempt
to display the site using the GNOME default browser.
</P
><P
> An internet address may be added by by clicking the
<B
CLASS="GUIBUTTON"
>Add</B
> button. This displays a form which
allows you to enter the information about the internet
address. This information consists of the web address (URL) and
a description of the location. The
<B
CLASS="GUIBUTTON"
>Edit/View</B
> button allows to view or alter
the information of the currently displayed internet address. The
<B
CLASS="GUIBUTTON"
>Delete</B
> button allows you to delete the
currently displayed internet address.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="personlist.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="familyview.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>People View</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Family View</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

96
gramps/src/Find.py Normal file
View File

@ -0,0 +1,96 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000 Donald N. Allingham
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
import libglade
import const
import utils
import string
OBJECT = "o"
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
class Find:
def __init__(self,clist,task):
self.clist = clist
self.task = task
self.xml = libglade.GladeXML(const.gladeFile,"find")
self.xml.signal_autoconnect({
"destroy_passed_object" : utils.destroy_passed_object,
"on_next_clicked" : on_next_clicked,
"on_prev_clicked" : on_prev_clicked,
})
self.top = self.xml.get_widget("find")
self.top.set_data(OBJECT,self)
self.entry = self.xml.get_widget("entry1")
def find_next(self):
text = self.entry.get_text()
row = self.clist.selection[0]
if row == None or text == "":
return
row = row + 1
last = self.clist.rows
person = None
while row < last:
person,alt = self.clist.get_row_data(row)
if alt == 0:
name = person.getPrimaryName().getName()
if string.find(string.upper(name),string.upper(text)) >= 0:
self.task(person)
return
row = row + 1
def find_prev(self):
text = self.entry.get_text()
row = self.clist.selection[0]
if row == None or text == "":
return
row = row - 1
person = None
while row >= 0:
person,alt = self.clist.get_row_data(row)
if alt == 0:
name = person.getPrimaryName().getName()
if string.find(string.upper(name),string.upper(text)) >= 0:
self.task(person)
return
row = row - 1
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def on_next_clicked(obj):
f = obj.get_data(OBJECT)
f.find_next()
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def on_prev_clicked(obj):
f = obj.get_data(OBJECT)
f.find_prev()

View File

@ -173,6 +173,30 @@
</widget>
</widget>
<widget>
<class>GtkMenuItem</class>
<name>edit1</name>
<label>_Edit</label>
<right_justify>False</right_justify>
<widget>
<class>GtkMenu</class>
<name>edit1_menu</name>
<widget>
<class>GtkMenuItem</class>
<name>find</name>
<signal>
<name>activate</name>
<handler>on_find_activate</handler>
<last_modification_time>Wed, 05 Sep 2001 02:48:31 GMT</last_modification_time>
</signal>
<label>_Find</label>
<right_justify>False</right_justify>
</widget>
</widget>
</widget>
<widget>
<class>GtkMenuItem</class>
<name>view1</name>
@ -359,7 +383,19 @@
<handler>on_contents_activate</handler>
<last_modification_time>Tue, 05 Dec 2000 01:21:41 GMT</last_modification_time>
</signal>
<label>_Manual</label>
<label>_User's Manual</label>
<right_justify>False</right_justify>
</widget>
<widget>
<class>GtkMenuItem</class>
<name>writing_extensions</name>
<signal>
<name>activate</name>
<handler>on_writing_extensions_activate</handler>
<last_modification_time>Wed, 05 Sep 2001 00:38:07 GMT</last_modification_time>
</signal>
<label>_Writing Extensions</label>
<right_justify>False</right_justify>
</widget>
@ -490,7 +526,7 @@
<object>notebook1</object>
<last_modification_time>Tue, 07 Nov 2000 14:34:15 GMT</last_modification_time>
</signal>
<label>Pedigree</label>
<label>Pedegree</label>
<icon>pedegree.xpm</icon>
</widget>
@ -5470,4 +5506,175 @@ Unknown
</widget>
</widget>
<widget>
<class>GtkDialog</class>
<name>find</name>
<title>Gramps - Find person</title>
<type>GTK_WINDOW_TOPLEVEL</type>
<position>GTK_WIN_POS_NONE</position>
<modal>False</modal>
<allow_shrink>True</allow_shrink>
<allow_grow>True</allow_grow>
<auto_shrink>False</auto_shrink>
<widget>
<class>GtkVBox</class>
<child_name>Dialog:vbox</child_name>
<name>dialog-vbox14</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<widget>
<class>GtkHBox</class>
<child_name>Dialog:action_area</child_name>
<name>dialog-action_area14</name>
<border_width>10</border_width>
<homogeneous>True</homogeneous>
<spacing>5</spacing>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>True</fill>
<pack>GTK_PACK_END</pack>
</child>
<widget>
<class>GtkHButtonBox</class>
<name>hbuttonbox26</name>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>30</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkButton</class>
<name>prev</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>on_prev_clicked</handler>
<object>find</object>
<last_modification_time>Wed, 05 Sep 2001 02:55:37 GMT</last_modification_time>
</signal>
<stock_button>GNOME_STOCK_BUTTON_PREV</stock_button>
<relief>GTK_RELIEF_NORMAL</relief>
</widget>
<widget>
<class>GtkButton</class>
<name>next</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>on_next_clicked</handler>
<object>find</object>
<last_modification_time>Wed, 05 Sep 2001 02:55:23 GMT</last_modification_time>
</signal>
<stock_button>GNOME_STOCK_BUTTON_NEXT</stock_button>
<relief>GTK_RELIEF_NORMAL</relief>
</widget>
<widget>
<class>GtkButton</class>
<name>button120</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>destroy_passed_object</handler>
<object>find</object>
<last_modification_time>Wed, 05 Sep 2001 02:55:07 GMT</last_modification_time>
</signal>
<stock_button>GNOME_STOCK_BUTTON_CLOSE</stock_button>
<relief>GTK_RELIEF_NORMAL</relief>
</widget>
</widget>
</widget>
<widget>
<class>GtkVBox</class>
<name>vbox41</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkLabel</class>
<name>label238</name>
<label>Find Person by Name</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
<child>
<padding>10</padding>
<expand>False</expand>
<fill>False</fill>
</child>
</widget>
<widget>
<class>GtkHSeparator</class>
<name>hseparator22</name>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox31</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<padding>19</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>Placeholder</class>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry1</name>
<width>250</width>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<padding>10</padding>
<expand>True</expand>
<fill>True</fill>
</child>
</widget>
<widget>
<class>Placeholder</class>
</widget>
</widget>
</widget>
</widget>
</widget>
</GTK-Interface>

View File

@ -67,6 +67,7 @@ import EditSource
import EditPerson
import EditPlace
import Marriage
import Find
#-------------------------------------------------------------------------
#
@ -161,6 +162,23 @@ def deathday(person):
else:
return ""
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def find_goto_to(person):
change_active_person(person)
goto_active_person()
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def on_find_activate(obj):
Find.Find(person_list,find_goto_to)
#-------------------------------------------------------------------------
#
#
@ -214,7 +232,19 @@ def on_about_activate(obj):
#
#-------------------------------------------------------------------------
def on_contents_activate(obj):
GnomeOkDialog(_("Sorry. Online help for gramps is currently under development.\nUnfortunately, it is not yet ready."))
import gnome.help
gnome.help.display("gramps-manual","index.html")
#-------------------------------------------------------------------------
#
# Display the help box
#
#-------------------------------------------------------------------------
def on_writing_extensions_activate(obj):
import gnome.help
gnome.help.display("extending-gramps","index.html")
#-------------------------------------------------------------------------
#
@ -2963,6 +2993,7 @@ def main(arg):
"on_exit_activate" : on_exit_activate,
"on_family1_activate" : on_family1_activate,
"on_father_next_clicked" : on_father_next_clicked,
"on_find_activate" : on_find_activate,
"on_fv_prev_clicked" : on_fv_prev_clicked,
"on_home_clicked" : on_home_clicked,
"on_mother_next_clicked" : on_mother_next_clicked,
@ -2991,6 +3022,7 @@ def main(arg):
"on_spouselist_changed" : on_spouselist_changed,
"on_swap_clicked" : on_swap_clicked,
"on_tools_clicked" : on_tools_clicked,
"on_writing_extensions_activate" : on_writing_extensions_activate,
})
database = RelDataBase()

File diff suppressed because it is too large Load Diff