1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00
cdt/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html
2006-05-30 15:32:53 +00:00

207 lines
6.6 KiB
HTML
Executable file

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css">
<title>DeveloperResourceAdapter Class After Editing</title>
</head>
<body bgcolor="#ffffff">
<h1>DeveloperResourceAdapter Class After Editing</h1>
<p>
<pre><samp>
package samples.model;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import <b>org.eclipse.ui.views.properties.*;</b>
import com.ibm.etools.systems.core.ui.SystemMenuManager;
import com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter;
import com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter;
<b>import samples.subsystems.*;
import java.util.*;</b>
/**
* <i>This is the adapter which enables us to work with our remote developer resources.</i>
*/
public class DeveloperResourceAdapter
extends AbstractSystemViewAdapter
implements ISystemRemoteElementAdapter
{
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#addActions(SystemMenuManager, IStructuredSelection, Shell, String)
*/
public void addActions(SystemMenuManager menu,IStructuredSelection selection,Shell parent,String menuGroup)
{
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
*/
public ImageDescriptor getImageDescriptor(Object object)
{
<b>return RSESamples.RSESamplesPlugin.getDefault().getImageDescriptor(&quot;ICON_ID_DEVELOPER&quot;);</b>
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#getText(Object)
*/
public String getText(Object element)
{
<b>return ((DeveloperResource)element).getName();</b>
}
/**
* @see com.ibm.etools.systems.subsystems.IRemoteObjectIdentifier#getAbsoluteName(Object)
*/
public String getAbsoluteName(Object object)
{
<b>DeveloperResource devr = (DeveloperResource)object;
return "Devr_" + devr.getId();</b>
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#getType(Object)
*/
public String getType(Object element)
{
<b>return &quot;Developer resource&quot;;</b>
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(Object)
*/
public Object getParent(Object o)
{
return null; // not really used, which is good because it is ambiguous
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemViewElementAdapter#hasChildren(Object)
*/
public boolean hasChildren(Object element)
{
return false;
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)
*/
public Object[] getChildren(Object o)
{
return null;
}
/**
* @see com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
*/
protected IPropertyDescriptor[] internalGetPropertyDescriptors()
{
// <i>the following array should be made static to it isn't created every time</i>
<b>PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];
ourPDs[0] = new PropertyDescriptor(&quot;devr_id&quot;, &quot;Id&quot;);
ourPDs[0].setDescription(&quot;ID number&quot;);
ourPDs[1] = new PropertyDescriptor(&quot;devr_dept&quot;, &quot;Department&quot;);
ourPDs[1].setDescription(&quot;Department number&quot;);
return ourPDs;</b>
}
/**
* @see com.ibm.etools.systems.core.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue()
*/
public Object internalGetPropertyValue(Object key)
{
// <i>propertySourceInput holds the currently selected object</i>
<b>DeveloperResource devr = (DeveloperResource)propertySourceInput;
if (key.equals(&quot;devr_id&quot;))
return devr.getId();
else if (key.equals(&quot;devr_dept&quot;))
return devr.getDeptNbr();
return null;</b>
}
// --------------------------------------
// <b>ISystemRemoteElementAdapter methods...</b>
// --------------------------------------
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(Object)
*/
public String getAbsoluteParentName(Object element)
{
<b>return &quot;root&quot;;</b> // not really applicable as we have no unique hierarchy
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getSubSystemFactoryId(Object)
*/
public String getSubSystemFactoryId(Object element)
{
<b>return &quot;samples.subsystems.factory&quot;;</b> // as declared in extension in plugin.xml
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(Object)
*/
public String getRemoteTypeCategory(Object element)
{
<b>return &quot;developers&quot;;</b> // Course grained. Same for all our remote resources.
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteType(Object)
*/
public String getRemoteType(Object element)
{
<b>return &quot;developer&quot;;</b> // Fine grained. Unique to this resource type.
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(Object)
*/
public String getRemoteSubType(Object element)
{
return null; // Very fine grained. We don't use it.
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(Object, Object)
*/
public boolean refreshRemoteObject(Object oldElement, Object newElement)
{
<b>DeveloperResource oldDevr= (DeveloperResource)oldElement;
DeveloperResource newDevr = (DeveloperResource)newElement;
newDevr.setName(oldDevr.getName());
return false;</b>
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteParent(Shell, Object)
*/
public Object getRemoteParent(Shell shell, Object element) throws Exception
{
return null; // maybe this would be a Department obj, if we fully fleshed out our model
}
/**
* @see com.ibm.etools.systems.core.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(Shell, Object)
*/
public String[] getRemoteParentNamesInUse(Shell shell, Object element)
throws Exception
{
// <b><i>developers names do not have to be unique! So we don't need to implement this!</i></b>
return null;
}
}
</samp></pre>
</p>
</body>
</html>