本文整理汇总了Python中kiwi.ui.widgets.list.SummaryLabel.set_value方法的典型用法代码示例。如果您正苦于以下问题:Python SummaryLabel.set_value方法的具体用法?Python SummaryLabel.set_value怎么用?Python SummaryLabel.set_value使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kiwi.ui.widgets.list.SummaryLabel
的用法示例。
在下文中一共展示了SummaryLabel.set_value方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ProductComponentSlave
# 需要导入模块: from kiwi.ui.widgets.list import SummaryLabel [as 别名]
# 或者: from kiwi.ui.widgets.list.SummaryLabel import set_value [as 别名]
class ProductComponentSlave(BaseEditorSlave):
gladefile = 'ProductComponentSlave'
model_type = TemporaryProductComponent
proxy_widgets = ['production_time']
def __init__(self, store, product=None, visual_mode=False):
self._product = product
self._remove_component_list = []
BaseEditorSlave.__init__(self, store, model=None, visual_mode=visual_mode)
self._setup_widgets()
def _get_columns(self):
return [Column('code', title=_(u'Code'), data_type=int,
expander=True, sorted=True),
Column('quantity', title=_(u'Quantity'),
data_type=Decimal),
Column('unit', title=_(u'Unit'), data_type=str),
Column('description', title=_(u'Description'),
data_type=str, expand=True),
Column('category', title=_(u'Category'), data_type=str),
# Translators: Ref. is for Reference (as in design reference)
Column('design_reference', title=_(u'Ref.'), data_type=str),
Column('production_cost', title=_(u'Production Cost'),
format_func=get_formatted_cost, data_type=currency),
Column('total_production_cost', title=_(u'Total'),
format_func=get_formatted_cost, data_type=currency),
]
def _setup_widgets(self):
component_list = list(self._get_products())
if component_list:
self.component_combo.prefill(component_list)
else:
self.sort_components_check.set_sensitive(False)
self.component_tree.set_columns(self._get_columns())
self._populate_component_tree()
self.component_label = SummaryLabel(
klist=self.component_tree,
column='total_production_cost',
label='<b>%s</b>' % api.escape(_(u'Total:')),
value_format='<b>%s</b>')
self.component_label.show()
self.component_tree_vbox.pack_start(self.component_label, False)
self.info_label.set_bold(True)
self._update_widgets()
if self.visual_mode:
self.component_combo.set_sensitive(False)
self.add_button.set_sensitive(False)
self.sort_components_check.set_sensitive(False)
def _get_products(self, sort_by_name=True):
# FIXME: This is a kind of workaround until we have the
# SQLCompletion funcionality, then we will not need to sort the
# data.
if sort_by_name:
attr = ProductFullStockView.description
else:
attr = ProductFullStockView.category_description
products = []
for product_view in self.store.find(ProductFullStockView).order_by(attr):
if product_view.product is self._product:
continue
description = product_view.get_product_and_category_description()
products.append((description, product_view.product))
return products
def _update_widgets(self):
has_selected = self.component_combo.read() is not None
self.add_button.set_sensitive(has_selected)
has_selected = self.component_tree.get_selected() is not None
self.edit_button.set_sensitive(has_selected)
self.remove_button.set_sensitive(has_selected)
# FIXME: This is wrong. Summary label already calculates the total. We
# are duplicating this.
value = self.get_component_cost()
self.component_label.set_value(get_formatted_cost(value))
if not self._validate_components():
self.component_combo.set_sensitive(False)
self.add_button.set_sensitive(False)
self.edit_button.set_sensitive(False)
self.remove_button.set_sensitive(False)
self.info_label.set_text(_(u"This product is being produced. "
"Can't change components."))
def _populate_component_tree(self):
self._add_to_component_tree()
def _get_components(self, product):
for component in self.store.find(ProductComponent, product=product):
yield TemporaryProductComponent(product=component.product,
component=component.component,
quantity=component.quantity,
design_reference=component.design_reference)
#.........这里部分代码省略.........