package at.bestsolution.e4.ui.workbench.renderers.swing;
import java.awt.Component;
import javax.swing.JTabbedPane;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainer;
import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
import org.eclipse.e4.ui.model.application.ui.basic.MStackElement;
@SuppressWarnings("restriction")
public class StackRenderer extends SwingPartRenderer {
@Override
public Object createWidget(MUIElement element, Object parent) {
if( !(element instanceof MPartStack) ) {
return null;
}
JTabbedPane widget = new JTabbedPane();
return widget;
}
@Override
public void processContents(MElementContainer<MUIElement> container) {
if( ! ((MUIElement)container instanceof MPartStack) ) {
return;
}
super.processContents(container);
JTabbedPane pane = (JTabbedPane) container.getWidget();
for( MUIElement s : container.getChildren() ) {
if( s instanceof MPart ) {
pane.addTab(((MPart) s).getLocalizedLabel(), (Component) s.getWidget());
}
}
}
@Override
protected Object getParentWidget(MUIElement element) {
// TODO Auto-generated method stub
return null;
}
@Override
public void disposeWidget(MUIElement part) {
// TODO Auto-generated method stub
}
@Override
public void hookControllerLogic(MUIElement me) {
super.hookControllerLogic(me);
}
@Override
public void childRendered(MElementContainer<MUIElement> parentElement,
MUIElement element) {
// TODO Auto-generated method stub
}
@Override
protected Object getImage(MUILabel element) {
// TODO Auto-generated method stub
return null;
}
@Override
protected boolean requiresFocus(MPart element) {
// TODO Auto-generated method stub
return false;
}
}