Improve size of nested views

This commit is contained in:
Cédric Krier committed 2011-01-28 10:24:13 +01:00
1 parent ac67026f8e
commit 1571bfabd7
4 files changed
+25 -9

No files matched your search

+8 -5
View File
@@ -35,13 +35,16 @@ class ViewForm(ParserView):
scroll = gtk.ScrolledWindow()
scroll.add(vp)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.viewport = gtk.Viewport()
self.viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
self.viewport.add(scroll)
scroll.set_placement(gtk.CORNER_TOP_LEFT)
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
viewport.add(scroll)
width, height = self.widget.size_request()
if isinstance(self.screen.window, gtk.Dialog):
vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
self.widget = vbox
self.widget.set_size_request(width, height)
self.widget.pack_start(self.viewport, expand=True, fill=True)
if toolbar and not CONFIG['client.modepda']:
hbox = gtk.HBox(homogeneous=False)
@@ -64,6 +64,8 @@ class Many2Many(WidgetInterface):
view_type=['tree'], views_preload=attrs.get('views', {}),
row_activate=self._on_activate)
if not isinstance(self.screen.window, gtk.Dialog):
self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
@@ -166,6 +166,8 @@ class One2Many(WidgetInterface):
self.screen.signal_connect(self, 'record-message', self._sig_label)
menuitem_title.get_child().set_text(attrs.get('string', ''))
if not isinstance(self.screen.window, gtk.Dialog):
self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
+13 -4
View File
@@ -150,16 +150,25 @@ class ViewList(ParserView):
buttons, toolbar, notebooks, cursor_widget)
self.store = None
self.view_type = 'tree'
self.widget = gtk.VBox()
self.widget_tree = widget
vbox = gtk.VBox()
scroll = gtk.ScrolledWindow()
scroll.add(self.widget_tree)
scroll.add(self.widget)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scroll.set_placement(gtk.CORNER_TOP_LEFT)
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
viewport.add(scroll)
self.widget.pack_start(viewport, expand=True, fill=True)
width, height = self.widget.size_request()
self.widget_tree = self.widget
if isinstance(self.screen.window, gtk.Dialog):
vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
self.widget_tree.screen = screen
self.widget = vbox
self.reload = False
self.children = children