/******************************************************************************* | |
* Copyright (C) 2018 Fondazione Bruno Kessler. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v2.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v20.html | |
* | |
* Contributors: | |
* Luca Cristoforetti - initial API and implementation | |
* Pietro Braghieri - original code | |
******************************************************************************/ | |
package org.polarsys.chess.diagramsCreator.dialogs; | |
import org.eclipse.jface.dialogs.Dialog; | |
import org.eclipse.jface.dialogs.IDialogConstants; | |
import org.eclipse.swt.graphics.Point; | |
import org.eclipse.swt.widgets.Composite; | |
import org.eclipse.swt.widgets.Control; | |
import org.eclipse.swt.widgets.Label; | |
import org.eclipse.swt.widgets.Shell; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.swt.layout.GridLayout; | |
import org.eclipse.swt.widgets.Button; | |
import org.eclipse.swt.widgets.Combo; | |
/** | |
* This class dispays a dialog to set some parameters for the BDD creation. | |
* No more used since CSS. | |
* @author cristofo | |
* | |
*/ | |
public class BDDCreatorDialog extends Dialog { | |
private static final String TITLE = "BDD diagram parameters"; | |
private Button btnShowStereotypes; | |
private boolean showStereotypes; | |
private Button btnShowAssociationsNames; | |
private boolean showAssociationsNames; | |
private Button btnShowSourceMultiplicity; | |
private boolean showSourceMultiplicity; | |
private Button btnShowTargetMultiplicity; | |
private boolean showTargetMultiplicity; | |
private Button btnShowSourceRole; | |
private boolean showSourceRole; | |
private Button btnShowTargetRole; | |
private boolean showTargetRole; | |
private Combo combo; | |
private boolean rectilinearRouting; | |
private boolean goAhead = false; | |
/** | |
* Creates the dialog. | |
* @param parentShell the parent shell | |
* @param blocking indicates if the dialog should be modal | |
*/ | |
public BDDCreatorDialog(Shell parentShell, boolean blocking) { | |
super(parentShell); | |
setShellStyle(SWT.TITLE); | |
// setShellStyle(SWT.CLOSE | SWT.MODELESS| SWT.BORDER | SWT.TITLE); | |
setBlockOnOpen(blocking); | |
} | |
@Override | |
protected void configureShell(Shell newShell) { | |
super.configureShell(newShell); | |
newShell.setText(TITLE); | |
} | |
@Override | |
protected void okPressed() { | |
showStereotypes = btnShowStereotypes.getSelection(); | |
showAssociationsNames = btnShowAssociationsNames.getSelection(); | |
showSourceRole = btnShowSourceRole.getSelection(); | |
showSourceMultiplicity = btnShowSourceMultiplicity.getSelection(); | |
showTargetRole = btnShowTargetRole.getSelection(); | |
showTargetMultiplicity = btnShowTargetMultiplicity.getSelection(); | |
rectilinearRouting = (combo.getSelectionIndex() == 0); | |
goAhead = true; | |
super.okPressed(); | |
} | |
/** | |
* Creates contents of the dialog. | |
* @param parent | |
*/ | |
@Override | |
protected Control createDialogArea(Composite parent) { | |
parent.setToolTipText(""); | |
Composite container = (Composite) super.createDialogArea(parent); | |
GridLayout gridLayout = (GridLayout) container.getLayout(); | |
gridLayout.numColumns = 2; | |
gridLayout.makeColumnsEqualWidth = true; | |
btnShowStereotypes = new Button(container, SWT.CHECK); | |
btnShowStereotypes.setSelection(false); | |
btnShowStereotypes.setAlignment(SWT.RIGHT); | |
btnShowStereotypes.setText("Show stereotypes labels"); | |
btnShowAssociationsNames = new Button(container, SWT.CHECK); | |
btnShowAssociationsNames.setSelection(false); | |
btnShowAssociationsNames.setAlignment(SWT.RIGHT); | |
btnShowAssociationsNames.setText("Show associations names"); | |
btnShowSourceRole = new Button(container, SWT.CHECK); | |
btnShowSourceRole.setSelection(false); | |
btnShowSourceRole.setAlignment(SWT.RIGHT); | |
btnShowSourceRole.setText("Show source role"); | |
btnShowSourceMultiplicity = new Button(container, SWT.CHECK); | |
btnShowSourceMultiplicity.setSelection(false); | |
btnShowSourceMultiplicity.setAlignment(SWT.RIGHT); | |
btnShowSourceMultiplicity.setText("Show source multiplicity"); | |
btnShowTargetRole = new Button(container, SWT.CHECK); | |
btnShowTargetRole.setSelection(false); | |
btnShowTargetRole.setAlignment(SWT.RIGHT); | |
btnShowTargetRole.setText("Show target role"); | |
btnShowTargetMultiplicity = new Button(container, SWT.CHECK); | |
btnShowTargetMultiplicity.setSelection(false); | |
btnShowTargetMultiplicity.setAlignment(SWT.RIGHT); | |
btnShowTargetMultiplicity.setText("Show target multiplicity"); | |
final Label selectRoutingStyle = new Label(container, SWT.RIGHT); | |
selectRoutingStyle.setText("Select routing style:"); | |
combo = new Combo(container, SWT.DROP_DOWN | SWT.READ_ONLY); | |
combo.setItems(new String [] {"Rectilinear", "Oblique"}); | |
combo.select(0); | |
return container; | |
} | |
/** | |
* Creates contents of the button bar. | |
* @param parent | |
*/ | |
@Override | |
protected void createButtonsForButtonBar(Composite parent) { | |
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true); | |
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); | |
} | |
/** | |
* Returns the initial size of the dialog. | |
*/ | |
@Override | |
protected Point getInitialSize() { | |
return new Point(435, 230); | |
} | |
/** | |
* Returns true if the user pressed the OK button. | |
* @return | |
*/ | |
public boolean goAhead() { | |
return goAhead; | |
} | |
public boolean getShowAssociationsNames() { | |
return showAssociationsNames; | |
} | |
public boolean getShowStereotypes() { | |
return showStereotypes; | |
} | |
public boolean getShowSourceRole() { | |
return showSourceRole; | |
} | |
public boolean getShowSourceMultiplicity() { | |
return showSourceMultiplicity; | |
} | |
public boolean getShowTargetRole() { | |
return showTargetRole; | |
} | |
public boolean getShowTargetMultiplicity() { | |
return showTargetMultiplicity; | |
} | |
public boolean getRectilinearRouting() { | |
return rectilinearRouting; | |
} | |
} |