📄 nodepropertysource.java
字号:
/*******************************************************************************
* $Header: /cvsroot/EOS6/work_dir/niegy/com.primeton.studio.gef.ui/src/com/primeton/studio/gef/ui/properties/NodePropertySource.java,v 1.2 2006/12/16 09:04:42 niegy Exp $
* $Revision: 1.2 $
* $Date: 2006/12/16 09:04:42 $
*
*==============================================================================
*
* Copyright (c) 2001-2006 Primeton Technologies, Ltd.
* All rights reserved.
*
* Created on 2006-10-30
*******************************************************************************/
package com.primeton.studio.gef.ui.properties;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.CommandStack;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertySheet;
import com.primeton.studio.gef.ui.commands.SetPropertyValueCommand;
/**
* TODO此处填写 class 信息
*
* @author niegy (mailto:niegy@primeton.com)
*/
/*
* 修改历史
* $Log: NodePropertySource.java,v $
* Revision 1.2 2006/12/16 09:04:42 niegy
* 重构代码
*
* Revision 1.1 2006/11/22 07:07:38 niegy
* 增加table
*
* Revision 1.1 2006/11/17 03:15:13 niegy
* create
*
*/
public class NodePropertySource implements IPropertyObject,IPropertySource {
private Element element;
private Object model;
private Object root;
private String pluginId;
protected IPropertyDescriptor[] descriptors;
public NodePropertySource(Object model,String pluginId) {
this.model = model;
element = new Element((com.primeton.studio.gef.core.Element)model,pluginId);
this.pluginId = pluginId;
}
public Object getRoot()
{
return root;
}
public void setRoot(Object root)
{
this.root = root;
}
public Object getModel() {
return model;
}
public Object getEditableValue() {
return this;
}
public IPropertyDescriptor[] getPropertyDescriptors() {
// TODO Auto-generated method stub
return element.getPropertyDescriptors();
}
public boolean isPropertySet(Object id) {
return false;
}
public boolean isPropertyResettable(Object id) {
return false;
}
public void resetPropertyValue(Object id) {}
/* (non-Javadoc)
* @see com.primeton.bibo.eos.ui.properties.IPropertyObject#getEditorPart()
*/
public IEditorPart getEditorPart() {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see com.primeton.bibo.eos.ui.properties.IPropertyObject#getElement()
*/
public Object getElement() {
// TODO Auto-generated method stub
return null;
}
public Object getPropertyValue(Object id) {
// TODO Auto-generated method stub
return element.getPropertyValue(id);
}
/* (non-Javadoc)
* @see com.primeton.bibo.eos.ui.properties.IPropertyObject#setEditorPart(org.eclipse.ui.IEditorPart)
*/
public void setEditorPart(IEditorPart part) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.primeton.bibo.eos.ui.properties.IPropertyObject#setPropertyValue(java.lang.Object, java.lang.Object)
*/
public void setPropertyValue(Object id, Object value) {
// TODO Auto-generated method stub
Object oldValue = getPropertyValue(id);
if(!(oldValue instanceof NodePropertySource) && (oldValue != null || value != null) && (oldValue == null || !oldValue.equals(value)))
{
PropertySheetPageEx propertySheetPage = getPropertySheetPage();
if(propertySheetPage != null)
{
CommandStack commandStack = propertySheetPage.getCommandStack();
SetPropertyValueCommand command = new SetPropertyValueCommand(this, id, value);
setCommandAdapter(command, id);
commandStack.execute(command);
}
}
}
public PropertySheetPageEx getPropertySheetPage()
{
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
org.eclipse.ui.IViewPart view = page.findView("org.eclipse.ui.views.PropertySheet");
if(view == null)
try
{
view = page.showView("org.eclipse.ui.views.PropertySheet");
}
catch(PartInitException e)
{
e.printStackTrace();
}
org.eclipse.ui.part.IPage propertySheetPage = ((PropertySheet)view).getCurrentPage();
if(propertySheetPage instanceof PropertySheetPageEx)
return (PropertySheetPageEx)propertySheetPage;
else
return null;
}
public void setPropertyValueImpl(Object obj, Object obj1) {
// TODO Auto-generated method stub
element.setPropertyValue(obj,obj1);
}
public void setCommandAdapter(Command basecommand, Object obj) {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -