Source code for stoqlib.gui.interfaces

# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4

##
## Copyright (C) 2007-2013 Async Open Source
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., or visit: http://www.gnu.org/.
##
##
## Author(s): Stoq Team <stoq-devel@async.com.br>
##

# pylint: disable=E0102,E0211,E0213

from zope.interface import Interface


[docs]class IDomainSlaveMapper(Interface): """ This is a singleton responsible for mapping a domain object to a slave. """ def register(domain_class, slave_class): """Register a slave class for a domain class. :param domain_class: :param slave_class: """ def get_slave_class(domain_class): """Fetch a slave class given a domain class. :param domain_class: :returns: the slave class or None """
[docs]class ISearchResultView(Interface): """ This is an interface that displays the results of a search query, done by a search container In addition to the interfaces above, the following GObject signals needs to be implemented: - item-activated (item) - item-popup-menu (item, event) - selection-changed () """ def attach(container, columns): """ This is called after we've been attached to a search container :param SearchContainer container: the search container :param columns: list of objectlist columns """ def enable_lazy_search(): """ Enables lazy search for this view, it only makes sense when the items are displayed in an ObjectList """ def show(): """ Displays the result view """ def clear(): """ Clears the results """ def search_completed(results): """ The search was completed. This should populate the widget with the new information. :param results: a result set """ def get_n_items(): """ :returns: now many items there are in the view """ def get_selected_item(): """ Fetches the currently selected item :return: the selected item """ def get_settings(): """ Serialize the internal settings for this view :returns: the settings for this view :rtype: a dictionary """ def destroy(): """ Destroys the result view """ # FIXME: Move these over to search itself of having an implementation # on each view. We might be able to kill the ObjectList variants # as well with these changes. def set_message(message): pass def clear_message(): pass
# pylint: enable=E0102,E0211,E0213