Extending : Widget extension : Advanced topics : Adding customized widgets into cellWidgetGroup
  
Adding customized widgets into cellWidgetGroup
This page teaches you how to make cellWidgetGroup in a table column supports extended widgets.
cellWidgetGroup combines multiple widgets in one table column. Currently it only supports some UNICOM® Digital Transformation Toolkit (UDTT™) widgets. This page helps you to make it support customized widgets. Then functional developers can use the customized widgets in cellWidgetGroup by Adding multiple widgets in one column.
Tooling support
To add a custom widget into cellWidgetGroup, you must edit the definition file of the extended widget first. It is in the com.ibm.btt.tools.xui.editor2.widgets /plugin. For more information about the definition file, please see Defining a widget.
1 Find the tag named 'columnWidget' in the definition file. If it isn't exist you should add it manually.
2 You should edit two attributes.
multipleWidgets: specify the value to true
True: It will be shown in the selection list of cellWidgetGroup. (It can also be set as a single widget in the column)
False (default): It will not be shown in the selection list of cellWidgetGroup.
<columnWidget name="Button" editable="false" multipleWidgets="true"
multipleWidgetAction="buttonAction" mapTo="LabelFromList"/>
The selection list of cellWidgetGroup:
This graphic is described in the surrounding text.
multipleWidgetAction: Optional value : 'buttonAction' and 'linkAction':
buttonAction: There is an 'action' tab page in the setting dialog. The 'Launch URL' radio button is disabled.
<columnWidget name="Button" editable="false" multipleWidgets="true"
multipleWidgetAction="buttonAction" mapTo="LabelFromList"/>
Radio button 'Launch URL' is disabled.
This graphic is described in the surrounding text.
linkAction: There is an 'action' tab page in the setting dialog. The 'Launch URL' redio button is enabled.
<columnWidget name="Link" editable="false" multipleWidgets="true"
multipleWidgetAction="linkAction" mapTo="LabelFromList"/>
This graphic is described in the surrounding text.
Note If it is not set, there will not be 'action' tab.
This graphic is described in the surrounding text.
3 Define the mandatory attribute 'cellWidgetId'. It is the only identifier of widget in cellWidgetGroup, like 'id' of the widget.
<property name="cellWidgetId" showInEditor="false" type="WidgetID" description="%desc_cell_prop_id" multipleWidgets="true" />
4 For other properties: If you want it display in the properties tab page in the Widget Group Setting dialog you have to add parameter 'multipleWidgets' for it. Like this:
<property name="disabled" default="false" type="Boolean" showInExpression="true" showInAction="true" description="%desc_prop_disabled" multipleWidgets="true" />
This graphic is described in the surrounding text.
5 For dataBinding "dataName": Because of the 'dataName' is assigned for server side, but this feature is assigned for client side. So the property 'dataName' can't be reused. If you want to binding data for cell widget, a new property named as 'cellWidgetDataName' should be set. like below.
<property name="cellWidgetId" showInEditor="false" type="WidgetID" description="%desc_cell_prop_id" multipleWidgets="true" />
See also
Runtime support
Advanced topics