From d4237e06121b9fb215ad17d2474bb44e0a72ca05 Mon Sep 17 00:00:00 2001 From: Alex Roitman Date: Thu, 2 Mar 2006 16:08:26 +0000 Subject: [PATCH] Remove obsolete directory svn: r6020 --- gramps2/doc/extending-gramps/.cvsignore | 2 - gramps2/doc/extending-gramps/C/.cvsignore | 2 - gramps2/doc/extending-gramps/C/Makefile.am | 10 - .../extending-gramps/C/extending-gramps-C.omf | 14 - .../extending-gramps/C/extending-gramps.sgml | 774 ------------------ .../C/extending-gramps/index.html | 345 -------- .../C/extending-gramps/ln7.html | 133 --- .../stylesheet-images/caution.gif | Bin 1039 -> 0 bytes .../stylesheet-images/home.gif | Bin 995 -> 0 bytes .../stylesheet-images/important.gif | Bin 1081 -> 0 bytes .../stylesheet-images/next.gif | Bin 964 -> 0 bytes .../stylesheet-images/note.gif | Bin 1070 -> 0 bytes .../stylesheet-images/prev.gif | Bin 944 -> 0 bytes .../stylesheet-images/tip.gif | Bin 1029 -> 0 bytes .../stylesheet-images/toc-blank.gif | Bin 95 -> 0 bytes .../stylesheet-images/toc-minus.gif | Bin 843 -> 0 bytes .../stylesheet-images/toc-plus.gif | Bin 846 -> 0 bytes .../extending-gramps/stylesheet-images/up.gif | Bin 922 -> 0 bytes .../stylesheet-images/warning.gif | Bin 1052 -> 0 bytes .../C/extending-gramps/t1.html | 345 -------- .../C/extending-gramps/x131.html | 282 ------- .../C/extending-gramps/x162.html | 219 ----- .../C/extending-gramps/x177.html | 180 ---- .../C/extending-gramps/x57.html | 276 ------- .../C/extending-gramps/x83.html | 369 --------- gramps2/doc/extending-gramps/C/index.html | 345 -------- gramps2/doc/extending-gramps/C/omf_timestamp | 0 gramps2/doc/extending-gramps/Makefile.am | 4 - 28 files changed, 3300 deletions(-) delete mode 100644 gramps2/doc/extending-gramps/.cvsignore delete mode 100644 gramps2/doc/extending-gramps/C/.cvsignore delete mode 100644 gramps2/doc/extending-gramps/C/Makefile.am delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps-C.omf delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps.sgml delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/index.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/ln7.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/caution.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/home.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/important.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/next.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/note.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/prev.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/tip.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-blank.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-minus.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-plus.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/up.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/warning.gif delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/t1.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/x131.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/x162.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/x177.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/x57.html delete mode 100644 gramps2/doc/extending-gramps/C/extending-gramps/x83.html delete mode 100644 gramps2/doc/extending-gramps/C/index.html delete mode 100644 gramps2/doc/extending-gramps/C/omf_timestamp delete mode 100644 gramps2/doc/extending-gramps/Makefile.am diff --git a/gramps2/doc/extending-gramps/.cvsignore b/gramps2/doc/extending-gramps/.cvsignore deleted file mode 100644 index f0ad7e152..000000000 --- a/gramps2/doc/extending-gramps/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/gramps2/doc/extending-gramps/C/.cvsignore b/gramps2/doc/extending-gramps/C/.cvsignore deleted file mode 100644 index f0ad7e152..000000000 --- a/gramps2/doc/extending-gramps/C/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/gramps2/doc/extending-gramps/C/Makefile.am b/gramps2/doc/extending-gramps/C/Makefile.am deleted file mode 100644 index 31cb3cd32..000000000 --- a/gramps2/doc/extending-gramps/C/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -SGML_FILES = - -figs = - -docname = extending-gramps -lang = C -omffile = extending-gramps-C.omf -sgml_ents = -include ${top_srcdir}/doc/sgmldocs.make -dist-hook: app-dist-hook diff --git a/gramps2/doc/extending-gramps/C/extending-gramps-C.omf b/gramps2/doc/extending-gramps/C/extending-gramps-C.omf deleted file mode 100644 index 4f518e90b..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps-C.omf +++ /dev/null @@ -1,14 +0,0 @@ - - - - - Writing GRAMPS Extensions - - - GNOME|Applications - - - - - - diff --git a/gramps2/doc/extending-gramps/C/extending-gramps.sgml b/gramps2/doc/extending-gramps/C/extending-gramps.sgml deleted file mode 100644 index 3704fc45c..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps.sgml +++ /dev/null @@ -1,774 +0,0 @@ - -]> - - - -
- - - Writing Extentions for gramps - - 2001 - Donald N. Allingham - - - - - - - - - - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation - License, 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 here. - - - 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. - - - - - - - - - - - - - - - - - - - - This is version 1.0 of the Writing Extentions for gramps manual. - - - - - - - Introduction - - gramps 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. - - - All plugins are written in the python - language. - - - Filters - - A filter is a plugin that be used to temporarily display or hide - individuals in the People View. 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. - - - Filters should never alter a database. - - - - Reports - - 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. - - - Plugins that conform to the reportplugin interface appear in the - - Reports - - menu and in the Report Selection dialog - box. - - - A report should never alter the database. - - - - Tools - - 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. - - - Plugins that conform to the tool plugin interface appear in the - - Tools - - menu and in the Tool Selection dialog - box. - - - A tool is allowed (and usually expected) to alter the database. - - - - Import Filters - - 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. - - - Plugins that conform to the import filter calling syntax appear - in the - - File - Import - - menu. - - - An import filter is allowed to modify the database. - - - - Export Filters - - 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. - - - Plugins that conform to the export filter calling syntax appear - in the - - File - Export - - menu. - - - An export filter should not alter the database. - - - - - - - - Writing Filters - - Users can create their own filters and add them to - gramps. By adding the filter to the - user's private filter directory (~/.gramps/filters), the filter will - be automatically recognized the next time that the program is - started. - - - Creating a filter - - Each filter is a class derived from the - Filter.Filter class. The - __init__ task may be overridden, but if so, - should call the __init__ function on the - Filter.Filter class. The parent class - provides the variable self.text, 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. - - - All filter classes must define a match - function. The function takes one argument (other than - self), which is an object of type - Person to compare against. The function - should return a 1 if the person matches the filter, or a zero if - the person does not. - - - Each filter must be registered, so that - gramps knows about it. This is - accomplished by calling the - Filter.register_filter 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 gramps, and helps - the user choose the appropriate filter. The qualifier flag tells - gramps whether or not the filter - needs a qualifier string. If this flag is 0, - gramps will disable the entry of a - qualifier string. - -
- Sample filter implementation - - -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) - - -
-
-
- - - - - Writing Reports - - Users can create their own report generators and add them to - gramps. By adding the report generator - to the user's private plugin directory (~/.gramps/plugins), the report - generator will be automatically recognized the next time that the - program is started. - - - Creating a report generator - - Fewer restrictions are made on report generators than on - filters. The report generator is passed the current - gramps database and the active - person. The generator needs to take special care to make sure - that it does not alter the database in anyway. - - - A report generator is a function that takes two arguments - — a database (of type RelDataBase) - and the currently selected person (of type - Person). When called, this task should - generate the desired report. - - - 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. - - - As with filters, the report generator must be registered before - gramps will understand it. The report - generator is registered using the - Plugins.register_report. This function - takes five arguments. - - - - - The report generation task This task - that generates the report. - - - - - The report category The category in - which the report is grouped in the - Reports menu and - in the Report Selection dialog. - - - - - The report name - The name of the report. - - - - - A text description of the report The - description appears in the report selection tool to provide - the user with a description of what the tools does. - - - - - A graphic logo in XPM format 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. - - - - - While only the task and report name are required, it is - recommended to provide all five parameters. - -
- Sample report implementation - - -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__) -) - -
-
- - A little help - Format Interfaces - - gramps 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, gramps derives interfaces to - various document formats. This means that by coding to the - generic word processing class (TextDoc), a - report generator can instant access to multiple file formats - (such as HTML, OpenOffice, and AbiWord). - - - 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 - KWord or - LaTeX) makes it easy for existing - report generators to use the new formats. - - -
- - - - - Writing Tools - - Users can create their own tools and add them to - gramps. By adding the tool to the - user's private plugin directory (~/.gramps/plugins), the tool will be - automatically recognized the next time that - gramps is started. - - - Unlike a report generator, a tool is allowed to modify the - database. The tool is passed the current - gramps 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. - - - As with filters and report generators, tools must be registered - before gramps will understand it. The - tool is registered using the - Plugins.register_tool. This function takes - four arguments. - - - - - The tool task This task - that executes the tool. - - - - - The tool category The category in which - the tool is grouped in the - Tools menu and in - the Tool Selection dialog. - - - - - The tool name - The name of the tool. - - - - - A text description of the tool The - description appears in the Tool Selection dialog to provide - the user with a description of what the tool does. - - - - - While only the task and report name are required, it is - recommended to provide all five parameters. - -
- Sample tool implementation - - -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" -) - -
-
- - - - - Writing Import Filters - - Import filters are similar to tools, since they are allowed to - modify the databases. An import filter is a task that accepts - three arguments — a database, the filename of the file that - is to be imported, and a callback function. - - - 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. - - - 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. - - - As with the other plugin types, an import filter must be - registered with gramps. This is - accomplished by calling the - Plugins.register_import task. The - Plugins.register_import accepts two arguments - — the function the performs the import and a string - providing a brief description. This description is used as the - menu entry under the - - File - Import - - menu. - -
- Sample Import Implementation - - -import Plugins - -def gedcom_import(database,filename,callback): - ... actual code ... - -Plugins.register_import(gedcom_import,"GEDCOM import") - - -
-
- - - - - Writing Export Filters - - Export filters are similar to report generators. They are not - allowed to modify the database. An export filter accepts three - arguments — a database, the filename of the file that is to - be written, and a callback function. - - - 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. - - - As with the other plugin types, an export filter must be - registered with gramps. This is - accomplished by calling the - Plugins.register_export task. The - Plugins.register_export accepts two arguments - — the function the performs the import and a string - providing a brief description. This description is used as the - menu entry under the - - File - Export - - menu. - -
- Sample Export Implementation - - -import Plugins - -def gedcom_export(database,filename,callback): - ... actual code ... - -Plugins.register_export(gedcom_export,"GEDCOM export") - - -
-
- - Common tasks - - While this manual does not document the - gramps database interface, this section - shows a few common tasks. - - - Printing names of people - - This example shows how to display the name of people in the - database. It assumes that the database is called - db. To get a list of people, it calls the - getPersonMap method, which returns a map of - gramps ID to - Person objects. Calling the - valus method of the returned map returns a - list of people. For each person, the primary name is extracted, - and then the Name object's - getName method is called to build a - presentable name from the individual name components. - -
- Displaying names - - -for person in db.getPersonMap().values(): - name = person.getPrimaryName() - print name.getName() - - -
-
- - Displaying the events of person - - This example shows how to display the public events associated - with a person. It assumes that the person is called - person. - -
- Displaying Event Information - - -for event in person.getEventList(): - if event.getPrivacy() == 0: - print "Event:",event.getName() - print "Date:",event.getDate() - print "Place:",event.getPlaceName() - - -
-
- - Print the members of each family - - This example shows how to display the parents and children of - each family in the database. It assumes that the database is called - db. - -
- Displaying Family Information - - -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() - - -
-
- - Display the marriages/relationships of a person - - 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 person. - - - 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 getFather and - getMother to find the one that is not - equal. It should also be noted that the - getFather and - getMother methods will return None if noone - has been associated with that role in the family. - -
- Displaying Relationship Information - - -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() - - -
-
-
- - - - - Authors - - gramps was written by Don Allingham - (dallingham@users.sourceforge.net). To find more - information about gramps, please visit - the gramps - web page. - - - This manual was written by Don Allingham - (dallingham@users.sourceforge.net). - - - - - - - - - License - - 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. - - - A copy of the GNU General Public License is - included as an appendix to the GNOME Users - Guide. You may also obtain a copy of the - GNU General Public License from the Free - Software Foundation by visiting their Web site or by writing to -
- Free Software Foundation, Inc. 59 Temple Place - - Suite 330 Boston, MA - 02111-1307 USA -
-
-
-
- - - - - - - - - diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/index.html b/gramps2/doc/extending-gramps/C/extending-gramps/index.html deleted file mode 100644 index 42274a813..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/index.html +++ /dev/null @@ -1,345 +0,0 @@ - -Writing Extentions for gramps

Writing Extentions for gramps

Copyright © 2001 by Donald N. Allingham


Table of Contents
Introduction
Writing Filters
Writing Reports
Writing Tools
Writing Import Filters
Writing Export Filters
- - - -

Introduction

-

gramps 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. -

-

All plugins are written in the python - language. -

-

Filters

-

A filter is a plugin that be used to temporarily display or hide - individuals in the People View. 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. -

-

Filters should never alter a database. -

-
-

Reports

-

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. -

-

Plugins that conform to the reportplugin interface appear in the - + + + + + + + + + +Reports+ -+ + + + + + + + - menu and in the Report Selection dialog - box. -

-

A report should never alter the database. -

-
-

Tools

-

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. -

-

Plugins that conform to the tool plugin interface appear in the - + + + + + + + + + +Tools+ -+ + + + + + + + - menu and in the Tool Selection dialog - box. -

-

A tool is allowed (and usually expected) to alter the database. -

-
-

Import Filters

-

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. -

-

Plugins that conform to the import filter calling syntax appear - in the - + + + + + + + + + +File+ -+ + + + + + + + + + ->Import+ -+ + + + + + + + - menu. -

-

An import filter is allowed to modify the database. -

-
-

Export Filters

-

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. -

-

Plugins that conform to the export filter calling syntax appear - in the - + + + + + + + + + +File+ -+ + + + + + + + + + ->Export+ -+ + + + + + + + - menu. -

-

An export filter should not alter the database. -

-
-
- - - - - - - - - - - - - - -

  Next >>>
  Writing Filters
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/ln7.html b/gramps2/doc/extending-gramps/C/extending-gramps/ln7.html deleted file mode 100644 index 507e5597e..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/ln7.html +++ /dev/null @@ -1,133 +0,0 @@ - -
Writing Extentions for gramps

Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation - License, 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 here. -

-

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. -

-


 Home 
 Up 
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/caution.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/caution.gif deleted file mode 100644 index 54223291154fed2f9639ce2707976ec58f44169b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1039 zcmZ?wbh9u|lwgox_|5Sh{s9!`7`) zTel`}-MV$}UWUDUlh2)FICt*cwQCI5t^vtw_wF&=yJvXsp5?uJPS2k+Jb!NZ{JG`x z=g;52XL$eq{rB$--@gld|1RgdJ(|D$SrA+HAyGpqN^7x16zrMq{!ibMp=6~-(4c99<%wR z=lEzgH#IP+?pT$g`C;jexlBBNo_IO0=v$GV+9Oerpc~DlP;%tKgT`Z#V$4EkL{=v; zaW)#7)%@r_aPX#>5Fh`Y-v{$g32`gkn0k?^DW$2?_JPMq28Kof%}^J&9pNUYcvyH^ zranA$=y~&6-RTjl4}Cj!qXy}<-Pfit2&px)3vi@}Ecoi+!6qxs r(ZS&8c(6lQJMIjJqGMAJzuvhVhQ!S+Y#bZ9V$SZ``nrvgk--`Oh`uWh diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/important.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/important.gif deleted file mode 100644 index 8793ff2b1fe6ff180580d1f263b157a64934137c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1081 zcmeH`!AlfT0LI^{*tG3oR-;A|YnLrqUC32LCk@;w+gcQ35{x-%&ki*qObA0rgpfEP zNkSw-AR!7N#PfjXv7VRoJi+rkN?A%dN|TiGlx8TUz7Kq#@qO0!BmRH>r3Vsw2JE>2 zm_OhhQ+xjA{Zy`^x}o%D+QinvT2n3`8xZIFU!2Jm zCibJ@!slUgUGME#Ebw1WR0r9yQfVQ3>|s^wfCxZWN}THL422hC6`5zjr-#7krF3w- z{bK1ubo^RbJ>(N#qtUg^aL?i4n#r=&s&L=H5(@^GHyh73m)2i4?+XNCe=6%bchZ4C z7&~1*-O!NFz@VXc@G8x|gJ5|Hx|&`^AIq@7DufTJL=k*SSS$s)v|q2U0#fW|VLhy+z< zR$&&E6#^R%H8b;b_*e)mU}9q9Vv)(X@FBT{fiEEJLgc~*4<eAwF5u#VYwR?e%Shb+u`oHi>KJaB03@|>=hvC84eAr3KCza2Lm7+W|6 WloX~(95gs~e1fv~yck6V25SH;%O9}- diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/note.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/note.gif deleted file mode 100644 index 45fe0864971e4c352a37ce4df664b00f1e054b7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmV+}1kw9PNk%v~VHf}y0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui02lxm000R70RIUbNbsCNg9H;Q6xgd2rBVHES(3_Ku{tyHgqN;d+?Tzju!Z);;TuQDVJwRQAHSkR)YFdrEO!v&XBk zJwOwl{a4GHz*-^KY@Rd5rovJavBo?tB{Lyo6k9@$D)OJx<0pIB#+rEO&f%|l4*kcd o_`qJ2pi}&6ogi$&oxc>r#EMbwId40)HiwBGBuL!a2L=QHJ03R*g8%>k diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/prev.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/prev.gif deleted file mode 100644 index 0894d9ecb26316a61e914879c48520cc8aee392d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 944 zcmZ?wbh9u|RA%63_|Cw<(83_lBcRx$s5wQ`aE_tV94D`(UO{VvvbSaz?=5cG+tPEa zXUe%LOV2G`du{Epd&kZ_KX>i@wde1jzyJRJ|0oy@fgv6OI>0Qz0Llvt98(!IIb=LG zEI8QAA*>a1V#7k`W+6F`nhzV2ni%sMgrT8{g_D_uZNY^D443EGIST1`39V>a$f&~eRijiP ybPlVqjKR$hN{*ZiRYDmKlawRc1?88Ba5ye<;N%wZnBfq<^#1+^W@{b}25SIMS`<+L diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/tip.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/tip.gif deleted file mode 100644 index 0258195484893202b233c111424f6f6812eacb47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1029 zcmV+g1p50&Nk%v~VHp4z0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui02u%n000Q;0RIUbNbsCNg9H;Q6nM^9DN3axLUeX-VZwX8CZ4;u zu^}Z&&MY#7=uMQzzXzjLK(DOA}@A62gx007pM9e9q?%bp7<-HvA!GFEE{U`SDUWKJX{uk@&whU_+wL7l%xqVSOWl-?jltH diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-minus.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-minus.gif deleted file mode 100644 index 40ebe61e46a6bd1d8c2c5292af72365d489c6c56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 843 zcmZ?wbhEHb~0HBcxg#Z8m diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-plus.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/toc-plus.gif deleted file mode 100644 index 3e9e7d55a3dde56cd0f6596f3cd6d555323ab273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 846 zcmZ?wbhEHb9$=O@8TlTi}9P62KZpzks zTaVp4cJBGPYwxc;fB*db_xJxt!Dt8!mk`haW&s9JUSQy;XHe#l@z}87U^9oXR?LZl z2hFTJQZ5+>5*S|7To{< diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/warning.gif b/gramps2/doc/extending-gramps/C/extending-gramps/stylesheet-images/warning.gif deleted file mode 100644 index 9c1104c2b15445dd0824fd6515659ee0fe18bfd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1052 zcmeHG&1=(e0DVo%7HbcgOo>=$KTg3N?8@v)L4uu*Wm2|w7mJ7m-NYeQ<`fNst{-gH zFn0)2C7>b!DFnRyWC)cilI^esda&T7hYgk~Lh8jLf;0XP9`|@W-t9deyphrKLy-&% z79D^F7}yqmfCECnSwH}iKpL00umtG6h$SORMKfh6jeZtMpZ#ji$ztIRaMmh zEfmsZnE-_2h$In3A*xCUsR1=js}Z6DI>YEJtLwS}7z|^utif?jplNHf*#cUvmI;`C zziFBlV9~T?S$5k_r?Us_?PGs||Fl3qZ2bEI=s&nmd)MP#Qi1N-@~vmDl{m)~TAi))WhOkCPn3Z5%1`%*jnZAb7!@1gPPg@=K{SYIGf{obyZgePn&I~mRM zIoCk^vfShUy4LNWnD(!*OLB*2uQN=Ym!3v^_4dl=Pj;;Gz#|UMNR;Eq)oWvScO<97 zyK(r@;K@9Ce=cu6i!Z>P|8001xvKE);`Av#$M(C9mQy#DzRgV?^bGMYDqk{u&KaJ3 zU-1=2b{nx{ugB+K65i`gFp1Iaf%x&j9n1JZecW7F%}mcv#I|oXB2&Z9&%7$#GO4+h QO1&1l=Xra8>T)6W7esUR#{d8T diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/t1.html b/gramps2/doc/extending-gramps/C/extending-gramps/t1.html deleted file mode 100644 index 42274a813..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/t1.html +++ /dev/null @@ -1,345 +0,0 @@ - -Writing Extentions for gramps

Writing Extentions for gramps

Copyright © 2001 by Donald N. Allingham


- - - -

Introduction

-

gramps 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. -

-

All plugins are written in the python - language. -

-
- - - - -
- - - - - - - - - - - - - - -

  Next >>>
  Writing Filters
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/x131.html b/gramps2/doc/extending-gramps/C/extending-gramps/x131.html deleted file mode 100644 index 59d008e61..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/x131.html +++ /dev/null @@ -1,282 +0,0 @@ - -Writing Tools
Writing Extentions for gramps
<<< PreviousNext >>>

Writing Tools

-

Users can create their own tools and add them to - gramps. By adding the tool to the - user's private plugin directory (~/.gramps/plugins), the tool will be - automatically recognized the next time that - gramps is started. -

-

Unlike a report generator, a tool is allowed to modify the - database. The tool is passed the current - gramps 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. -

-

As with filters and report generators, tools must be registered - before gramps will understand it. The - tool is registered using the - Plugins.register_tool. This function takes - four arguments. -

-

  • The tool task This task - that executes the tool. -

    -
  • The tool category The category in which - the tool is grouped in the - Tools menu and in - the Tool Selection dialog. -

    -
  • The tool name - The name of the tool. -

    -
  • A text description of the tool The - description appears in the Tool Selection dialog to provide - the user with a description of what the tool does. -

    -
-

While only the task and report name are required, it is - recommended to provide all five parameters. -

-
-

<<< PreviousHomeNext >>>
Writing Reports Writing Import Filters
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/x162.html b/gramps2/doc/extending-gramps/C/extending-gramps/x162.html deleted file mode 100644 index 790ff3932..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/x162.html +++ /dev/null @@ -1,219 +0,0 @@ - -Writing Import Filters
Writing Extentions for gramps
<<< PreviousNext >>>

Writing Import Filters

-

Import filters are similar to tools, since they are allowed to - modify the databases. An import filter is a task that accepts - three arguments a database, the filename of the file that - is to be imported, and a callback function. -

-

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. -

-

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. -

-

As with the other plugin types, an import filter must be - registered with gramps. This is - accomplished by calling the - Plugins.register_import task. The - Plugins.register_import accepts two arguments - the function the performs the import and a string - providing a brief description. This description is used as the - menu entry under the - + + + + + +File+ -+ + + + + + ->Import+ -+ + + + - menu. -

-
-

<<< PreviousHomeNext >>>
Writing Tools Writing Export Filters
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/x177.html b/gramps2/doc/extending-gramps/C/extending-gramps/x177.html deleted file mode 100644 index 6654c0a36..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/x177.html +++ /dev/null @@ -1,180 +0,0 @@ - -Writing Export Filters
Writing Extentions for gramps
<<< Previous 

Writing Export Filters

-

Export filters are similar to report generators. They are not - allowed to modify the database. An export filter accepts three - arguments a database, the filename of the file that is to - be written, and a callback function. -

-

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. -

-

As with the other plugin types, an export filter must be - registered with gramps. This is - accomplished by calling the - Plugins.register_export task. The - Plugins.register_export accepts two arguments - the function the performs the import and a string - providing a brief description. This description is used as the - menu entry under the - + + + + + +File+ -+ + + + + + ->Export+ -+ + + + - menu. -

-

<<< PreviousHome 
Writing Import Filters  
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/x57.html b/gramps2/doc/extending-gramps/C/extending-gramps/x57.html deleted file mode 100644 index 52c5b09db..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/x57.html +++ /dev/null @@ -1,276 +0,0 @@ - -Writing Filters
Writing Extentions for gramps
<<< PreviousNext >>>

Writing Filters

-

Users can create their own filters and add them to - gramps. By adding the filter to the - user's private filter directory (~/.gramps/filters), the filter will - be automatically recognized the next time that the program is - started. -

-

Creating a filter

-

Each filter is a class derived from the - Filter.Filter class. The - __init__ task may be overridden, but if so, - should call the __init__ function on the - Filter.Filter class. The parent class - provides the variable self.text, 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. -

-

All filter classes must define a match - function. The function takes one argument (other than - self), which is an object of type - Person to compare against. The function - should return a 1 if the person matches the filter, or a zero if - the person does not. -

-

Each filter must be registered, so that - gramps knows about it. This is - accomplished by calling the - Filter.register_filter 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 gramps, and helps - the user choose the appropriate filter. The qualifier flag tells - gramps whether or not the filter - needs a qualifier string. If this flag is 0, - gramps will disable the entry of a - qualifier string. -

-
-
-

<<< PreviousHomeNext >>>
Writing Extentions for gramps Writing Reports
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/extending-gramps/x83.html b/gramps2/doc/extending-gramps/C/extending-gramps/x83.html deleted file mode 100644 index 1faa64d78..000000000 --- a/gramps2/doc/extending-gramps/C/extending-gramps/x83.html +++ /dev/null @@ -1,369 +0,0 @@ - -Writing Reports
Writing Extentions for gramps
<<< PreviousNext >>>

Writing Reports

-

Users can create their own report generators and add them to - gramps. By adding the report generator - to the user's private plugin directory (~/.gramps/plugins), the report - generator will be automatically recognized the next time that the - program is started. -

-

Creating a report generator

-

Fewer restrictions are made on report generators than on - filters. The report generator is passed the current - gramps database and the active - person. The generator needs to take special care to make sure - that it does not alter the database in anyway. -

-

A report generator is a function that takes two arguments - a database (of type RelDataBase) - and the currently selected person (of type - Person). When called, this task should - generate the desired report. -

-

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. -

-

As with filters, the report generator must be registered before - gramps will understand it. The report - generator is registered using the - Plugins.register_report. This function - takes five arguments. -

-

  • The report generation task This task - that generates the report. -

    -
  • The report category The category in - which the report is grouped in the - Reports menu and - in the Report Selection dialog. -

    -
  • The report name - The name of the report. -

    -
  • A text description of the report The - description appears in the report selection tool to provide - the user with a description of what the tools does. -

    -
  • A graphic logo in XPM format 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. -

    -
-

While only the task and report name are required, it is - recommended to provide all five parameters. -

-
-
-

A little help - Format Interfaces

-

gramps 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, gramps derives interfaces to - various document formats. This means that by coding to the - generic word processing class (TextDoc), a - report generator can instant access to multiple file formats - (such as HTML, OpenOffice, and AbiWord). -

-

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 - KWord or - LaTeX) makes it easy for existing - report generators to use the new formats. -

-
-

<<< PreviousHomeNext >>>
Writing Filters Writing Tools
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/index.html b/gramps2/doc/extending-gramps/C/index.html deleted file mode 100644 index 42274a813..000000000 --- a/gramps2/doc/extending-gramps/C/index.html +++ /dev/null @@ -1,345 +0,0 @@ - -Writing Extentions for gramps

Writing Extentions for gramps

Copyright © 2001 by Donald N. Allingham


- - - -

Introduction

-

gramps 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. -

-

All plugins are written in the python - language. -

-
- - - - -
- - - - - - - - - - - - - - -

  Next >>>
  Writing Filters
\ No newline at end of file diff --git a/gramps2/doc/extending-gramps/C/omf_timestamp b/gramps2/doc/extending-gramps/C/omf_timestamp deleted file mode 100644 index e69de29bb..000000000 diff --git a/gramps2/doc/extending-gramps/Makefile.am b/gramps2/doc/extending-gramps/Makefile.am deleted file mode 100644 index dbed85073..000000000 --- a/gramps2/doc/extending-gramps/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -# Process this file with automake to produce Makefile.in - -SUBDIRS = C -