/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © Copyright IBM Corp. 2009, 2014
* © Copyright ILOG 1996, 2009
* All Rights Reserved.
*
* Note to U.S. Government Users Restricted Rights:
* The Software and Documentation were developed at private expense and
* are "Commercial Items" as that term is defined at 48 CFR 2.101,
* consisting of "Commercial Computer Software" and
* "Commercial Computer Software Documentation", as such terms are
* used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
* as applicable.
*/
import ilog.views.diagrammer.IlvDiagrammer;
import ilog.views.diagrammer.IlvDiagrammerException;
import ilog.views.diagrammer.project.IlvDiagrammerProject;
import ilog.views.sdm.util.IlvSDMMutableStyleSheet;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.io.IOException;
import java.net.URL;
/**
* A graph layout diagrammer contains the graph to layout.
*
*
*/
public class GraphLayoutDiagrammer extends IlvDiagrammer {
private IlvSDMMutableStyleSheet styleSheet;
/**
*
* @param projectURL
*/
public GraphLayoutDiagrammer(URL projectURL){
super();
setSelectMode(false);
setScrollable(false);
setEditingAllowed(false);
setBackground(null);
setOpaque(false);
getView().setBackground(new java.awt.Color(0,0,0,0));
getView().setForeground(null);
getView().setTransparent(true);
styleSheet = new IlvSDMMutableStyleSheet(getEngine(), true, false);
if(projectURL!=null){
IlvDiagrammerProject project;
try {
project = new IlvDiagrammerProject(projectURL);
setProject(project);
} catch (IlvDiagrammerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// Cascade the main style sheet with the mutable style sheet.
// The mutable style sheet holds the temporary style changes that are
// not statically stored in the main style sheet.
try {
getEngine().setStyleSheets(1, styleSheet.toString());
} catch (Exception e) {
System.out.println("could not load the style sheet");
}
addComponentListener(new ComponentListener(){
Override
public void componentHidden(ComponentEvent arg0) {
}
Override
public void componentMoved(ComponentEvent arg0) {
}
Override
public void componentResized(ComponentEvent arg0) {
fitToContents();
}
Override
public void componentShown(ComponentEvent arg0) {
}
});
}
/**
* Returns the mutable style sheet.
*/
public IlvSDMMutableStyleSheet getMutableStyleSheet()
{
return styleSheet;
}
}