亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jadpropertieseditorpage.java

?? 配置文件
?? JAVA
字號:
/**
 * Copyright (c) 2003-2005 Craig Setera
 * All Rights Reserved.
 * Licensed under the Eclipse Public License - v 1.0
 * For more information see http://www.eclipse.org/legal/epl-v10.html
 */
package eclipseme.ui.internal.editor.jad;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.preference.FieldEditor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.IntegerFieldEditor;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;

import eclipseme.core.internal.EclipseMECorePlugin;
import eclipseme.core.model.DescriptorPropertyDescription;


/**
 * An editor part page that may be added to the JAD editor.
 * <p />
 * Copyright (c) 2003-2005 Craig Setera<br>
 * All Rights Reserved.<br>
 * Licensed under the Eclipse Public License - v 1.0<p/>
 * <br>
 * $Revision: 1.10 $
 * <br>
 * $Date: 2006/02/11 21:27:36 $
 * <br>
 * @author Craig Setera
 */
public abstract class JADPropertiesEditorPage extends AbstractJADEditorPage {
	// The descriptors being editted
	private DescriptorPropertyDescription[] descriptors;
	
	// The field editors in use
	private FieldEditor[] fieldEditors;
	
	// To handle the change from the internal ComboFieldEditor used prior
	// to 3.3.  This probably should have been better handled in the first
	// place, but now that it is moving to an externally available class,
	// it isn't worth replicating
	private Class comboFieldEditorClass;
	private Constructor comboEditorConstructor;
	
	/**
	 * Constructor
	 */
	public JADPropertiesEditorPage(
		JADEditor editor,
		String id,
		String title,
		DescriptorPropertyDescription[] descriptors) 
	{
		super(editor, id, title);
		this.descriptors = descriptors;
	}

	/**
	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
	 */
	public void doSave(IProgressMonitor monitor) {
		monitor.setTaskName(getTitle());
		
		for (int i = 0; i < fieldEditors.length; i++) {
			fieldEditors[i].store();
		}
		setDirty(false);
	}

	/**
	 * @see org.eclipse.ui.forms.editor.FormPage#createFormContent(org.eclipse.ui.forms.IManagedForm)
	 */
	protected void createFormContent(IManagedForm managedForm) {
		FormToolkit toolkit = managedForm.getToolkit();
		
		Composite composite = createSectionComposite(managedForm); 
		composite.setLayout(new GridLayout(2, false));
		new Label(composite, SWT.NONE);
		new Label(composite, SWT.NONE);
		
		fieldEditors = new FieldEditor[descriptors.length];
		for (int i = 0; i < descriptors.length; i++) {
			switch (descriptors[i].getDataType()) {
				case DescriptorPropertyDescription.DATATYPE_INT:
					fieldEditors[i] = createIntegerFieldEditor(toolkit, composite, descriptors[i]);
				break;
				
				case DescriptorPropertyDescription.DATATYPE_LIST:
					fieldEditors[i] = createComboFieldEditor(toolkit, composite, descriptors[i]);
				break;
				
				case DescriptorPropertyDescription.DATATYPE_URL:
				case DescriptorPropertyDescription.DATATYPE_STRING:
				default:
					fieldEditors[i] = createStringFieldEditor(toolkit, composite, descriptors[i]);
				break;
			}

			Label label = fieldEditors[i].getLabelControl(composite);
			toolkit.adapt(label, false, false);
			
			// Listen for property change events on the editor
			fieldEditors[i].setPropertyChangeListener(new IPropertyChangeListener() {
				public void propertyChange(PropertyChangeEvent event) {
					if (event.getProperty().equals(FieldEditor.VALUE)) {
						setDirty(true);
					}
				}
			});
		}
		
		// Adapt the Combo instances...
		Control[] children = composite.getChildren();
		for (int i = 0; i < children.length; i++) {
			Control control = children[i];
			if (control instanceof Combo) {
				toolkit.adapt(control, false, false);
			}
		}
		
		updateEditComponents();
		addContextHelp(composite);
	}

	protected void addContextHelp(Composite c)
	{
	}
	
	/**
	 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
	 */
	public void setFocus() {
		if (fieldEditors.length > 0) {
			fieldEditors[0].setFocus();
		}
	}
	
	/**
	 * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
	 */
	protected void setInput(IEditorInput input) {
		super.setInput(input);		
		updateEditComponents();
		setDirty(false);
	}
	
	/**
	 * Create a new combo field editor.
	 * 
	 * @param toolkit
	 * @param composite
	 * @param description
	 * @return
	 */
	private FieldEditor createComboFieldEditor(
			FormToolkit toolkit, 
			Composite composite, 
			DescriptorPropertyDescription description) 
	{
		if (comboFieldEditorClass == null) {
			initializeComboFieldEditorSupport();
		}
		
		ListDescriptorPropertyDescription listDescription =
			(ListDescriptorPropertyDescription)	description;
		
		FieldEditor editor = null;
		try {
			editor = (FieldEditor) comboEditorConstructor.newInstance(
				new Object[] { 
					listDescription.getPropertyName(),
					listDescription.getDisplayName(),
					listDescription.getNamesAndValues(),
					composite 
				});
			
		} catch (IllegalArgumentException e) {
			EclipseMECorePlugin.log(IStatus.ERROR, e);
		} catch (InstantiationException e) {
			EclipseMECorePlugin.log(IStatus.ERROR, e);
		} catch (IllegalAccessException e) {
			EclipseMECorePlugin.log(IStatus.ERROR, e);
		} catch (InvocationTargetException e) {
			EclipseMECorePlugin.log(IStatus.ERROR, e);
		}
				
		return editor;
	}

	/**
	 * Create a new integer field editor.
	 * 
	 * @param toolkit
	 * @param parent
	 * @param descriptor
	 * @return
	 */
	private IntegerFieldEditor createIntegerFieldEditor(
			FormToolkit toolkit,
			Composite parent,
			DescriptorPropertyDescription descriptor)
	{
		IntegerFieldEditor integerEditor =
			new IntegerFieldEditor(
				descriptor.getPropertyName(),
				descriptor.getDisplayName(),
				parent);
		toolkit.adapt(integerEditor.getTextControl(parent), true, true);
		
		return integerEditor;
	}

	/**
	 * Create a new String field editor.
	 * 
	 * @param toolkit
	 * @param parent
	 * @param descriptor
	 * @return
	 */
	private StringFieldEditor createStringFieldEditor(
			FormToolkit toolkit,
			Composite parent,
			DescriptorPropertyDescription descriptor)
	{
		StringFieldEditor editor =
			new StringFieldEditor(
				descriptor.getPropertyName(),
				descriptor.getDisplayName(),
				parent);
		toolkit.adapt(editor.getTextControl(parent), true, true);
		
		return editor;
	}

	/**
	 * Resolve the appropriate combo field editor class to be used
	 * dependent on the version.
	 */
	private void initializeComboFieldEditorSupport() {
		String[] names = new String[] {
			"org.eclipse.jdt.internal.debug.ui.launcher.ComboFieldEditor",
			"org.eclipse.jface.preference.ComboFieldEditor",
		};
		
		for (int i = 0; (comboFieldEditorClass == null) && (i < names.length); i++) {
			String name = names[i];
			try {
				comboFieldEditorClass = Class.forName(name);
				comboEditorConstructor = comboFieldEditorClass.getConstructors()[0];
			} catch (ClassNotFoundException e) {
			} catch (SecurityException e) {
				EclipseMECorePlugin.log(IStatus.ERROR, e);
			}
		}
	}

	/**
	 * Update the application descriptor the components
	 * are handling
	 */
	private void updateEditComponents() {
		if (fieldEditors != null) {
			IPreferenceStore store = getPreferenceStore();
			for (int i = 0; i < fieldEditors.length; i++) {
				FieldEditor fieldEditor = fieldEditors[i];
				fieldEditor.setPreferenceStore(store);
				fieldEditor.load();
			}
		}
	}

	/**
	 * @see eclipseme.ui.internal.editor.jad.AbstractJADEditorPage#getSectionDescription()
	 */
	protected String getSectionDescription() {
		return null;
	}

	/**
	 * @see eclipseme.ui.internal.editor.jad.AbstractJADEditorPage#getSectionTitle()
	 */
	protected String getSectionTitle() {
		return null;
	}

	/**
	 * @see eclipseme.ui.internal.editor.jad.AbstractJADEditorPage#editorInputChanged()
	 */
	void editorInputChanged() {
		updateEditComponents();
	}

	/**
	 * @see eclipseme.ui.internal.editor.jad.AbstractJADEditorPage#isManagingProperty(java.lang.String)
	 */
	boolean isManagingProperty(String property) {
		boolean manages = false;

		for (int i = 0; i < descriptors.length; i++) {
			DescriptorPropertyDescription desc = descriptors[i];
			if (property.equals(desc.getPropertyName())) {
				manages = true;
				break;
			}
		}
		return manages;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区视频在线播放| 最近日韩中文字幕| 日韩 欧美一区二区三区| 欧美色爱综合网| 日日夜夜免费精品| 欧美成人女星排行榜| 国产一区二区免费看| 国产精品毛片久久久久久| 成人自拍视频在线观看| 国产精品福利电影一区二区三区四区| 91亚洲国产成人精品一区二区三| 亚洲黄色av一区| 欧美一区二区三区喷汁尤物| 国产精品自拍毛片| 亚洲人成伊人成综合网小说| 欧美日本一区二区| 国产精品自在在线| 亚洲在线观看免费| 日韩美女一区二区三区四区| 国产成人一区二区精品非洲| 亚洲欧美aⅴ...| 欧美一区二区久久| 国产69精品久久久久毛片| 亚洲老妇xxxxxx| 日韩欧美专区在线| 波多野结衣亚洲| 天天综合天天综合色| 国产欧美一区二区精品秋霞影院 | 性做久久久久久免费观看欧美| 91精品国产黑色紧身裤美女| 国产91精品露脸国语对白| 一区二区三区四区在线播放 | 精品一区二区三区av| 国产精品国产三级国产a| 欧美日韩精品高清| 高清不卡一二三区| 亚洲福利国产精品| 国产精品美女久久久久久久久| 欧美人与禽zozo性伦| 风流少妇一区二区| 午夜视频在线观看一区| 久久影视一区二区| 欧美日韩免费电影| www.日韩大片| 国产一本一道久久香蕉| 丝瓜av网站精品一区二区| 国产精品久久久久久久久动漫| 欧美一区二区三区的| 色婷婷av一区二区三区软件 | 亚洲综合视频在线| 中文字幕巨乱亚洲| 日韩一区二区三区在线| 色婷婷综合久久久| 成人午夜精品在线| 狠狠色狠狠色综合系列| 免费看日韩精品| 亚洲图片欧美一区| 亚洲精品国产高清久久伦理二区| 国产喂奶挤奶一区二区三区| 26uuu久久综合| 91精品国产欧美日韩| 欧美性色黄大片| 一本久道久久综合中文字幕| 北条麻妃国产九九精品视频| 成人午夜视频在线观看| 国产乱妇无码大片在线观看| 久久99国产精品久久| 久久精品国产99久久6| 日韩av中文字幕一区二区| 亚洲福中文字幕伊人影院| 亚洲综合色在线| 亚洲精品菠萝久久久久久久| 亚洲男人电影天堂| 亚洲欧美日韩精品久久久久| 国产精品国模大尺度视频| 国产精品视频麻豆| 国产精品女主播av| 中文字幕一区二区在线观看| 国产精品二三区| 中文字幕五月欧美| 亚洲欧美日韩小说| 亚洲一区二区三区四区五区中文 | 亚洲婷婷在线视频| 国产精品久久夜| 国产精品久久福利| 亚洲欧美另类久久久精品 | 欧美区一区二区三区| 欧美丝袜丝交足nylons| 欧美日韩激情一区二区三区| 日韩午夜精品电影| 久久综合国产精品| 国产欧美日韩在线| 亚洲精品菠萝久久久久久久| 亚洲成人动漫在线免费观看| 老司机免费视频一区二区| 国产裸体歌舞团一区二区| 成人午夜视频网站| 在线观看日韩一区| 欧美电影免费观看高清完整版在线 | 69堂精品视频| 精品国产免费一区二区三区四区| 亚洲国产精品传媒在线观看| 一区二区三区在线影院| 日韩av中文字幕一区二区| 国产一区二区三区免费看| 成人综合在线网站| 欧美三级电影网站| 久久色成人在线| 中文字幕一区二区三区av| 亚洲综合激情另类小说区| 久久成人免费网站| 色综合天天做天天爱| 在线播放中文一区| 久久嫩草精品久久久精品| 亚洲欧美日韩国产另类专区| 日本不卡高清视频| 成人av资源下载| 欧美日韩日本视频| 国产欧美一区二区三区网站| 亚洲一区av在线| 国产999精品久久久久久绿帽| 欧美日韩久久一区| 国产精品人人做人人爽人人添| 日韩av一二三| 91女人视频在线观看| 久久夜色精品国产噜噜av| 亚洲一卡二卡三卡四卡| 国产不卡视频在线播放| 欧美日韩黄视频| 亚洲欧美激情在线| 国产精品自拍一区| 欧美一区二区三区思思人 | 亚洲高清在线视频| 国产成人在线看| 日韩精品一区二| 亚洲sss视频在线视频| 成人免费视频视频| 精品奇米国产一区二区三区| 午夜精品福利在线| 成人黄色综合网站| 久久尤物电影视频在线观看| 日韩av电影免费观看高清完整版在线观看| 成人综合婷婷国产精品久久| 精品人在线二区三区| 日韩二区三区在线观看| 欧美午夜免费电影| 亚洲日本乱码在线观看| 粉嫩高潮美女一区二区三区| 日韩精品一区二区三区在线 | 午夜精品久久久久久不卡8050| 成人动漫精品一区二区| 久久九九久久九九| 激情综合网天天干| 日韩午夜在线影院| 国产精品99久久久| 在线不卡免费欧美| 亚洲午夜精品网| 色综合久久久网| 亚洲精品视频自拍| gogogo免费视频观看亚洲一| 国产日产欧美一区二区三区| 极品少妇一区二区| 精品国产一区二区三区四区四 | 一区二区三区日韩| 成人av在线看| 中文字幕一区二区日韩精品绯色| 成人免费福利片| 欧美激情在线看| 成人性生交大片免费| 中文字幕在线不卡一区| 成人av动漫网站| 1区2区3区国产精品| 91捆绑美女网站| 亚洲人成在线播放网站岛国| 在线观看三级视频欧美| 午夜精品在线视频一区| 日韩午夜电影在线观看| 久久激五月天综合精品| 国产亚洲综合在线| 成人一级片网址| 亚洲人成影院在线观看| 欧美日韩视频不卡| 老鸭窝一区二区久久精品| 久久久久成人黄色影片| 99久久777色| 一区二区三区在线观看网站| 欧美日韩免费一区二区三区视频| 日本中文在线一区| 精品久久久久久久久久久久久久久久久| 韩日av一区二区| 中文字幕av资源一区| 91国偷自产一区二区开放时间 | 天堂一区二区在线免费观看| 日韩丝袜美女视频| 粉嫩av一区二区三区在线播放 | 日韩制服丝袜av| 精品对白一区国产伦| av电影天堂一区二区在线观看| www.66久久| 一区二区三区在线观看欧美|