baseoutlinepage.java
来自「一个eclipse插件源代码。用于web开发」· Java 代码 · 共 107 行
JAVA
107 行
/*
* $Header: /home/cvs/WEBPUMP2.0/WebPumpIDE_Src/WebPumpIDE/src/com/webpump/ui/base/gui/BaseOutlinePage.java,v 1.1.1.1 2004/07/01 09:07:40 wang_j Exp $
* $Revision: 1.1.1.1 $
* $Date: 2004/07/01 09:07:40 $
*
* ====================================================================
*
* The NanJing HopeRun(IT-FOREST) Software License, Version 2.0.0
*
* Copyright 2003-2004 by NanJing HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and
* IT Forest Corporation
* All rights reserved.
*
* This software is the confidential and proprietary information of
* HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
* You shall not disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into with
* HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
*/
package com.webpump.ui.base.gui;
import org.eclipse.jface.viewers.*;
import org.eclipse.pde.core.IModelChangedEvent;
import org.eclipse.pde.internal.ui.PDEPlugin;
import org.eclipse.pde.internal.ui.editor.*;
import org.eclipse.swt.widgets.Composite;
import com.webpump.ui.base.data.*;
public class BaseOutlinePage extends FormOutlinePage {
private class ContentProvider extends BasicContentProvider {
public Object[] getChildren(Object parent) {
if (parent instanceof BasePage) {
return getModelInfo();
}
if (parent instanceof BaseDataObject) {
return ((BaseDataObject) parent).getChild();
}
return super.getChildren(parent);
}
public Object getParent(Object child) {
Object parent = getParentPage(child);
if (parent != null)
return parent;
return super.getParent(child);
}
}
public BaseOutlinePage(PDEFormPage formPage) {
super(formPage);
}
protected ITreeContentProvider createContentProvider() {
return new ContentProvider();
}
public void createControl(Composite parent) {
super.createControl(parent);
BaseModel model = (BaseModel) formPage.getModel();
model.addModelChangedListener(this);
}
protected ILabelProvider createLabelProvider() {
return PDEPlugin.getDefault().getLabelProvider();
}
public void dispose() {
super.dispose();
BaseModel model = (BaseModel) formPage.getModel();
model.removeModelChangedListener(this);
}
public IPDEEditorPage getParentPage(Object item) {
if (item instanceof BasePage)
return formPage.getEditor().getHomePage();
if (item instanceof BaseModel)
return formPage.getEditor().getHomePage();
if (item instanceof BaseObject)
return formPage.getEditor().getHomePage();
return super.getParentPage(item);
}
private Object[] getModelInfo() {
BaseModel model = (BaseModel) formPage.getModel();
return model.getBaseObjectArray();
}
private Object[] getArchives() {
return null;
}
public Object getParent(Object object) {
return getParentPage(object);
}
public void modelChanged(IModelChangedEvent event) {
if (event.getChangeType() == IModelChangedEvent.CHANGE) {
if (event.getChangedProperty() == "position") {
return;
}
}
if (event.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
treeViewer.refresh();
return;
}
treeViewer.refresh();
treeViewer.expandAll();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?