blob: ff6500bf85fef2041e858de1531b74c905d96fa9 [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 at gmail dot com) - initial API and implementation
*******************************************************************************/
package org.mihalis.opal.columns;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.mihalis.opal.opalDialog.Dialog;
import org.mihalis.opal.utils.SWTGraphicUtil;
/**
* This snippet demonstrates the ColumnBrowser widget
*/
public class ColumnsSnippet {
/**
* @param args
*/
public static void main(final String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(2, false));
final ColumnBrowserWidget cbw = new ColumnBrowserWidget(shell, SWT.NONE);
cbw.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));
final ColumnItem item = createColors(cbw);
createSports(cbw);
createShowSelectionButton(shell, cbw);
createForceSelection(shell, cbw, item);
shell.setSize(640, 350);
shell.pack();
shell.open();
SWTGraphicUtil.centerShell(shell);
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private static ColumnItem createColors(final ColumnBrowserWidget cbw) {
final ColumnItem root = new ColumnItem(cbw);
root.setText("Colors");
final ColumnItem b = new ColumnItem(root);
b.setText("b");
final ColumnItem bl = new ColumnItem(b);
bl.setText("l");
final ColumnItem blu = new ColumnItem(bl);
blu.setText("u");
final ColumnItem blue = new ColumnItem(blu);
blue.setText("e");
final ColumnItem r = new ColumnItem(root);
r.setText("r");
final ColumnItem re = new ColumnItem(r);
re.setText("e");
final ColumnItem red = new ColumnItem(re);
red.setText("d");
final ColumnItem ro = new ColumnItem(r);
ro.setText("o");
final ColumnItem ros = new ColumnItem(ro);
ros.setText("s");
final ColumnItem rose = new ColumnItem(ros);
rose.setText("e");
final ColumnItem g = new ColumnItem(root);
g.setText("g");
final ColumnItem gr = new ColumnItem(g);
gr.setText("r");
final ColumnItem gre = new ColumnItem(gr);
gre.setText("e");
final ColumnItem gree = new ColumnItem(gre);
gree.setText("e");
final ColumnItem green = new ColumnItem(gree);
green.setText("n");
return green;
}
private static void createSports(final ColumnBrowserWidget cbw) {
final ColumnItem root = new ColumnItem(cbw);
root.setText("Sports");
final ColumnItem football = new ColumnItem(root);
football.setText("Football");
final ColumnItem rugby = new ColumnItem(root);
rugby.setText("Rugby");
final ColumnItem handball = new ColumnItem(root);
handball.setText("Hand Ball");
}
private static void createShowSelectionButton(final Shell shell, final ColumnBrowserWidget cbw) {
final Button button = new Button(shell, SWT.PUSH);
button.setLayoutData(new GridData(GridData.END, GridData.FILL, true, false));
button.setText("Show selection");
button.addSelectionListener(new SelectionAdapter() {
/**
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetSelected(final SelectionEvent e) {
Dialog.inform("Selection", "You have selected " + (cbw.getSelection() == null ? "nothing" : cbw.getSelection().getText()));
}
});
}
private static void createForceSelection(final Shell shell, final ColumnBrowserWidget cbw, final ColumnItem item) {
final Button button = new Button(shell, SWT.PUSH);
button.setLayoutData(new GridData(GridData.END, GridData.FILL, false, false));
button.setText("Force selection");
button.addSelectionListener(new SelectionAdapter() {
/**
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetSelected(final SelectionEvent e) {
cbw.select(item);
}
});
}
}