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

📄 editorutils.java

📁 基于eclipse的工具开发代码
💻 JAVA
字号:
package com.cownew.studio.modelDev.editors;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.texteditor.DocumentProviderRegistry;
import org.eclipse.ui.texteditor.IDocumentProvider;

import com.cownew.studio.Activator;
import com.cownew.studio.modelDev.common.EntityFieldModelBean;
import com.cownew.studio.modelDev.common.StudioConst;
import com.cownew.studio.modelDev.common.enumdef.DataTypeEnum;

public class EditorUtils
{

	public static void setEditorInputText(IEditorInput editorInput, String value)
	{
		IDocumentProvider docProvider = getDocumentProvider(editorInput);
		IDocument document = docProvider.getDocument(editorInput);
		document.set(value);
	}

	public static String getEditorInputText(IEditorInput editorInput)
	{
		IDocumentProvider docProvider = getDocumentProvider(editorInput);
		IDocument document = docProvider.getDocument(editorInput);
		return document.get();
	}

	public static IDocumentProvider getDocumentProvider(IEditorInput editorInput)
	{
		DocumentProviderRegistry registry = DocumentProviderRegistry
				.getDefault();
		return registry.getDocumentProvider(editorInput);
	}

	public static IDocument getDocument(IEditorInput editorInput)
	{
		return getDocumentProvider(editorInput).getDocument(editorInput);
	}

	public static void refreshListViewer(ListViewer viewer)
	{
		viewer.getList().setRedraw(false);
		viewer.refresh();
		viewer.getList().setRedraw(true);
	}

	public static String[] getAvailPrimaryKeys(
			List<EntityFieldModelBean> fieldList)
	{
		List<String> list = new ArrayList<String>();
		for (int i = 0, n = fieldList.size(); i < n; i++)
		{
			EntityFieldModelBean field = fieldList.get(i);
			if (field.getDataType() == DataTypeEnum.STRING
					&& field.isLinkProperty() == false)
			{
				list.add(field.getName());
			}
		}
		return list.toArray(new String[0]);
	}

	public static void openPropertiesSheetView()
	{
		try
		{
			IWorkbenchPage page = Activator.getActivePage();
			IViewPart part = page.findView(StudioConst.PROPVIEW);
			if (part == null)
			{
				part = page.showView(StudioConst.PROPVIEW);
			}
		} catch (PartInitException pe)
		{
			Activator.logException(pe);
		}
	}

	public static void selectCombo(Combo combo, String valueToSelect)
	{
		String[] items = combo.getItems();
		// 因为Combo控件没有提供选中等于某值的项的功能,
		// 因此这里做了一个简单的封装以提供此功能
		for (int i = 0, n = items.length; i < n; i++)
		{
			if (items[i].equals(valueToSelect))
			{
				combo.select(i);
				return;
			}
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -