* src/DataViews/_EventView.py: Add sidebar filter.

* src/FilterEditor/_FilterEditor.py: Support event filters.
	* src/Filters/__init__.py: expose new module.
	* src/Filters/_PersonSidebarFilter.py: Fix type handling.
	* src/Filters/_FamilySidebarFilter.py: Fix type handling.
	* src/Filters/_GenericFilter.py: Support event filters.
	* src/Filters/_EventSidebarFilter.py: add new module.
	* src/Filters/Rules/Events/*.py: add new rules.
	* src/Filters/Rules/Family/_HasRelType.py (apply): Use new API.


svn: r7127
This commit is contained in:
Alex Roitman
2006-08-05 04:05:05 +00:00
parent af33023e61
commit e7dc7a9125
18 changed files with 608 additions and 9 deletions

View File

@@ -37,11 +37,12 @@ import DisplayModels
import Utils
import Errors
import Bookmarks
import Config
import const
from DdTargets import DdTargets
from QuestionDialog import QuestionDialog
from Editors import EditEvent, DelEventQuery
from Filters import EventSidebarFilter
#-------------------------------------------------------------------------
#
# internationalization
@@ -83,7 +84,10 @@ class EventView(PageView.ListView):
self, _('Events'), dbstate, uistate,
column_names, len(column_names), DisplayModels.EventModel,
signal_map, dbstate.db.get_event_bookmarks(),
Bookmarks.EventBookmarks)
Bookmarks.EventBookmarks, filter_class=EventSidebarFilter)
Config.client.notify_add("/apps/gramps/interface/filter",
self.filter_toggle)
def get_bookmarks(self):
return self.dbstate.db.get_event_bookmarks()
@@ -113,6 +117,7 @@ class EventView(PageView.ListView):
<menuitem action="Remove"/>
</placeholder>
<menuitem action="ColumnEdit"/>
<menuitem action="FilterEdit"/>
</menu>
</menubar>
<toolbar name="ToolBar">
@@ -134,6 +139,28 @@ class EventView(PageView.ListView):
self.add_action('ColumnEdit', gtk.STOCK_PROPERTIES,
_('_Column Editor'), callback=self.column_editor)
self.add_action('FilterEdit', None, _('Event Filter Editor'),
callback=self.filter_editor,)
def filter_toggle(self, client, cnxn_id, etnry, data):
if Config.get(Config.FILTER):
self.search_bar.hide()
self.filter_pane.show()
active = True
else:
self.search_bar.show()
self.filter_pane.hide()
active = False
def filter_editor(self,obj):
from FilterEditor import FilterEditor
try:
FilterEditor('Event',const.custom_filters,
self.dbstate,self.uistate)
except Errors.WindowActiveError:
pass
def column_editor(self,obj):
import ColumnOrder