I have a button which creates parts. I need to get the active part that is currently visible in he part stack and I am storing it as a key for some value. How should I get the active part? I have used the following code but it is getting all the parts in the partstack.
MPart graphpart = partService
.createPart("com.abc.xyz.project.partDescriptor.1");
MPartStack stack = (MPartStack) modelService.find(
"com.abc.xyz.project.partstack.2", application);
for (int i = 0; i < stack.getChildren().size(); i++) {
if (stack.getChildren().get(i).isVisible()) {
System.out.println("values"
+ ((MPart) stack.getChildren().get(i)).getLabel());
application.getTransientData().put(
((MPart) stack.getChildren().get(i)).getLabel(),
selectedFiles);
}
}
From a MPart
you can get its container directly with:
final MElementContainer<MUIElement> container = part.getParent();
(this will be the MPartStack
)
You can then get the stacks currently selected child with:
MUIElement selected = container.getSelectedElement();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With