1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00
cdt/rse/doc/org.eclipse.rse.doc.isv/guide/tutorial/DeveloperResourceAdapter.html
David Dykstal fc3a24983c bug 149331 - Update tutorial to use current tutorial example code.
Get rid of etools references.
The tutorial still requires some work since it is hard to update from the code. All highlighting and anchor creation is done by hand, as are the differences from step to step.
2006-08-04 20:37:05 +00:00

219 lines
7.5 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>
<h1>DeveloperResourceAdapter Class After Editing</h1>
<pre><samp>
package samples.model;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.rse.ui.SystemMenuManager;
import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
import org.eclipse.swt.widgets.Shell;
<strong>import org.eclipse.ui.views.properties.IPropertyDescriptor;</strong>
<strong>import org.eclipse.ui.views.properties.PropertyDescriptor;</strong>
<strong>import samples.RSESamplesPlugin;</strong>
/**
* This is the adapter which enables us to work with our remote developer resources.
*/
public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
implements ISystemRemoteElementAdapter
{
/**
* Constructor
*/
public DeveloperResourceAdapter() {
super();
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#addActions(org.eclipse.rse.ui.SystemMenuManager,
* org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.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)
{
<strong>return RSESamplesPlugin.getDefault().getImageDescriptor("ICON_ID_DEVELOPER");</strong>
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getText(java.lang.Object)
*/
public String getText(Object element)
{
<strong>return ((DeveloperResource)element).getName();</strong>
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getAbsoluteName(java.lang.Object)
*/
public String getAbsoluteName(Object object)
{
<strong>DeveloperResource devr = (DeveloperResource)object;</strong>
r<strong>eturn "Devr_" + devr.getId();</strong>
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getType(java.lang.Object)
*/
public String getType(Object element)
{
<strong>return RSESamplesPlugin.getResourceString("property.devr_resource.type");</strong>
}
/**
* @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
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object)
*/
public boolean hasChildren(Object element)
{
return false;
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)
*/
public Object[] getChildren(Object o)
{
return null;
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
*/
protected IPropertyDescriptor[] internalGetPropertyDescriptors()
{
// the following array should be made static to it isn't created every time
<strong>PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];</strong>
<strong>ourPDs[0] = new PropertyDescriptor("devr_id", RSESamplesPlugin.getResourceString("property.devr_id.name"));</strong>
<strong>ourPDs[0].setDescription(RSESamplesPlugin.getResourceString("property.devr_id.desc"));</strong>
<strong>ourPDs[1] = new PropertyDescriptor("devr_dept", RSESamplesPlugin.getResourceString("property.devr_dept.name"));</strong>
<strong>ourPDs[1].setDescription(RSESamplesPlugin.getResourceString("property.devr_dept.desc"));</strong>
<strong>return ourPDs;</strong>
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object)
*/
protected Object internalGetPropertyValue(Object key)
{
// propertySourceInput holds the currently selected object
<strong>DeveloperResource devr = (DeveloperResource)propertySourceInput;
if (key.equals("devr_id"))
return devr.getId();
else if (key.equals("devr_dept"))
return devr.getDeptNbr();
return null;</strong>
}
// --------------------------------------
// ISystemRemoteElementAdapter methods...
// --------------------------------------
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(java.lang.Object)
*/
public String getAbsoluteParentName(Object element)
{
<strong>return "root";</strong> // not really applicable as we have no unique hierarchy
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getSubSystemConfigurationId(java.lang.Object)
*/
public String getSubSystemConfigurationId(Object element)
{
<strong>return "samples.subsystems.factory";</strong> // as declared in extension in plugin.xml
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(java.lang.Object)
*/
public String getRemoteTypeCategory(Object element)
{
<strong>return "developers";</strong> // Course grained. Same for all our remote resources.
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteType(java.lang.Object)
*/
public String getRemoteType(Object element)
{
<strong>return "developer";</strong> // Fine grained. Unique to this resource type.
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(java.lang.Object)
*/
public String getRemoteSubType(Object element)
{
return null; // Very fine grained. We don't use it.
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(java.lang.Object, java.lang.Object)
*/
public boolean refreshRemoteObject(Object oldElement, Object newElement)
{
<strong>DeveloperResource oldDevr= (DeveloperResource)oldElement;
DeveloperResource newDevr = (DeveloperResource)newElement;
newDevr.setName(oldDevr.getName());
return false;</strong>
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParent(org.eclipse.swt.widgets.Shell, java.lang.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
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
public String[] getRemoteParentNamesInUse(Shell shell, Object element)
throws Exception
{
// developers names do not have to be unique! So we don't need to implement this!
return null;
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#supportsUserDefinedActions(java.lang.Object)
*/
public boolean supportsUserDefinedActions(Object object) {
<strong>return false;</strong>
}
}
</samp></pre>
</body>
</html>