nch(OpenERP) has proposed merging 
lp:~openerp-commiter/openobject-client/detail_tooltip into 
lp:~openerp-dev/openobject-client/trunk-dev-client.

Requested reviews:
  OpenERP sa GTK client R&D (openerp-dev-gtk)


Hello,

This branch contains the feature:

Object Information, on tooltip should be visible if client started in debug 
mode. 

it should display 

* char - size, name
* one2many - related object and field name 
* any2many - related object, 3rd table, and both related columns 
* many2one - related object
* function - Store, type, callable function (search, compute) 
* etc...

Thanks,
nch(OpenERP)

-- 
https://code.launchpad.net/~openerp-commiter/openobject-client/detail_tooltip/+merge/29381
Your team OpenERP sa GTK client R&D is requested to review the proposed merge 
of lp:~openerp-commiter/openobject-client/detail_tooltip into 
lp:~openerp-dev/openobject-client/trunk-dev-client.
=== modified file 'bin/widget/view/form_gtk/parser.py'
--- bin/widget/view/form_gtk/parser.py	2010-06-09 10:06:53 +0000
+++ bin/widget/view/form_gtk/parser.py	2010-07-07 12:01:39 +0000
@@ -197,7 +197,7 @@
         table.resize(y+1,self.col[-1])
 
     def create_label(self, name, markup=False, align=1.0, wrap=False,
-                     angle=None, width=None, fname=None, help=None, model=None):
+                     angle=None, width=None, fname=None, help=None, model=None, detail_tooltip=False):
         label = gtk.Label(name)
         if markup:
             label.set_use_markup(True)
@@ -218,6 +218,8 @@
                 tooltip += '\n'
             tooltip += '<span foreground="#009900"><b>%s:</b> %s - <b>%s:</b> %s</span>' % \
                         (_('Field'), tools.to_xml(fname), _('Object'), tools.to_xml(model))
+            if detail_tooltip:
+                tooltip += '\n<span foreground="red">%s</span>' % (tools.to_xml(detail_tooltip))
         if tooltip:
             eb.set_tooltip_markup(tooltip)
 
@@ -294,6 +296,18 @@
            super(parser_form, self).__init__(window, parent=parent, attrs=attrs,
                     screen=screen)
            self.widget_id = 0
+           self.accepted_attr_list = ['type','domain','context','relation', 'widget',
+                                      'digits','function','store','fnct_search','fnct_inv','fnct_inv_arg',
+                                      'func_obj','func_method','related_columns','third_table','states',
+                                      'translate','change_default','size','selection']
+    def create_detail_tooltip(self, field_attr={}):
+        tooltip = ''
+        attributes = field_attr.keys()
+        attributes.sort()
+        for attr in attributes:
+            if attr in self.accepted_attr_list:
+                tooltip += attr + ':' + str(field_attr[attr]) + '\n'
+        return tooltip
 
     def parse(self, model, root_node, fields, notebook=None, paned=None):
         dict_widget = {}
@@ -434,7 +448,7 @@
                 if 'selection' in attrs:
                     attrs['selection'] = fields[name]['selection']
                 fields[name].update(attrs)
-                fields[name]['model']=model
+                fields[name]['model'] = model
                 if not type in widgets_type:
                     continue
 
@@ -470,8 +484,11 @@
                         continue
 
                 translate = fields[name]['string'] if fields[name].get('translate') else None
-                widget_label = container.create_label(label, fname=name, help=hlp, model=model) if label else None
+                detail_tooltip = False
+                if options.options['logging.level'] == 'debug':
+                    detail_tooltip = self.create_detail_tooltip(fields[name])
 
+                widget_label = container.create_label(label, fname=name, help=hlp, model=model, detail_tooltip=detail_tooltip) if label else None
                 if attrs.get('attrs'):
                     saw_list.append(StateAwareWidget(widget_act, widget_label))
 

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to