blob: 939bb8c31b6360149fb0d50e5670510d463ec3e9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 Laurent CARON.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Laurent CARON (laurent.caron@gmail.com) - initial API and implementation
*******************************************************************************/
package org.mihalis.opal.rangeSlider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.mihalis.opal.titledSeparator.TitledSeparator;
/**
* A simple snipper for the RangleSlider widget
*
*/
public class RangeSliderSnippet {
/**
* @param args
*/
public static void main(final String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout(SWT.HORIZONTAL));
createNormalSliders(new Group(shell, SWT.NONE));
createDisabledSliders(new Group(shell, SWT.NONE));
createDifferentSliders(new Group(shell, SWT.NONE));
createSlidersCanceledSelectionListener(new Group(shell, SWT.NONE));
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private static void createNormalSliders(final Group group) {
group.setLayout(new GridLayout(3, false));
final TitledSeparator tsh = new TitledSeparator(group, SWT.NONE);
tsh.setText("Horizontal Range Slider");
tsh.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider hRangeSlider = new RangeSlider(group, SWT.HORIZONTAL);
final GridData gd = new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 2);
gd.widthHint = 250;
hRangeSlider.setLayoutData(gd);
hRangeSlider.setMinimum(0);
hRangeSlider.setMaximum(100);
hRangeSlider.setLowerValue(0);
hRangeSlider.setUpperValue(60);
final Label hLabelLower = new Label(group, SWT.NONE);
hLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelLower.setText("Lower Value:");
final Text hTextLower = new Text(group, SWT.BORDER);
hTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextLower.setText(hRangeSlider.getLowerValue() + " ");
hTextLower.setEnabled(false);
final Label hLabelUpper = new Label(group, SWT.NONE);
hLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelUpper.setText("Upper Value:");
final Text hTextUpper = new Text(group, SWT.BORDER);
hTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextUpper.setText(hRangeSlider.getUpperValue() + " ");
hTextUpper.setEnabled(false);
hRangeSlider.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
hTextLower.setText(hRangeSlider.getLowerValue() + " ");
hTextUpper.setText(hRangeSlider.getUpperValue() + " ");
}
});
final TitledSeparator tsv = new TitledSeparator(group, SWT.NONE);
tsv.setText("Vertical Range Slider");
tsv.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider vRangeSlider = new RangeSlider(group, SWT.VERTICAL);
final GridData gd2 = new GridData(GridData.CENTER, GridData.FILL, false, false, 1, 2);
gd2.heightHint = 300;
vRangeSlider.setLayoutData(gd2);
final Label vLabelLower = new Label(group, SWT.NONE);
vLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelLower.setText("Lower Value:");
final Text vTextLower = new Text(group, SWT.BORDER);
vTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextLower.setText(vRangeSlider.getLowerValue() + " ");
vTextLower.setEnabled(false);
final Label vLabelUpper = new Label(group, SWT.NONE);
vLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelUpper.setText("Upper Value:");
final Text vTextUpper = new Text(group, SWT.BORDER);
vTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextUpper.setText(vRangeSlider.getUpperValue() + " ");
vTextUpper.setEnabled(false);
vRangeSlider.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
vTextLower.setText(hRangeSlider.getLowerValue() + " ");
vTextUpper.setText(hRangeSlider.getUpperValue() + " ");
}
});
}
private static void createDisabledSliders(final Group group) {
group.setLayout(new GridLayout(3, false));
final TitledSeparator tsh = new TitledSeparator(group, SWT.NONE);
tsh.setText("Horizontal Range Slider, disabled");
tsh.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider hRangeSlider = new RangeSlider(group, SWT.HORIZONTAL);
final GridData gd = new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 2);
gd.widthHint = 250;
hRangeSlider.setLayoutData(gd);
hRangeSlider.setMinimum(0);
hRangeSlider.setMaximum(100);
hRangeSlider.setLowerValue(0);
hRangeSlider.setUpperValue(60);
hRangeSlider.setEnabled(false);
final Label hLabelLower = new Label(group, SWT.NONE);
hLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelLower.setText("Lower Value:");
final Text hTextLower = new Text(group, SWT.BORDER);
hTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextLower.setText(hRangeSlider.getLowerValue() + " ");
hTextLower.setEnabled(false);
final Label hLabelUpper = new Label(group, SWT.NONE);
hLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelUpper.setText("Upper Value:");
final Text hTextUpper = new Text(group, SWT.BORDER);
hTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextUpper.setText(hRangeSlider.getUpperValue() + " ");
hTextUpper.setEnabled(false);
final TitledSeparator tsv = new TitledSeparator(group, SWT.NONE);
tsv.setText("Vertical Range Slider, disabled");
tsv.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider vRangeSlider = new RangeSlider(group, SWT.VERTICAL);
final GridData gd2 = new GridData(GridData.CENTER, GridData.FILL, false, false, 1, 2);
gd2.heightHint = 300;
vRangeSlider.setLayoutData(gd2);
vRangeSlider.setEnabled(false);
final Label vLabelLower = new Label(group, SWT.NONE);
vLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelLower.setText("Lower Value:");
final Text vTextLower = new Text(group, SWT.BORDER);
vTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextLower.setText(vRangeSlider.getLowerValue() + " ");
vTextLower.setEnabled(false);
final Label vLabelUpper = new Label(group, SWT.NONE);
vLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelUpper.setText("Upper Value:");
final Text vTextUpper = new Text(group, SWT.BORDER);
vTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextUpper.setText(vRangeSlider.getUpperValue() + " ");
vTextUpper.setEnabled(false);
}
private static void createDifferentSliders(final Group group) {
group.setLayout(new GridLayout(3, false));
final TitledSeparator tsh = new TitledSeparator(group, SWT.NONE);
tsh.setText("Horizontal Range Slider, between 100 and 1000, increment by 100");
tsh.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider hRangeSlider = new RangeSlider(group, SWT.HORIZONTAL);
final GridData gd = new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 2);
gd.widthHint = 250;
hRangeSlider.setLayoutData(gd);
hRangeSlider.setMinimum(100);
hRangeSlider.setMaximum(1000);
hRangeSlider.setLowerValue(200);
hRangeSlider.setUpperValue(800);
hRangeSlider.setIncrement(100);
hRangeSlider.setPageIncrement(200);
final Label hLabelLower = new Label(group, SWT.NONE);
hLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelLower.setText("Lower Value:");
final Text hTextLower = new Text(group, SWT.BORDER);
hTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextLower.setText(hRangeSlider.getLowerValue() + " ");
hTextLower.setEnabled(false);
final Label hLabelUpper = new Label(group, SWT.NONE);
hLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelUpper.setText("Upper Value:");
final Text hTextUpper = new Text(group, SWT.BORDER);
hTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextUpper.setText(hRangeSlider.getUpperValue() + " ");
hTextUpper.setEnabled(false);
final TitledSeparator tsv = new TitledSeparator(group, SWT.NONE);
tsv.setText("Vertical Range Slider, between 100 and 1000, increment by 100");
tsv.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider vRangeSlider = new RangeSlider(group, SWT.VERTICAL);
final GridData gd2 = new GridData(GridData.CENTER, GridData.FILL, false, false, 1, 2);
gd2.heightHint = 300;
vRangeSlider.setLayoutData(gd2);
vRangeSlider.setMinimum(100);
vRangeSlider.setMaximum(1000);
vRangeSlider.setLowerValue(200);
vRangeSlider.setUpperValue(800);
vRangeSlider.setIncrement(100);
vRangeSlider.setPageIncrement(200);
final Label vLabelLower = new Label(group, SWT.NONE);
vLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelLower.setText("Lower Value:");
final Text vTextLower = new Text(group, SWT.BORDER);
vTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextLower.setText(vRangeSlider.getLowerValue() + " ");
vTextLower.setEnabled(false);
final Label vLabelUpper = new Label(group, SWT.NONE);
vLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelUpper.setText("Upper Value:");
final Text vTextUpper = new Text(group, SWT.BORDER);
vTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextUpper.setText(vRangeSlider.getUpperValue() + " ");
vTextUpper.setEnabled(false);
}
private static void createSlidersCanceledSelectionListener(final Group group) {
group.setLayout(new GridLayout(3, false));
final TitledSeparator tsh = new TitledSeparator(group, SWT.NONE);
tsh.setText("Horizontal Range Slider, cancel selection");
tsh.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider hRangeSlider = new RangeSlider(group, SWT.HORIZONTAL);
final GridData gd = new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 2);
gd.widthHint = 250;
hRangeSlider.setLayoutData(gd);
hRangeSlider.setMinimum(0);
hRangeSlider.setMaximum(100);
hRangeSlider.setLowerValue(0);
hRangeSlider.setUpperValue(60);
hRangeSlider.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
e.doit = false;
}
});
final Label hLabelLower = new Label(group, SWT.NONE);
hLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelLower.setText("Lower Value:");
final Text hTextLower = new Text(group, SWT.BORDER);
hTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextLower.setText(hRangeSlider.getLowerValue() + " ");
hTextLower.setEnabled(false);
final Label hLabelUpper = new Label(group, SWT.NONE);
hLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
hLabelUpper.setText("Upper Value:");
final Text hTextUpper = new Text(group, SWT.BORDER);
hTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
hTextUpper.setText(hRangeSlider.getUpperValue() + " ");
hTextUpper.setEnabled(false);
final TitledSeparator tsv = new TitledSeparator(group, SWT.NONE);
tsv.setText("Vertical Range Slider, cancel selection");
tsv.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
final RangeSlider vRangeSlider = new RangeSlider(group, SWT.VERTICAL);
final GridData gd2 = new GridData(GridData.CENTER, GridData.FILL, false, false, 1, 2);
gd2.heightHint = 300;
vRangeSlider.setLayoutData(gd2);
final Label vLabelLower = new Label(group, SWT.NONE);
vLabelLower.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelLower.setText("Lower Value:");
final Text vTextLower = new Text(group, SWT.BORDER);
vTextLower.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextLower.setText(vRangeSlider.getLowerValue() + " ");
vTextLower.setEnabled(false);
final Label vLabelUpper = new Label(group, SWT.NONE);
vLabelUpper.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 1, 1));
vLabelUpper.setText("Upper Value:");
final Text vTextUpper = new Text(group, SWT.BORDER);
vTextUpper.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, 1, 1));
vTextUpper.setText(vRangeSlider.getUpperValue() + " ");
vTextUpper.setEnabled(false);
vRangeSlider.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
e.doit = false;
}
});
}
}