blob: d8217bedb95dafbad3b4a9867fe0421cce1db4e8 [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.promptSupport;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
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.promptSupport.PromptSupport.FocusBehavior;
/**
* A simple snipper for the PromptSupport utilities
*
*/
public class PromptSupportSnippet {
/**
* @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, true));
createText(new Group(shell, SWT.NONE));
createStyledText(new Group(shell, SWT.NONE));
createCombo(new Group(shell, SWT.NONE));
createCCombo(new Group(shell, SWT.NONE));
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private static void createText(final Group group) {
group.setLayout(new GridLayout(2, false));
group.setText("Text widget");
final Label lbl0 = new Label(group, SWT.NONE);
lbl0.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl0.setText("No prompt :");
final Text txt0 = new Text(group, SWT.BORDER);
txt0.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
final Label lbl1 = new Label(group, SWT.NONE);
lbl1.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl1.setText("Simple text prompt :");
final Text txt1 = new Text(group, SWT.BORDER);
txt1.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt1);
final Label lbl2 = new Label(group, SWT.NONE);
lbl2.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl2.setText("Other style (bold) :");
final Text txt2 = new Text(group, SWT.BORDER);
txt2.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want in bold", txt2);
PromptSupport.setFontStyle(SWT.BOLD, txt2);
final Label lbl3 = new Label(group, SWT.NONE);
lbl3.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl3.setText("Behaviour highlight :");
final Text txt3 = new Text(group, SWT.BORDER);
txt3.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt3);
PromptSupport.setFocusBehavior(FocusBehavior.HIGHLIGHT_PROMPT, txt3);
final Label lbl4 = new Label(group, SWT.NONE);
lbl4.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl4.setText("Change colors :");
final Text txt4 = new Text(group, SWT.BORDER);
txt4.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt4);
PromptSupport.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_YELLOW), txt4);
PromptSupport.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_BLACK), txt4);
final Label lbl5 = new Label(group, SWT.NONE);
lbl5.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl5.setText("Change when widget is initialized :");
final Text txt5 = new Text(group, SWT.BORDER);
txt5.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
txt5.setText("Remove what is typed...");
txt5.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_BLACK));
txt5.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
PromptSupport.setPrompt("Type anything you want", txt5);
PromptSupport.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE), txt5);
PromptSupport.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_WHITE), txt5);
}
private static void createStyledText(final Group group) {
group.setLayout(new GridLayout(2, false));
group.setText("StyledText widget");
final Label lbl0 = new Label(group, SWT.NONE);
lbl0.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl0.setText("No prompt :");
final StyledText txt0 = new StyledText(group, SWT.BORDER);
txt0.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
final Label lbl1 = new Label(group, SWT.NONE);
lbl1.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl1.setText("Simple text prompt :");
final StyledText txt1 = new StyledText(group, SWT.BORDER);
txt1.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt1);
final Label lbl2 = new Label(group, SWT.NONE);
lbl2.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl2.setText("Other style (bold) :");
final StyledText txt2 = new StyledText(group, SWT.BORDER);
txt2.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want in bold", txt2);
PromptSupport.setFontStyle(SWT.BOLD, txt2);
final Label lbl3 = new Label(group, SWT.NONE);
lbl3.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl3.setText("Behaviour highlight :");
final StyledText txt3 = new StyledText(group, SWT.BORDER);
txt3.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt3);
PromptSupport.setFocusBehavior(FocusBehavior.HIGHLIGHT_PROMPT, txt3);
final Label lbl4 = new Label(group, SWT.NONE);
lbl4.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl4.setText("Change colors :");
final StyledText txt4 = new StyledText(group, SWT.BORDER);
txt4.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt4);
PromptSupport.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_YELLOW), txt4);
PromptSupport.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_BLACK), txt4);
final Label lbl5 = new Label(group, SWT.NONE);
lbl5.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl5.setText("Change when widget is initialized :");
final StyledText txt5 = new StyledText(group, SWT.BORDER);
txt5.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
txt5.setText("Remove what is typed...");
txt5.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_BLACK));
txt5.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
PromptSupport.setPrompt("Type anything you want", txt5);
PromptSupport.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE), txt5);
PromptSupport.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_WHITE), txt5);
}
private static void createCombo(final Group group) {
group.setLayout(new GridLayout(2, false));
group.setText("Combo widget");
final Label lbl0 = new Label(group, SWT.NONE);
lbl0.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl0.setText("No prompt :");
final Combo combo0 = new Combo(group, SWT.BORDER);
combo0.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
final Label lbl1 = new Label(group, SWT.NONE);
lbl1.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl1.setText("Simple text prompt :");
final Combo combo1 = new Combo(group, SWT.BORDER);
combo1.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", combo1);
final Label lbl2 = new Label(group, SWT.NONE);
lbl2.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl2.setText("Other style (bold) :");
final Combo combo2 = new Combo(group, SWT.BORDER);
combo2.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want in bold", combo2);
PromptSupport.setFontStyle(SWT.BOLD, combo2);
final Label lbl3 = new Label(group, SWT.NONE);
lbl3.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl3.setText("Behaviour highlight :");
final Combo combo3 = new Combo(group, SWT.BORDER);
combo3.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", combo3);
PromptSupport.setFocusBehavior(FocusBehavior.HIGHLIGHT_PROMPT, combo3);
final Label lbl4 = new Label(group, SWT.NONE);
lbl4.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl4.setText("Change colors :");
final Combo combo4 = new Combo(group, SWT.BORDER);
combo4.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", combo4);
PromptSupport.setForeground(combo4.getDisplay().getSystemColor(SWT.COLOR_YELLOW), combo4);
PromptSupport.setBackground(combo4.getDisplay().getSystemColor(SWT.COLOR_BLACK), combo4);
final Label lbl5 = new Label(group, SWT.NONE);
lbl5.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl5.setText("Change when widget is initialized :");
final Combo combo5 = new Combo(group, SWT.BORDER);
combo5.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
combo5.setText("Remove what is typed...");
combo5.setBackground(combo4.getDisplay().getSystemColor(SWT.COLOR_BLACK));
combo5.setForeground(combo4.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
PromptSupport.setPrompt("Type anything you want", combo5);
PromptSupport.setForeground(combo4.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE), combo5);
PromptSupport.setBackground(combo4.getDisplay().getSystemColor(SWT.COLOR_WHITE), combo5);
}
private static void createCCombo(final Group group) {
group.setLayout(new GridLayout(2, false));
group.setText("CCombo widget");
final Label lbl0 = new Label(group, SWT.NONE);
lbl0.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl0.setText("No prompt :");
final CCombo combo0 = new CCombo(group, SWT.BORDER);
combo0.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
final Label lbl1 = new Label(group, SWT.NONE);
lbl1.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl1.setText("Simple text prompt :");
final CCombo txt1 = new CCombo(group, SWT.BORDER);
txt1.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt1);
final Label lbl2 = new Label(group, SWT.NONE);
lbl2.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl2.setText("Other style (bold) :");
final CCombo txt2 = new CCombo(group, SWT.BORDER);
txt2.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want in bold", txt2);
PromptSupport.setFontStyle(SWT.BOLD, txt2);
final Label lbl3 = new Label(group, SWT.NONE);
lbl3.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl3.setText("Behaviour highlight :");
final CCombo txt3 = new CCombo(group, SWT.BORDER);
txt3.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt3);
PromptSupport.setFocusBehavior(FocusBehavior.HIGHLIGHT_PROMPT, txt3);
final Label lbl4 = new Label(group, SWT.NONE);
lbl4.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl4.setText("Change colors :");
final CCombo txt4 = new CCombo(group, SWT.BORDER);
txt4.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
PromptSupport.setPrompt("Type anything you want", txt4);
PromptSupport.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_YELLOW), txt4);
PromptSupport.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_BLACK), txt4);
final Label lbl5 = new Label(group, SWT.NONE);
lbl5.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
lbl5.setText("Change when widget is initialized :");
final CCombo txt5 = new CCombo(group, SWT.BORDER);
txt5.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
txt5.setText("Remove what is typed...");
txt5.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_BLACK));
txt5.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
PromptSupport.setPrompt("Type anything you want", txt5);
PromptSupport.setForeground(txt4.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE), txt5);
PromptSupport.setBackground(txt4.getDisplay().getSystemColor(SWT.COLOR_WHITE), txt5);
}
}