public OWLVizGraphPanel(OWLVizTab tab,
GraphModel graphModel,
SubsumptionTreePanel subsumptionTreePanel) {
this.tab = tab;
this.treePanel = subsumptionTreePanel;
OWLModel model = (OWLModel) tab.getKnowledgeBase();
graphComponent = new GraphComponent();
graphComponent.setGraphModel(graphModel);
graphComponent.setNodeLabelRenderer(new OWLClsNodeLabelRenderer());
graphComponent.setNodeRenderer(new OWLClsNodeRenderer(graphComponent.getController(),
graphComponent.getVisualisedObjectManager(),
new OWLClsNodeLabelRenderer(), model));
graphComponent.setEdgeRenderer(new OWLClsEdgeRenderer(graphComponent.getController()));
JPanel panel = new JPanel(new BorderLayout());
// Create the thumbnail splitter that contains the treePanel
// and thumbnail
JSplitPane thumbnailSplitter = new JSplitPane(JSplitPane.VERTICAL_SPLIT, false);
thumbnailSplitter.add(treePanel, JSplitPane.TOP);
thumbnailSplitter.add(new DefaultThumbnailView(graphComponent), JSplitPane.BOTTOM);
JSplitPane splitter = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false);
splitter.add(graphComponent, JSplitPane.RIGHT);
splitter.add(thumbnailSplitter, JSplitPane.LEFT);
panel.add(splitter);
OWLInstancePopupProvider popupProvider = new OWLInstancePopupProvider("Asserted", model,
model.getSlot(Model.Slot.DIRECT_SUPERCLASSES));
graphComponent.setPopupProvider(popupProvider);
createPopupMenu();
setupListeners();
setLayout(new BorderLayout());