Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[nebula-dev] Problem wity drawing UML(CD) with Zest in a Plug-in

Hello all developers

I have a question about Zest framework. I am trying to use Zest to draw a UML class diagram in an eclipse plugin.

 1) I thought the only possible way to do so, is using pure SWT + Zest  instead of  using  Jface  content providers. since they are not flexible for drawing custom Node's figures. Is that so?

2) So I used SWT approach by the following code:
  
public class SWTGraphView extends ViewPart implements IModelChangeListener{
    private Composite parent=null;
    //public Graph graph=null;

   public void createPartControl(Composite parent) {
        ModelBase.getInstance().addModelChangeListener(this);
        this.parent=parent;
        final Display d = parent.getDisplay();
        Graph g = new Graph(parent, SWT.NONE);
        g.setConnectionStyle(ZestStyles.CONNECTIONS_DIRECTED);
        GraphNode n1 = new GraphNode(g, SWT.NONE);
        GraphNode n2 = new GraphNode(g, SWT.NONE);
        n1.setCustomFigure(UMLExample.createClassFigure1 ());
        n2.setCustomFigure(UMLExample.createClassFigure2());
        new GraphConnection(g, SWT.NONE, n1, n2);
        g.setLayoutAlgorithm(new SpringLayoutAlgorithm(LayoutStyles.NO_LAYOUT_NODE_RESIZING), true);
.........................
}
}
However, I get the following error which I do not get when using Zest Jface examples with simple node shapes in as a plugin:
java.lang.NoClassDefFoundError: org/eclipse/mylyn/zest/core/widgets/internal/IContainer
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getConstructor0(Class.java:2699)
    at java.lang.Class.newInstance0 (Class.java:326)
    at java.lang.Class.newInstance(Class.java:308)
.....................

I used whatever bundling approach I knew (e.g. Require-Bundle: in manifest file or same jar in the plug-in). Is it possible that, it is because Zest packaging ( e.g IContainer being in internal package)? or you think it is only classloaders and ....?


Thank you in advance for your answers,
Hamoun


Back to the top