本文整理汇总了Python中stoqlib.gui.slaves.saleslave.SaleListToolbar类的典型用法代码示例。如果您正苦于以下问题:Python SaleListToolbar类的具体用法?Python SaleListToolbar怎么用?Python SaleListToolbar使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SaleListToolbar类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SaleWithToolbarSearch
class SaleWithToolbarSearch(_BaseSaleSearch):
#
# _BaseSaleSearch
#
def setup_widgets(self):
self._sale_toolbar = SaleListToolbar(self.store, self.results, self)
self._sale_toolbar.connect('sale-returned', self._on_sale__returned)
self._sale_toolbar.update_buttons()
self.attach_slave("extra_holder", self._sale_toolbar)
self.results.connect(
'selection-changed', self._on_results__selection_changed)
self.search.set_summary_label('total', label=_(u'Total:'),
format='<b>%s</b>')
#
# Private
#
def _update_widgets(self, sale_view):
sale = sale_view and sale_view.sale
try:
till = Till.get_current(self.store)
except TillError:
till = None
can_edit = bool(sale and sale.can_edit())
# We need an open till to return sales
if sale and till:
can_return = sale.can_return() or sale.can_cancel()
else:
can_return = False
self._sale_toolbar.return_sale_button.set_sensitive(can_return)
self._sale_toolbar.edit_button.set_sensitive(can_edit)
#
# Callbacks
#
def _on_results__selection_changed(self, results, sale_view):
self._update_widgets(sale_view)
def _on_sale__returned(self, slave, sale_returned):
if sale_returned:
self._update_widgets(self.results.get_selected())
示例2: setup_widgets
def setup_widgets(self):
self._sale_toolbar = SaleListToolbar(self.store, self.results, self)
self._sale_toolbar.connect('sale-returned', self._on_sale__returned)
self._sale_toolbar.update_buttons()
self.attach_slave("extra_holder", self._sale_toolbar)
self.results.connect(
'selection-changed', self._on_results__selection_changed)
self.search.set_summary_label('total', label=_(u'Total:'),
format='<b>%s</b>')
示例3: SaleWithToolbarSearch
class SaleWithToolbarSearch(_BaseSaleSearch):
#
# _BaseSaleSearch
#
def setup_widgets(self):
self._sale_toolbar = SaleListToolbar(self.store, self.results, self)
self._sale_toolbar.connect('sale-returned', self._on_sale__returned)
self._sale_toolbar.update_buttons()
self.attach_slave("extra_holder", self._sale_toolbar)
self.results.connect(
'selection-changed', self._on_results__selection_changed)
self.search.set_summary_label('total', label=_(u'Total:'),
format='<b>%s</b>')
#
# Private
#
def _update_widgets(self, sale_view):
if sale_view is None:
return
sale = sale_view.sale
can_edit = sale.can_edit()
can_return = sale.can_return() or sale.can_cancel()
self._sale_toolbar.return_sale_button.set_sensitive(can_return)
self._sale_toolbar.edit_button.set_sensitive(can_edit)
#
# Callbacks
#
def _on_results__selection_changed(self, results, sale_view):
self._update_widgets(sale_view)
def _on_sale__returned(self, slave, sale_returned):
if sale_returned:
self._update_widgets(self.results.get_selected())
示例4: _setup_slaves
def _setup_slaves(self):
# This is only here to reuse the logic in it.
self.sale_toolbar = SaleListToolbar(self.store, self.results,
parent=self)
示例5: SalesApp
#.........这里部分代码省略.........
self._status_col,
SearchColumn('client_name', title=_('Client'),
data_type=str, width=140, expand=True,
ellipsize=pango.ELLIPSIZE_END),
SearchColumn('salesperson_name', title=_('Salesperson'),
data_type=str, width=130,
ellipsize=pango.ELLIPSIZE_END),
SearchColumn('total_quantity', title=_('Items'),
data_type=decimal.Decimal, width=60,
format_func=format_quantity),
SearchColumn('total', title=_('Total'), data_type=currency,
width=120)]
return cols
#
# Private
#
def _create_summary_label(self):
self.search.set_summary_label(column='total',
label='<b>Total:</b>',
format='<b>%s</b>',
parent=self.get_statusbar_message_area())
def _setup_widgets(self):
self._setup_slaves()
self._inventory_widgets = [self.sale_toolbar.return_sale_button,
self.Return, self.LoanNew, self.LoanClose]
self.register_sensitive_group(self._inventory_widgets,
lambda: not self.has_open_inventory())
def _setup_slaves(self):
# This is only here to reuse the logic in it.
self.sale_toolbar = SaleListToolbar(self.store, self.results,
parent=self)
def _update_toolbar(self, *args):
sale_view = self.results.get_selected()
# FIXME: Disable invoice printing if the sale was returned. Remove this
# when we add proper support for returned sales invoice.
can_print_invoice = bool(sale_view and
sale_view.client_name is not None and
sale_view.status != Sale.STATUS_RETURNED)
self.set_sensitive([self.SalesPrintInvoice], can_print_invoice)
self.set_sensitive([self.SalesCancel],
bool(sale_view and sale_view.can_cancel()))
self.set_sensitive([self.sale_toolbar.return_sale_button, self.Return],
bool(sale_view and sale_view.can_return()))
self.set_sensitive([self.sale_toolbar.return_sale_button, self.Details],
bool(sale_view))
self.set_sensitive([self.sale_toolbar.edit_button, self.Edit],
bool(sale_view and sale_view.can_edit()))
# If the sale cannot be edit anymore, we only allow to change the client
self.set_sensitive([self.ChangeClient],
bool(sale_view and not sale_view.can_edit()))
self.sale_toolbar.set_report_filters(self.search.get_search_filters())
def _print_invoice(self):
sale_view = self.results.get_selected()
assert sale_view
sale = sale_view.sale
station = api.get_current_station(self.store)
printer = InvoicePrinter.get_by_station(station, self.store)
if printer is None:
info(_("There are no invoice printer configured for this station"))
return