# Class k.u.s.SearchContainer(gtk.VBox):

Part of kiwi.ui.search View In Hierarchy

A search container is a widget which consists of:

- search entry (w/ a label) (`StringSearchFilter`)
- search button
- objectlist result (`SearchResult`)

- a query executer (`kiwi.db.query.QueryExecuter`)

  Additionally you can add a number of search filters to the SearchContainer. You can chose if you want to add the filter in the top-left corner of bottom, see `SearchFilterPosition`

Method | __init__ | Create a new SearchContainer object.
Method | do_set_property | Undocumented
Method | do_get_property | Undocumented
Method | do_set_child_property | Undocumented
Method | do_get_child_property | Undocumented
Method | add_filter | Adds a search filter
Method | set_filter_position | Set the the filter position.
Method | get_filter_position | Get filter by position.
Method | set_query_executer | Ties a QueryExecuter instance to the SearchContainer class
Method | get_query_executer | Fetchs the QueryExecuter for the SearchContainer
Method | get_primary_filter | Fetches the primary filter for the SearchContainer.
Method | search | Starts a search.
Method | set_auto_search | Enables/Disables auto search which means that the search result box
Method | set_text_field_columns | Undocumented
Method | disable_search_entry | Disables the search entry
Method | set_summary_label | Adds a summary label to the result set
Method | _on_search_button__clicked | Undocumented
Method | _on_search_entry__activate | Undocumented
Method | _on_search_filter__changed | Undocumented
Method | _create_ui | Undocumented

def __init__(self, columns=None, chars=25):
Create a new SearchContainer object.

Parameters | columns | a list of `kiwi.ui.objectlist.Column`
| chars | maximum number of chars used by the search entry

def do_set_property(self, pspec, value):
Undocumented
def do_get_property(self, pspec):
Undocumented
def do_set_child_property(self, child, property_id, value, pspec):
Undocumented
def do_get_child_property(self, child, property_id, pspec):
Undocumented
def add_filter(self, search_filter, position=SearchFilterPosition.BOTTOM, columns=None, callback=None):
Adds a search filter

Parameters | search_filter | the search filter
| postition | a `SearchFilterPosition` enum
| columns |
| callback |

def set_filter_position(self, search_filter, position):
Set the the filter position.

Parameters | search_filter |
| position |

def get_filter_position(self, search_filter):
Get filter by position.

Parameters | search_filter |

def set_query_executer(self, querty_executer):
Ties a QueryExecuter instance to the SearchContainer class

Parameters | querty_executer | a querty executer (type: a `QueryExecuter` subclass )

def get_query_executer(self):
Fetchs the QueryExecuter for the SearchContainer

Returns | a querty executer (type: a `QueryExecuter` subclass )

def get_primary_filter(self):
Fetches the primary filter for the SearchContainer. The primary filter is the filter attached to the standard entry normally used to do free text searching

Returns | the primary filter

def search(self):
Starts a search. Fetches the states of all filters and send it to a query executer and finally puts the result in the result class

def set_auto_search(self, auto_search):
Enables/Disables auto search which means that the search result box is automatically populated when a filter changes

Parameters | auto_search | True to enable, False to disable

def set_text_field_columns(self, columns):
Undocumented
def disable_search_entry(self):
Disables the search entry

def set_summary_label(self, column, label='Total:', format='%s'):
Adds a summary label to the result set

Parameters | column | the column to sum from
| label | the label to use, defaults to 'Total:'
| format | the format, defaults to '%%s', must include '%%s'

def _on_search_button__clicked(self, button):
Undocumented
def _on_search_entry__activate(self, button):
Undocumented
def _on_search_filter__changed(self, search_filter):
Undocumented
def _create_ui(self):
Undocumented