当前位置: 首页>>代码示例>>Python>>正文


Python Screen.editable_get方法代码示例

本文整理汇总了Python中widget.screen.Screen.editable_get方法的典型用法代码示例。如果您正苦于以下问题:Python Screen.editable_get方法的具体用法?Python Screen.editable_get怎么用?Python Screen.editable_get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在widget.screen.Screen的用法示例。


在下文中一共展示了Screen.editable_get方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: one2many_list

# 需要导入模块: from widget.screen import Screen [as 别名]
# 或者: from widget.screen.Screen import editable_get [as 别名]

#.........这里部分代码省略.........
        if pos!=None:
            val = self._value[pos]
            id = val.get('id', False)
            obj = service.LocalService('action.main')
            res = obj.exec_keyword(type, {'model':self.model, 'id': id or False, 'ids':[id], 'report_type': 'pdf'})
            return True
        else:
            common.message(_('You have to select a resource !'))
            return False

    def switch_view(self, btn, arg):
        self.screen.make_buttons_readonly(True)
        self.screen.switch_view()

    def _readonly_set(self, value):
        self._readonly = value
        self.eb_new.set_sensitive(not value)
        self.eb_del.set_sensitive(not value)
        self.screen.readonly = value
        self.screen.display()

    def set_disable(self, value):
        self.eb_open.set_sensitive(value)
        self.eb_switch.set_sensitive(value)
        if self._readonly:
            value = not self._readonly
        self.eb_del.set_sensitive(value)

    def _sig_new(self, *args):
        _, event = args
        ctx = dict(self._view.model.expr_eval(self.screen.default_get), **self.context)
        ctx.update(self._view.model.expr_eval('dict(%s)' % self.attrs.get('context', '{}')))
        if event.type in (gtk.gdk.BUTTON_PRESS, gtk.gdk.KEY_PRESS):
            if (self.screen.current_view.view_type=='form') or self.screen.editable_get():
                self.screen.new(context=ctx)
                self.screen.make_buttons_readonly()
                self._readonly = False
                self.screen.current_view.widget.set_sensitive(True)
                self.set_disable(True)
            else:
                ok = True
                dia = dialog(self.attrs['relation'], parent=self._view.model, attrs=self.attrs, model_ctx=self.screen.models._context, window=self._window, readonly=self._readonly, context=ctx)
                while ok:
                    ok, value, res = dia.run()
                    if ok or res == gtk.RESPONSE_APPLY:
                        self.screen.models.model_add(value)
                        value.signal('record-changed', value.parent)
                        self.screen.display()
                        dia.new()
                        self.set_disable(True)
                self.pager.reset_pager()
                dia.destroy()

    def _sig_edit(self, *args):
        ctx = dict(self._view.model.expr_eval(self.screen.default_get), **self.context)
        ctx.update(self._view.model.expr_eval('dict(%s)' % self.attrs.get('context', '{}')))
        if self.screen.current_model:
            ok = True
            edited_model = self.screen.current_model
            dia = dialog(self.attrs['relation'], parent=self._view.model,  model=self.screen.current_model, attrs=self.attrs, window=self._window, readonly=self._readonly, context=ctx)
            while ok:
                ok, value, res = dia.run()
                if res == gtk.RESPONSE_OK:
                    dia.new()
                if value and value != edited_model:
                    self.screen.models.model_add(value)
开发者ID:,项目名称:,代码行数:70,代码来源:

示例2: one2many_list

# 需要导入模块: from widget.screen import Screen [as 别名]
# 或者: from widget.screen.Screen import editable_get [as 别名]

#.........这里部分代码省略.........
    def destroy(self):
        self.screen.destroy()

    def _on_activate(self, screen, *args):
        self._sig_edit()

    def click_and_action(self, type):
        pos = self.tree_view.pos_get()
        if pos!=None:
            val = self._value[pos]
            id = val.get('id', False)
            obj = service.LocalService('action.main')
            res = obj.exec_keyword(type, {'model':self.model, 'id': id or False, 'ids':[id], 'report_type': 'pdf'})
            return True
        else:
            common.message(_('You have to select a resource !'))
            return False

    def switch_view(self, btn, arg):
        self.screen.switch_view()

    def _readonly_set(self, value):
        self._readonly = value
        self.eb_new.set_sensitive(not value)
        self.eb_del.set_sensitive(not value)
        self.screen.readonly = value
        self.screen.display()

    def _sig_new(self, *args):
        _, event = args
        ctx = self._view.model.expr_eval(self.screen.default_get)
        ctx.update(self._view.model.expr_eval('dict(%s)' % self.attrs.get('context', '')))
        if event.type in (gtk.gdk.BUTTON_PRESS, gtk.gdk.KEY_PRESS):
            if (self.screen.current_view.view_type=='form') or self.screen.editable_get():
                self.screen.new(context=ctx)
                self._readonly = False
                self.screen.current_view.widget.set_sensitive(True)
            else:
                ok = 1
                dia = dialog(self.attrs['relation'], parent=self._view.model, attrs=self.attrs, model_ctx=self.screen.models._context, default_get_ctx=ctx, window=self._window, readonly=self._readonly)
                while ok:
                    ok, value = dia.run()
                    if ok:
                        self.screen.models.model_add(value)
                        value.signal('record-changed', value.parent)
                        self.screen.display()
                        dia.new()
                dia.destroy()

    def _sig_edit(self, *args):
        if self.screen.current_model:
            dia = dialog(self.attrs['relation'], parent=self._view.model,  model=self.screen.current_model, attrs=self.attrs, window=self._window, readonly=self._readonly)
            ok, value = dia.run()
            dia.destroy()

    def _sig_next(self, *args):
        _, event = args
        if event.type == gtk.gdk.BUTTON_PRESS:
            self.screen.display_next()

    def _sig_previous(self, *args):
        _, event = args
        if event.type == gtk.gdk.BUTTON_PRESS:
            self.screen.display_prev()

    def _sig_remove(self, *args):
开发者ID:gisce,项目名称:erpclient,代码行数:70,代码来源:one2many_list.py

示例3: one2many_list

# 需要导入模块: from widget.screen import Screen [as 别名]
# 或者: from widget.screen.Screen import editable_get [as 别名]

#.........这里部分代码省略.........
    ## the modified records.
    def _get_old_values(self, models=None):

        group_model = {}
        model_value = {}
        if models is None:
            models = []
        for o2m_model in models:
            values = o2m_model.value.copy()
            model_value.setdefault(o2m_model, values)
            group_model.setdefault(o2m_model, {})
            for key, val in values.iteritems():
                if isinstance(val, ModelRecordGroup):
                    group_model[o2m_model][key] = val.models[:]
                    del model_value[o2m_model][key]
        return model_value,group_model
    
    ## This method is specially developed to restore old values 
    def _restore_values(self, modified_model_values, group_model):
        for model, value in modified_model_values.iteritems():
            model.set(value, modified=True)
            for f_name, models in group_model.get(model, {}):
                model.value[f_name].clear()
                for sub_model in models:
                    # add model in ModelRecordGroup
                    model.value[f_name].model_add(sub_model)
        return True
    
    def _sig_new(self, *args):
        _, event = args
        ctx = dict(self._view.model.expr_eval(self.screen.default_get), **self.context)
        ctx.update(self._view.model.expr_eval('dict(%s)' % self.attrs.get('context', '{}')))
        if event.type in (gtk.gdk.BUTTON_PRESS, gtk.gdk.KEY_PRESS):
            if (self.screen.current_view.view_type=='form') or self.screen.editable_get():
                self.screen.new(context=ctx)
                self.screen.make_buttons_readonly()
                self._readonly = False
                self.screen.current_view.widget.set_sensitive(True)
                self.set_disable(True)
            else:
                ok = True
                dia = dialog(self.attrs['relation'], parent=self._view.model, attrs=self.attrs, model_ctx=self.screen.models._context, window=self._window, readonly=self._readonly, context=ctx)
                while ok:
                    ok, value, res = dia.run()
                    if ok or res == gtk.RESPONSE_APPLY:
                        modified_model_values, group_model = self._get_old_values(self.screen.models.models)
                        self.screen.models.model_add(value)
                        value.signal('record-changed', value.parent)
                        self._restore_values(modified_model_values, group_model)
                        self.screen.display()
                        dia.new()
                        self.set_disable(True)
                self.pager.reset_pager()
                dia.destroy()
    
    def _sig_edit(self, *args):
        ctx = dict(self._view.model.expr_eval(self.screen.default_get), **self.context)
        ctx.update(self._view.model.expr_eval('dict(%s)' % self.attrs.get('context', '{}')))
        ok = True
        modified_model_values, group_model = self._get_old_values(self.screen.models.models)
        dia = dialog(self.attrs['relation'], parent=self._view.model,  model=self.screen.current_model, attrs=self.attrs, window=self._window, readonly=self._readonly, context=ctx)
        while ok:
            ok, value, res = dia.run()
            if not any([ok, value, res]) and dia.screen.is_modified():
                if modified_model_values:
                    self._restore_values(modified_model_values, group_model)
开发者ID:kevin-garnett,项目名称:openerp-from-oneyoung,代码行数:70,代码来源:one2many_list.py

示例4: one2many_list

# 需要导入模块: from widget.screen import Screen [as 别名]
# 或者: from widget.screen.Screen import editable_get [as 别名]

#.........这里部分代码省略.........
        if pos != None:
            val = self._value[pos]
            id = val.get("id", False)
            obj = service.LocalService("action.main")
            res = obj.exec_keyword(type, {"model": self.model, "id": id or False, "ids": [id], "report_type": "pdf"})
            return True
        else:
            common.message(_("You have to select a resource !"))
            return False

    def switch_view(self, btn, arg):
        self.screen.make_buttons_readonly(True)
        self.screen.switch_view()

    def _readonly_set(self, value):
        self._readonly = value
        self.eb_new.set_sensitive(not value)
        self.eb_del.set_sensitive(not value)
        self.screen.readonly = value
        self.screen.display()

    def set_disable(self, value):
        self.eb_open.set_sensitive(value)
        self.eb_switch.set_sensitive(value)
        if self._readonly:
            value = not self._readonly
        self.eb_del.set_sensitive(value)

    def _sig_new(self, *args):
        _, event = args
        ctx = dict(self._view.model.expr_eval(self.screen.default_get), **self.context)
        ctx.update(self._view.model.expr_eval("dict(%s)" % self.attrs.get("context", "{}")))
        if event.type in (gtk.gdk.BUTTON_PRESS, gtk.gdk.KEY_PRESS):
            if (self.screen.current_view.view_type == "form") or self.screen.editable_get():
                self.screen.new(context=ctx)
                self.screen.make_buttons_readonly()
                self._readonly = False
                self.screen.current_view.widget.set_sensitive(True)
                self.set_disable(True)
            else:
                ok = True
                dia = dialog(
                    self.attrs["relation"],
                    parent=self._view.model,
                    attrs=self.attrs,
                    model_ctx=self.screen.models._context,
                    window=self._window,
                    readonly=self._readonly,
                    context=ctx,
                )
                while ok:
                    ok, value, res = dia.run()
                    if ok or res == gtk.RESPONSE_APPLY:
                        self.screen.models.model_add(value)
                        value.signal("record-changed", value.parent)
                        self.screen.display()
                        dia.new()
                        self.set_disable(True)
                self.pager.reset_pager()
                dia.destroy()

    def _sig_edit(self, *args):
        ctx = dict(self._view.model.expr_eval(self.screen.default_get), **self.context)
        ctx.update(self._view.model.expr_eval("dict(%s)" % self.attrs.get("context", "{}")))
        if self.screen.current_model:
            ok = True
开发者ID:goldenboy,项目名称:razvoj,代码行数:70,代码来源:one2many_list.py


注:本文中的widget.screen.Screen.editable_get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。