本文整理汇总了Python中tryton.gui.window.view_form.screen.Screen.get_domain方法的典型用法代码示例。如果您正苦于以下问题:Python Screen.get_domain方法的具体用法?Python Screen.get_domain怎么用?Python Screen.get_domain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tryton.gui.window.view_form.screen.Screen
的用法示例。
在下文中一共展示了Screen.get_domain方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: One2Many
# 需要导入模块: from tryton.gui.window.view_form.screen import Screen [as 别名]
# 或者: from tryton.gui.window.view_form.screen.Screen import get_domain [as 别名]
#.........这里部分代码省略.........
record = None
if not widget._validate():
def go_previous():
record = widget.screen.current_record
if not is_compatbile(screen, record):
record = None
screen.current_record = record
screen.display()
gobject.idle_add(go_previous)
return
to_sync.append((widget, record))
for widget, record in to_sync:
if (
widget.screen.current_view.view_type == "form"
and record is not None
and widget.screen.group.model_name == record.group.model_name
):
fields = dict((name, field.attrs) for name, field in widget.screen.group.fields.iteritems())
record.group.load_fields(fields)
widget.screen.current_record = record
widget.display(widget.record, widget.field)
def display(self, record, field):
super(One2Many, self).display(record, field)
self._set_button_sensitive()
if field is None:
self.screen.new_group()
self.screen.current_record = None
self.screen.parent = None
self.screen.display()
return False
new_group = field.get_client(record)
if self.attrs.get("group") and self.attrs.get("mode") == "form":
if self.screen.current_record is None:
self.invisible_set(True)
elif id(self.screen.group) != id(new_group):
self.screen.group = new_group
if (self.screen.current_view.view_type == "tree") and self.screen.current_view.editable:
self.screen.current_record = None
readonly = False
domain = []
size_limit = None
if record:
readonly = field.get_state_attrs(record).get("readonly", False)
domain = field.domain_get(record)
size_limit = record.expr_eval(self.attrs.get("size"))
if self.screen.get_domain() != domain:
self.screen.domain = domain
self.screen.group.readonly = readonly
self.screen.size_limit = size_limit
self.screen.display()
return True
def set_value(self, record, field):
if (
self.screen.current_view.view_type == "form"
and self.attrs.get("group")
and self.screen.model_name != record.model_name
):
return True
self.screen.current_view.set_value()
if self.screen.modified(): # TODO check if required
record.modified_fields.setdefault(field.name)
record.signal("record-modified")
return True
def _completion_match_selected(self, completion, model, iter_):
record_id, = model.get(iter_, 1)
self.screen.load([record_id], modified=True)
self.wid_text.set_text("")
self.wid_text.grab_focus()
completion_model = self.wid_completion.get_model()
completion_model.clear()
completion_model.search_text = self.wid_text.get_text()
return True
def _update_completion(self, widget):
if self._readonly:
return
if not self.record:
return
model = self.attrs["relation"]
domain = self.field.domain_get(self.record)
domain = [domain, self.record.expr_eval(self.attrs.get("add_remove"))]
removed_ids = self.field.get_removed_ids(self.record)
domain = ["OR", domain, ("id", "in", removed_ids)]
update_completion(self.wid_text, self.record, self.field, model, domain=domain)
def _completion_action_activated(self, completion, index):
if index == 0:
self._sig_add()
self.wid_text.grab_focus()
elif index == 1:
self._sig_new()