📄 componentfactory.java.svn-base
字号:
package com.newegg.eclipse.soaw.facet.codegen.ui.util;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
public class ComponentFactory
{
public static String BUTTON_BROWSE = "&Browse";
/**
* Create a text box.
*
* @param container
* @param lable
* @param description
* @param defaultText
* @param isBrowse
* @return
*/
public static Text createLabledTextBox(Composite container, String lable, String description, String defaultText,
boolean isBrowse, Listener listener)
{
GridData gridData = new GridData();
gridData.horizontalSpan = 1;
Label descriptionLabel = new Label(container, SWT.NONE);
descriptionLabel.setLayoutData(gridData);
descriptionLabel.setText(lable);
descriptionLabel.setToolTipText(description);
gridData = new GridData();
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalSpan = 4;
Text text = new Text(container, SWT.SINGLE | SWT.BORDER);
text.setLayoutData(gridData);
text.setToolTipText(description);
text.setText(defaultText);
gridData = new GridData();
gridData.horizontalSpan = 1;
if (isBrowse)
{
Button browse = new Button(container, SWT.NONE);
browse.setLayoutData(gridData);
// browse.setText(NameConstants.BUTTON_BROWSE);
browse.addListener(SWT.Selection, listener);
} else
{
Label spaceLabel = new Label(container, SWT.NONE);
spaceLabel.setLayoutData(gridData);
}
return text;
}
/**
* Create a combo box.
*
* @param container
* @param lable
* @param description
* @param comboItems
* @param isBrowse
* @param listener
* @return
*/
public static Combo createLabledComboBox(Composite container, String lable, String description,
String[] comboItems, boolean isBrowse, Listener listener)
{
GridData gridData = new GridData();
gridData.horizontalSpan = 1;
Label descriptionLabel = new Label(container, SWT.NONE);
descriptionLabel.setLayoutData(gridData);
descriptionLabel.setText(lable);
descriptionLabel.setToolTipText(description);
gridData = new GridData();
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalSpan = 4;
Combo combo = new Combo(container, SWT.SINGLE | SWT.BORDER);
combo.setItems(comboItems);
combo.setText(comboItems[0]);
combo.setLayoutData(gridData);
combo.setToolTipText(description);
gridData = new GridData();
gridData.horizontalSpan = 1;
if (isBrowse)
{
Button browse = new Button(container, SWT.NONE);
browse.setLayoutData(gridData);
browse.setText(BUTTON_BROWSE);
browse.addListener(SWT.Selection, listener);
} else
{
Label spaceLabel = new Label(container, SWT.NONE);
spaceLabel.setLayoutData(gridData);
}
return combo;
}
/**
* Create a combo box.
*
* @param container
* @param description
* @param comboItems
* @param gridData
* @return
*/
public static Combo createComboBox(Composite container, String description, String[] comboItems, GridData gridData)
{
Combo combo = new Combo(container, SWT.SINGLE | SWT.BORDER);
combo.setItems(comboItems);
combo.setText(comboItems[0]);
combo.setLayoutData(gridData);
combo.setToolTipText(description);
return combo;
}
/**
* Create a combo as read only box.
*
* @param container
* @param description
* @param comboItems
* @param gridData
* @return
*/
public static Combo createReadOnlyComboBox(Composite container, String description, String[] comboItems,
GridData gridData)
{
Combo combo = new Combo(container, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
combo.setItems(comboItems);
combo.setText(comboItems[0]);
combo.setLayoutData(gridData);
combo.setToolTipText(description);
return combo;
}
public static Text createText(Composite container, int horizontalSpan, String description, String defaultText)
{
GridData gridData = new GridData();
gridData.horizontalSpan = horizontalSpan;
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
Text text = new Text(container, SWT.SINGLE | SWT.BORDER);
text.setLayoutData(gridData);
text.setToolTipText(description);
text.setText(defaultText);
return text;
}
/**
* Create a group.
*
* @param container
* @param groupTitle
* @param gridLayoutNum
* @param horizontalSpan
* @return
*/
public static Group createEntryGroup(Composite container, String groupTitle, int gridLayoutNum, int horizontalSpan,
int minimumHeight, boolean grabExcessHorizontalSpace, boolean grabExcessVerticalSpace)
{
Group entryGroup = new Group(container, SWT.NONE);
entryGroup.setText(groupTitle);
GridLayout gridLayout = new GridLayout(gridLayoutNum, false);
gridLayout.marginTop = 0;
gridLayout.marginLeft = 0;
gridLayout.marginRight = 0;
GridData gridData = new GridData();
gridData.horizontalSpan = horizontalSpan;
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = grabExcessHorizontalSpace;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = grabExcessVerticalSpace;
gridData.minimumHeight = minimumHeight;
entryGroup.setLayout(gridLayout);
entryGroup.setLayoutData(gridData);
return entryGroup;
}
/**
* Create a group.
*
* @param container
* @param groupTitle
* @param gridLayoutNum
* @param horizontalSpan
* @param grabExcessHorizontalSpace
* @param grabExcessVerticalSpace
* @return
*/
public static Group createGroup(Composite container, String groupTitle, int gridLayoutNum, int horizontalSpan,
boolean grabExcessHorizontalSpace, boolean grabExcessVerticalSpace)
{
Group entryGroup = new Group(container, SWT.NONE);
entryGroup.setText(groupTitle);
GridLayout gridLayout = new GridLayout(gridLayoutNum, false);
gridLayout.marginTop = 0;
gridLayout.marginLeft = 0;
gridLayout.marginRight = 0;
GridData gridData = new GridData();
gridData.horizontalSpan = horizontalSpan;
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = grabExcessHorizontalSpace;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = grabExcessVerticalSpace;
entryGroup.setLayout(gridLayout);
entryGroup.setLayoutData(gridData);
return entryGroup;
}
/**
* Create a check button.
*
* @param container
* @param buttonText
* @param buttonDescription
* @param horizontalSpan
* @return
*/
public static Button createCheckButton(Composite container, String buttonText, String buttonDescription,
int horizontalSpan)
{
GridData gridData = new GridData();
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = horizontalSpan;
Button curButton = new Button(container, SWT.CHECK);
curButton.setText(buttonText);
curButton.setToolTipText(buttonDescription);
curButton.setLayoutData(gridData);
return curButton;
}
/**
* Create a label.
*
* @param container
* @param labelText
* @param labelDescription
* @param horizontalSpan
* @return
*/
public static Label createLabel(Composite container, String labelText, String labelDescription, int horizontalSpan)
{
GridData gridData1 = new GridData();
gridData1.horizontalAlignment = GridData.FILL;
gridData1.horizontalSpan = horizontalSpan;
Label label = new Label(container, SWT.NONE);
label.setLayoutData(gridData1);
label.setText(labelText);
label.setToolTipText(labelDescription);
return label;
}
/**
* Create a label.
*
* @param container
* @param labelText
* @param labelDescription
* @param horizontalSpan
* @return
*/
public static Label createLabel(Composite container, String labelText, String labelDescription, int horizontalSpan,
int horizontalAlignment)
{
GridData gridData1 = new GridData();
gridData1.horizontalAlignment = horizontalAlignment;
gridData1.horizontalSpan = horizontalSpan;
Label label = new Label(container, SWT.NONE);
label.setLayoutData(gridData1);
label.setText(labelText);
label.setToolTipText(labelDescription);
return label;
}
/**
* Create a label.
*
* @param container
* @param labelText
* @param labelDescription
* @param horizontalSpan
* @return
*/
public static Button createButton(Composite container, String buttonText, String labelDescription,
int horizontalSpan, Image img, Listener listener)
{
GridData gridData = new GridData();
// gridData.horizontalAlignment = GridData.FILL;
// gridData.grabExcessHorizontalSpace = true;
gridData.horizontalSpan = horizontalSpan;
Button b = new Button(container, SWT.NONE);
b.setLayoutData(gridData);
if (img == null)
{
// b.setImage(ImgLoader.loadImgsByName(container.getDisplay(),
// ImgNameConstants.WS_DEPLOY_PROJECT_TO_SERVER));
} else
{
b.setImage(img);
}
b.setText(buttonText);
b.setToolTipText(labelDescription);
b.addListener(SWT.Selection, listener);
return b;
}
/**
* Create null container.
*
* @param container
* @param gridLayoutNum
* @param horizontalSpan
* @param minimumHeight
* @param bgColor
* @return
*/
public static SashForm createSahForm(Composite container, int gridLayoutNum, int horizontalSpan, int minimumHeight,
Color bgColor)
{
GridLayout gridLayout = new GridLayout(gridLayoutNum, false);
gridLayout.marginTop = 0;
gridLayout.marginLeft = 0;
gridLayout.marginRight = 0;
GridData gridData = new GridData();
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
gridData.horizontalSpan = horizontalSpan;
gridData.minimumHeight = minimumHeight;
SashForm sash_form = new SashForm(container, SWT.CENTER | SWT.HORIZONTAL);
sash_form.setLayout(gridLayout);
sash_form.setLayoutData(gridData);
sash_form.setBackground(bgColor);
return sash_form;
}
/**
* Create a tree viewer.
*
* @param container
* @param contentProvider
* @param labelProvider
* @return
*/
public static TreeViewer createTreeViewer(Composite container, ITreeContentProvider contentProvider,
ILabelProvider labelProvider)
{
TreeViewer trv = new TreeViewer(container, SWT.BORDER);
trv.setContentProvider(contentProvider);
trv.setLabelProvider(labelProvider);
/** Quickly find the TableItem among record. */
trv.setUseHashlookup(true);
return trv;
}
/**
* Create a browser.
*
* @param container
* @return
*/
public static Browser createBrowser(Composite container)
{
container = new Composite(container, SWT.BORDER);
FillLayout layout = new FillLayout();
layout.type = SWT.HORIZONTAL;
layout.type = SWT.VERTICAL;
container.setLayout(layout);
GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
container.setLayoutData(gridData);
Browser _browser = null;
try
{
_browser = new Browser(container, SWT.NONE);
} catch (SWTError e)
{
/*
* The Browser widget throws an SWTError if it fails to instantiate properly.
* Application code should catch this SWTError and disable any feature requiring the
* Browser widget. Platform requirements for the SWT Browser widget are available from
* the SWT FAQ website.
*/
e.printStackTrace();
}
return _browser;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -