# -*- coding: utf-8 -*- """ widgets forms """ # # add plugin to all forms # dbui.configure_forms(db, plugins=['pFormToolTip']) # # link comboboxes in foo1 selector # #formModifier = dbui.FormModifier('foo1') #formModifier.link_comboboxes(masterName='my_axis', # slaveNames='my_granularity', # storeName='axesStore', # displayFieldMaster='axis_local', # valueFieldMaster='axis', # displayFieldSlaves='granularity_local', # valueFieldSlaves='granularity') # # link several comboboxes in harvester selector # formModifier = dbui.FormModifier('harvester_selector') formModifier.link_comboboxes(master=virtdb.harvester_selector.id_projects, slave=virtdb.harvester_selector.controller, masterHasSlaveData='harvesters') formModifier = dbui.FormModifier('harvester_selector') formModifier.link_comboboxes(master=virtdb.harvester_selector.id_projects, slave=virtdb.harvester_selector.id_teams, masterHasSlaveData='harvesters') # # new fields # formModifier = dbui.FormModifier('new_fields') formModifier.configure(width=400, defaults={'width': 270}) # # Create fieldSet for the publication form # formModifier = dbui.FormModifier('publications') formModifier.merge_fields('title', 'authors', 'id_collaborations', 'id_publishers', 'year', 'doi', 'volume', 'first_page', 'e_print', title=T('General'), flex=1) formModifier.merge_fields('conference_title', 'conference_url', 'conference_start', 'conference_town', 'id_countries', 'conference_speaker', dbui.Spacer(height=26*3), title=T('Conference'), flex=1) formModifier.merge_fields('report_numbers', 'id_reports', dbui.Spacer(height=220), title=T('Report'), flex=1) formModifier.merge_fields('authors_cppm', 'id_teams', 'id_projects', 'id_categories', dbui.Spacer(height=26*5), title='CPPM', flex=1) # # Organise fieldSet within a TabPanel embedded in the publication form # formModifier.set_mapper(dbui.map_tabpanel) # # Polish the look and feel of the publication form # NOTE: the width/height define the size of the window # when running the form from the grid. The defaults defines the height # of the fieldSet allowing a fine tuning of the form layout. # formModifier.configure(buttonAlign='right', labelWidth=100, labelAlign='right', width=400, height=380, defaults={'height': 320})