⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 componentfactory.java.svn-base

📁 Eclipse代码生成器,支持Eclipse3.3 WTP版本,该项目实现了Spring + hibernate + webService + struts 框架文件的自动生成,有这方面需求的个人公司
💻 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 + -