本文整理汇总了Python中widget.screen.Screen.get方法的典型用法代码示例。如果您正苦于以下问题:Python Screen.get方法的具体用法?Python Screen.get怎么用?Python Screen.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类widget.screen.Screen
的用法示例。
在下文中一共展示了Screen.get方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: dialog
# 需要导入模块: from widget.screen import Screen [as 别名]
# 或者: from widget.screen.Screen import get [as 别名]
class dialog(object):
def __init__(self, arch, fields, state, name, parent=None):
buttons = []
self.states=[]
default=-1
if not parent:
parent = service.LocalService('gui.main').window
self.dia = gtk.Dialog('OpenERP', parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
for x in state:
but = gtk.Button(x[1])
but.show()
if len(x) >= 3:
icon = gtk.Image()
icon.set_from_stock(x[2], gtk.ICON_SIZE_BUTTON)
but.set_image(icon)
self.dia.add_action_widget(but, len(self.states))
if len(x) >= 4 and x[3]:
but.set_flags(gtk.CAN_DEFAULT)
default = len(self.states)
self.states.append(x[0])
if default >= 0:
self.dia.set_default_response(default)
val = {}
for f in fields:
if 'value' in fields[f]:
val[f] = fields[f]['value']
self.screen = Screen('wizard.'+name, view_type=[], window=self.dia, is_wizard=True)
self.screen.new(default=False)
self.screen.add_view_custom(arch, fields, display=True)
self.screen.current_model.set(val)
x,y = self.screen.screen_container.size_get()
width, height = parent.get_size()
self.screen.widget.set_size_request(min(width - 20, x + 20),
min(height - 60, y + 25))
self.screen.widget.show()
self.dia.vbox.pack_start(self.screen.widget)
self.dia.set_title(self.screen.current_view.title)
self.dia.show()
def run(self, datas={}):
while True:
res = self.dia.run()
self.screen.current_view.set_value()
if self.screen.current_model.validate() or (res<0) or (self.states[res]=='end'):
break
self.screen.display()
if res<len(self.states) and res>=0:
datas.update(self.screen.get())
self.dia.destroy()
return (self.states[res], datas)
else:
self.dia.destroy()
self.screen.destroy()
return False
示例2: win_preference
# 需要导入模块: from widget.screen import Screen [as 别名]
# 或者: from widget.screen.Screen import get [as 别名]
class win_preference(object):
def __init__(self, parent=None):
self.ui = openerp_gtk_builder('openerp.ui', ['win_preference'])
self.win = self.ui.get_object('win_preference')
self.win.set_icon(common.OPENERP_ICON)
if not parent:
parent = service.LocalService('gui.main').window
self.win.set_transient_for(parent)
self.parent = parent
action_id = rpc.session.rpc_exec_auth('/object', 'execute', 'res.users', 'action_get', {})
action = rpc.session.rpc_exec_auth('/object', 'execute', 'ir.actions.act_window', 'read', [action_id], False, rpc.session.context)[0]
view_ids = []
if action.get('views', []):
view_ids = [x[0] for x in action['views']]
elif action.get('view_id', False):
view_ids = [action['view_id'][0]]
self.screen = Screen('res.users', view_type=[], window=parent)
self.screen.add_view_id(view_ids[0], 'form', display=True)
self.screen.load([rpc.session.uid])
self.screen.display(rpc.session.uid)
vbox = self.ui.get_object('preference_vbox')
vbox.pack_start(self.screen.widget)
self.win.set_title(_('Preferences'))
self.win.show_all()
def run(self, datas={}):
lang = rpc.session.context.get('lang', 'en_US')
end = False
while not end:
res = self.win.run()
end = (res != gtk.RESPONSE_OK) or self.screen.current_model.validate()
if not end:
self.screen.display()
self.screen.current_view.set_cursor()
if res == gtk.RESPONSE_OK:
values = self.screen.get()
rpc.session.rpc_exec_auth('/object', 'execute', 'res.users', 'write', [rpc.session.uid], values)
rpc.session.context_reload()
new_lang = rpc.session.context.get('lang', 'en_US')
if lang != new_lang:
common.message(_("The default language of the interface has been modified, do not forget to restart " \
"the client to have the interface in your language"),
_("Default language modified !"), parent=self.win)
self.parent.present()
self.win.destroy()
return True