📄 editorutils.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 + -