/* * Licensed Materials - Property of Perforce Software, Inc. * © Copyright Perforce Software, Inc. 2014, 2021 * © 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 java.awt.Container; import java.util.ResourceBundle; import ilog.views.diagrammer.IlvDiagrammer; import ilog.views.diagrammer.application.IlvDiagrammerAction; import ilog.views.diagrammer.application.IlvDiagrammerFrame; import ilog.views.diagrammer.application.IlvDiagrammerMenuBar; import ilog.views.diagrammer.application.IlvDiagrammerToolBar; import ilog.views.sdm.renderer.graphlayout.IlvGraphLayoutRenderer; import ilog.views.util.IlvProductUtil; public class GraphLayoutDiagrammerDemo4 extends IlvDiagrammerFrame { private ResourceBundle bundle; private static final String graphLayoutProject = "data/graphlayout.idpr"; public static void main(final String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { Override public void run() { new GraphLayoutDiagrammerDemo4().init(args); } }); } public GraphLayoutDiagrammerDemo4() { super(new String[] { "-title", "Graph Layout Diagrammer Demo - Link Clipping", "-data", graphLayoutProject }); // This sample uses JViews Diagrammer features. When deploying an // application that includes this code, you need to be in possession // of a Perforce JViews Diagrammer Deployment license. IlvProductUtil.DeploymentLicenseRequired(IlvProductUtil.JViews_Diagrammer_Deployment); bundle = ResourceBundle.getBundle("graphlayout"); } Override public void init(Container contentPane) { super.init(contentPane); getJMenuBar().remove(((IlvDiagrammerMenuBar) getJMenuBar()).getFileMenu()); getJMenuBar().remove(((IlvDiagrammerMenuBar)getJMenuBar()).getEditMenu()); getJMenuBar().remove(((IlvDiagrammerMenuBar)getJMenuBar()).getOptionsMenu()); IlvDiagrammerToolBar toolbar = getEditToolBar(); toolbar.setActions(null); toolbar.addAction(new LinkClippingAction()); } public void setLinkClipping(IlvDiagrammer diagrammer, boolean clip) { IlvGraphLayoutRenderer r = diagrammer.getEngine().getNodeLayoutRenderer(); if (r instanceof LinkClippingRenderer) { ((LinkClippingRenderer) r).setClipping(clip); diagrammer.getEngine().loadData(); } } public boolean isLinkClipping(IlvDiagrammer diagrammer) { IlvGraphLayoutRenderer r = diagrammer.getEngine().getNodeLayoutRenderer(); if (r instanceof LinkClippingRenderer) { return ((LinkClippingRenderer) r).isClipping(); } else { return false; } } private class LinkClippingAction extends IlvDiagrammerAction.ToggleAction { public LinkClippingAction() { super("Action.LinkClipping", bundle); } Override protected boolean isSelected(IlvDiagrammer diagrammer) throws Exception { return diagrammer != null && isLinkClipping(diagrammer); } Override protected void setSelected(IlvDiagrammer diagrammer, boolean selected) throws Exception { setLinkClipping(diagrammer, selected); } Override protected boolean isEnabled(IlvDiagrammer diagrammer) throws Exception { return diagrammer != null; } } }