Force to put a window on every Screen

This commit is contained in:
Cédric Krier committed 2008-03-11 17:40:30 +01:00
1 parent ad520ec183
commit 656f3e4070
12 files changed
+29 -31

No files matched your search

+4 -5
View File
@@ -24,8 +24,8 @@ _ = gettext.gettext
class Form(SignalEvent):
"Form"
def __init__(self, model, res_id=False, domain=None, view_type=None,
view_ids=None, window=None, context=None, name=False, limit=None,
def __init__(self, model, window, res_id=False, domain=None, view_type=None,
view_ids=None, context=None, name=False, limit=None,
auto_refresh=False):
super(Form, self).__init__()
if not view_type:
@@ -49,11 +49,10 @@ class Form(SignalEvent):
self.domain = domain
self.context = context
self.screen = Screen(self.model, view_type=view_type,
self.screen = Screen(self.model, self.window, view_type=view_type,
context=self.context, view_ids=view_ids, domain=domain,
hastoolbar=CONFIG['form.toolbar'], show_search=True,
window=self.window, limit=limit, readonly=bool(auto_refresh),
form=self)
limit=limit, readonly=bool(auto_refresh), form=self)
self.screen.signal_connect(self, 'record-message', self._record_message)
self.screen.signal_connect(self, 'attachment-count',
self._attachment_count)
+1 -1
View File
@@ -38,7 +38,7 @@ class Preference(object):
raise
arch = res['arch']
fields = res['fields']
self.screen = Screen('res.user', view_type=[], window=self.win)
self.screen = Screen('res.user', self.win, view_type=[])
self.screen.new(default=False)
self.screen.add_view_custom(arch, fields, display=True)
+2 -2
View File
@@ -17,8 +17,8 @@ _ = gettext.gettext
class Tree(SignalEvent):
"Tree page"
def __init__(self, model, res_id=False, view_id=False, domain=None, context=None,
window=None, name=False):
def __init__(self, model, window, res_id=False, view_id=False, domain=None,
context=None, name=False):
super(Tree, self).__init__()
if domain is None:
domain = {}
+2 -2
View File
@@ -15,10 +15,10 @@ _LIMIT = 20000
class Screen(SignalEvent):
"Screen"
def __init__(self, model_name, view_ids=None, view_type=None,
def __init__(self, model_name, window, view_ids=None, view_type=None,
parent=None, context=None, views_preload=None, tree_saves=True,
domain=None, create_new=False, row_activate=None, hastoolbar=False,
default_get=None, show_search=False, window=None, limit=None,
default_get=None, show_search=False, limit=None,
readonly=False, form=None, exclude_field=None, sort=''):
if view_ids is None:
view_ids = []
@@ -48,8 +48,8 @@ class Action(WidgetInterface):
view_id = [self.action['view_id'][0]]
if self.action['view_type'] == 'form':
mode = (self.action['view_mode'] or 'form,tree').split(',')
self.screen = Screen(self.action['res_model'], view_type=mode,
context=self.context, view_ids = view_id,
self.screen = Screen(self.action['res_model'], self._window,
view_type=mode, context=self.context, view_ids=view_id,
domain=self.domain)
# self.win_gl = glade.XML(common.terp_path("terp.glade"),
# 'widget_paned', gettext.textdomain())
@@ -41,8 +41,8 @@ class Many2Many(WidgetInterface):
scroll.set_placement(gtk.CORNER_TOP_LEFT)
scroll.set_shadow_type(gtk.SHADOW_NONE)
self.screen = Screen(attrs['relation'], view_type=['tree'],
views_preload=attrs.get('views', {}))
self.screen = Screen(attrs['relation'], self._window,
view_type=['tree'], views_preload=attrs.get('views', {}))
scroll.add_with_viewport(self.screen.widget)
self.widget.pack_start(scroll, expand=True, fill=True)
@@ -59,8 +59,8 @@ class Dialog(object):
viewport.set_shadow_type(gtk.SHADOW_NONE)
scroll.add(viewport)
self.screen = Screen(model, domain=domain, context=context,
window=self.dia, view_type=['form'])
self.screen = Screen(model, self.dia, domain=domain, context=context,
view_type=['form'])
if obj_id:
self.screen.load([obj_id])
else:
@@ -418,7 +418,7 @@ class Many2One(WidgetInterface):
if not obj_id:
common.message(_('You must select a record to use the relation !'))
return False
screen = Screen(self.attrs['relation'])
screen = Screen(self.attrs['relation'], self._window)
screen.load([obj_id])
act['domain'] = screen.current_model.expr_eval(act['domain'],
check_load=False)
@@ -57,8 +57,7 @@ class Dialog(object):
scroll.add(viewport)
self.dia.show_all()
self.screen = Screen(model_name, view_type=[], parent=parent,
window=self.dia,
self.screen = Screen(model_name, self.dia, view_type=[], parent=parent,
exclude_field=attrs.get('relation_field', None))
self.screen.models._context.update(model_ctx)
if not model:
@@ -213,12 +212,12 @@ class One2Many(WidgetInterface):
tooltips.enable()
self.widget.pack_start(hbox, expand=False, fill=True)
self.screen = Screen(attrs['relation'],
self.screen = Screen(attrs['relation'], self._window,
view_type=attrs.get('mode','tree,form').split(','),
parent=self.parent, views_preload=attrs.get('views', {}),
tree_saves=attrs.get('saves', False), create_new=True,
row_activate=self._on_activate,
default_get=attrs.get('default_get', {}), window=self._window,
default_get=attrs.get('default_get', {}),
exclude_field=attrs.get('relation_field', None))
self.screen.signal_connect(self, 'record-message', self._sig_label)
menuitem_title.get_child().set_text(self.screen.current_view.title)
+2 -1
View File
@@ -287,7 +287,8 @@ class ViewList(ParserView):
message(_('You must select a record to use the relation!'))
return False
from tryton.gui.window.view_form.screen import Screen
screen = Screen(self.screen.fields[path[1].name]['relation'])
screen = Screen(self.screen.fields[path[1].name]['relation'],
self.window)
screen.load([value])
act['domain'] = screen.current_model.expr_eval(act['domain'],
check_load=False)
+2 -2
View File
@@ -33,8 +33,8 @@ class WinSearch(object):
scrollwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.win.vbox.pack_start(scrollwindow, expand=True, fill=True)
self.screen = Screen(model, view_type=['tree'], context=context,
parent=self.win)
self.screen = Screen(model, self.win, view_type=['tree'],
context=context)
self.view = self.screen.current_view
self.view.unset_editable()
sel = self.view.widget_tree.get_selection()
+5 -6
View File
@@ -15,15 +15,14 @@ class Window(object):
if view_type == 'form':
from form import Form
win = Form(model, res_id, domain, view_type=mode,
view_ids = (view_ids or []), window=window,
context=context, name=name, limit=limit,
auto_refresh=auto_refresh)
win = Form(model, window, res_id, domain, view_type=mode,
view_ids = (view_ids or []), context=context, name=name,
limit=limit, auto_refresh=auto_refresh)
Main.get_main().win_add(win)
elif view_type == 'tree':
from tree import Tree
win = Tree(model, res_id, view_ids and view_ids[0] or None, domain,
context, window=window, name=name)
win = Tree(model, window, res_id, view_ids and view_ids[0] or None, domain,
context, name=name)
Main.get_main().win_add(win)
else:
import logging
+1 -1
View File
@@ -36,7 +36,7 @@ class Dialog(object):
if 'value' in fields[i]:
val[i] = fields[i]['value']
self.screen = Screen(obj_name, view_type=[], window=self.dia)
self.screen = Screen(obj_name, self.dia, view_type=[])
self.screen.new(default=False)
self.screen.add_view_custom(arch, fields, display=True)
self.screen.current_model.set(val)