package org.archstudio.graphlayout.gui;
import org.archstudio.graphlayout.GraphLayoutParameters;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
public class GeneralOptionsParameterPanel implements IGraphLayoutParameterPanel {
protected Button cbDontRouteLinks;
protected Button cbDontMoveInterfaces;
@Override
public void createPanel(Composite parent) {
Group gPanel = new Group(parent, SWT.NONE);
gPanel.setText("General Options");
gPanel.setLayout(new FillLayout());
Composite cPanel = new Composite(gPanel, SWT.NONE);
cPanel.setLayout(new GridLayout(2, false));
cbDontRouteLinks = new Button(cPanel, SWT.CHECK);
cbDontRouteLinks.setText("Don't Route Links");
cbDontMoveInterfaces = new Button(cPanel, SWT.CHECK);
cbDontMoveInterfaces.setText("Don't Move Interfaces");
}
@Override
public void loadParameters(GraphLayoutParameters params) {
try {
boolean dontRouteLinks = ((Boolean) params.getProperty("dontRouteLinks")).booleanValue();
cbDontRouteLinks.setSelection(dontRouteLinks);
}
catch (Exception e) {
cbDontRouteLinks.setSelection(false);
}
try {
boolean dontMoveInterfaces = ((Boolean) params.getProperty("dontMoveInterfaces")).booleanValue();
cbDontMoveInterfaces.setSelection(dontMoveInterfaces);
}
catch (Exception e) {
cbDontMoveInterfaces.setSelection(false);
}
}
@Override
public void storeParameters(GraphLayoutParameters params) throws DataValidationException {
params.setProperty("dontRouteLinks", cbDontRouteLinks.getSelection());
params.setProperty("dontMoveInterfaces", cbDontMoveInterfaces.getSelection());
}
}