I dynamically add MToolControl to toolbar using below code. I try to use transient data to pass some custom parameter to "presentation class".
MToolControl toolCtr = MMenuFactory.INSTANCE.createToolControl();
String classUri = "bundleclass://psiwsm.e4fx.app/de.psi.pjf.wsm.bar.BarItemWidget";
toolCtr.setContributionURI( classUri );
toolCtr.getTransientData().put( BarItemWidget.KEY_WIDGET, aWidget );
toolCtr.setVisible( true );
toolCtr.setToBeRendered( true );
// toolCtr.setParent( (MElementContainer<MUIElement>) toolbar );
mbar.getChildren().add( toolCtr );
Since I have no means to access MToolControl from my presentation class (pointed by ContributionUri) I cannot access my parameter
public class BarItemWidget
{
/**
* Used in {@link MToolControl#getTransientData()} to store {@link WidgetBarCtrDesc}
*/
public static final String KEY_WIDGET = "widget";
@Inject
@Optional
private MToolControl modelElement;
@PostConstruct
public void createGui( Group group )
{
group.getChildren().add( new Label( "BarItemWidget" ) );
}
}
Is there another way of passing parameter? I would be grateful for any help.