Accessing Swing Component from Transformation Menu
Dear Community,
I am trying to access a panel (i.e., Jcomponent) from the editor that I created by putting a code in the editor (i.e., Swing Component).
component provider: (node, editorContext)->JComponent {
model flowModel = model/FlowModel/ in global repository;
final sequence<node<State>> states = flowModel.roots(FlowData).stateLists;
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setName("This is Demo Panel");
panel.setLayout(new BorderLayout());
final DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
model.addColumn("State Number");
model.addColumn("State Name");
model.addColumn("Status");
int stateItr = 0;
foreach state in states {
stateItr++;
model.addRow(new Object[]{"State-" + stateItr, state.text, false});
}
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane, BorderLayout.CENTER);
frame.getContentPane().add(panel);
frame.pack();
return panel;
}
I have to write some code in the transformation menu execute part to access the panel.
I have started by getting a model from the repository
action
text (editorContext, node, model, pattern)->string {
model dataModel = model/FlowModel/ in global repository;
dataModel.roots(FlowData).first.stateLists.get(lastSuccessfulState).text;
}
can execute <always>
execute (editorContext, node, model, pattern)->void {
model dataModel = model/FlowModel/ in global repository;
// ModelAccess = editorContext.getRepository().getModelAccess();
editorContext.getRepository();
model editorModel = model/org.iets3.flow.dashboard.editor/ in global repository;
System.out.println(editorModel.nodes(QueryFunction_JComponent));
node<CellModel_JComponent> cmjc = editorModel.nodes(CellModel_JComponent).first;
System.out.println("This component that is returned is------------------------------------->" + editorModel.nodes(CellModel_JComponent));
node<QueryFunction_JComponent> jComponent = cmjc.componentProvider;
// JComponent component = jComponent as JComponent;
// node<> node1 = jComponent.getExpectedRetType();
// JPanel jPanel = node1 as JPanel;
System.out.println("This component that is returned is------------------------------------->" + cmjc.componentProvider);
}
I am so far unable to access the panel that is returned from the swing component in order to manipulate it. How can I do it? I look forward to your kind help.
Best,
Saad
Please sign in to leave a comment.