类org.eclipse.ui.model.IWorkbenchAdapter源码实例Demo

下面列出了怎么用org.eclipse.ui.model.IWorkbenchAdapter的API类实例代码及写法,或者点击链接到github查看源代码。


@Override
  public Object getAdapter(Object element, @SuppressWarnings("rawtypes") Class key) {
IXdsElement e = (IXdsElement)element;
  	if (IResource.class.isAssignableFrom(key)) {
  		return XdsElementUtils.adaptToResource(e, key);
  	}
  	
      if (IPropertySource.class.equals(key)) {
          return getProperties(XdsElementUtils.adaptToResource(e, IResource.class));
      }
      else if (IWorkbenchAdapter.class.equals(key)) {
          if (xdsWorkbenchAdapter == null) {
              xdsWorkbenchAdapter = new XdsWorkbenchAdapter();
          }
          return xdsWorkbenchAdapter;
      }
      else if (IContributorResourceAdapter.class.equals(key)) {
          return this;
      }
      
      return null;
  }
 
源代码2 项目: tlaplus   文件: AdapterFactory.java

@SuppressWarnings("unchecked")
public <T> T getAdapter(Object adaptableObject, Class<T> adapterType)
   {
       if (adapterType == IWorkbenchAdapter.class)
       {
           if (adaptableObject instanceof Spec)
           {
               return (T) new SpecWorkbenchAdapter();
           }
       }
	if (IResource.class.equals(adapterType) && adaptableObject instanceof Module) {
		return (T) ((Module) adaptableObject).getResource();
	}
	if (IResource.class.equals(adapterType) && adaptableObject instanceof Spec) {
		return (T) ((Spec) adaptableObject).getRootFile();
	}
       return null;
   }
 

@SuppressWarnings("unchecked")
@Override
public <T> @Nullable T getAdapter(Class<T> adapter) {
    if (adapter.getClass().isInstance(this)) {
        return (T)this;
    }
    if (IWorkbenchAdapter.class.isAssignableFrom(adapter)) {
        return ((@Nullable T) new WorkbenchAdapter() {
            @Override
            public String getLabel(Object object) {
                return ((TmfProjectModelElement)object).getName();
            }
        });
    }
    return null;
}
 
源代码4 项目: depan   文件: NodeStatsTableControl.java

@Override
public String getColumnText(Object element, int columnIndex) {
  GraphNode node = getGraphNode(element);
  if (null != node) {
    switch (columnIndex) {
    case INDEX_NAME:
      return node.toString();
    case INDEX_RANK:
      return getRank(node);
    case INDEX_PREDS:
      return getPredecessorCount(node);
    case INDEX_SUCCS:
      return getSuccessorCount(node);
    }
  }
  IWorkbenchAdapter item = getWorkbenchAdapter(element);
  if (null != item) {
    switch (columnIndex) {
    case INDEX_NAME:
      return item.getLabel(element);
    }
  }
  return null;
}
 
源代码5 项目: depan   文件: NodeStatsTableControl.java

@Override
public Image getColumnImage(Object element, int columnIndex) {
  GraphNode node = getGraphNode(element);
  if (null != node) {
    switch (columnIndex) {
    case INDEX_ROOT:
      return PlatformResources.getOnOff(isRoot(node));
    }
  }

  IWorkbenchAdapter item = getWorkbenchAdapter(element);
  if (null != item) {
    switch (columnIndex) {
    case INDEX_NAME:
      return null; // TODO: versus - item.getImageDescriptor(element)...
    }
  }
  // Fall through and unknown type
  return null;
}
 
源代码6 项目: depan   文件: NodeDisplayTableControl.java

@Override
public String getColumnText(Object element, int columnIndex) {
  GraphNode node = getGraphNode(element);
  if (null != node) {
    switch (columnIndex) {
    case INDEX_NAME:
      return node.toString();
    case INDEX_XPOS:
      return getXPos(node);
    case INDEX_YPOS:
      return getYPos(node);
    case INDEX_COLOR:
      return getColorName(node);
    case INDEX_SIZE:
      return getSizeName(node);
    }
  }
  IWorkbenchAdapter item = getWorkbenchAdapter(element);
  if (null != item) {
    switch (columnIndex) {
    case INDEX_NAME:
      return item.getLabel(element);
    }
  }
  return null;
}
 
源代码7 项目: depan   文件: NodeDisplayTableControl.java

@Override
public Image getColumnImage(Object element, int columnIndex) {
  GraphNode node = getGraphNode(element);
  if (null != node) {
    switch (columnIndex) {
    case INDEX_SELECTED:
      return PlatformResources.getOnOff(isNodeSelected(node));
    case INDEX_VISIBLE:
      return PlatformResources.getOnOff(isVisible(node));
    }
  }

  IWorkbenchAdapter item = getWorkbenchAdapter(element);
  if (null != item) {
    switch (columnIndex) {
    case INDEX_NAME:
      return null; // TODO: versus - item.getImageDescriptor(element)...
    }
  }
  // Fall through and unknown type
  return null;
}
 

/**
 * Method declared on IAdapterFactory.
    * Get the given adapter for the given object
 */
public Object getAdapter(Object adaptableObject, Class adapterType) {
	if (IWorkbenchAdapter.class == adapterType) {
		return getWorkbenchAdapter(adaptableObject);
	}

	if(IDeferredWorkbenchAdapter.class == adapterType) {
		 Object o = getWorkbenchAdapter(adaptableObject);
		 if(o != null && o instanceof IDeferredWorkbenchAdapter) {
		 	return o;
		 }
		 return null;
	}

	if (IPropertySource.class == adapterType) {
		return getPropertySource(adaptableObject);
	}
       
       if(IHistoryPageSource.class == adapterType) {
         return pageHistoryParticipant;
       }
       
	return null;
}
 

public Object[] getChildren(Object parentElement) {
	if (parentElement instanceof ISVNLocalResource) {
		Object[] rootChildren = new Object[3];
		rootChildren[0] = ((ISVNLocalResource)parentElement).getRepository();
		rootChildren[1] = branches;
		rootChildren[2] = tags;
		return rootChildren;
	}
	if (parentElement instanceof Branches) return ((Branches)parentElement).getBranches();
	if (parentElement instanceof Tags) return ((Tags)parentElement).getTags();
	IWorkbenchAdapter adapter = getAdapter(parentElement);
	if (adapter instanceof SVNModelElement) {
		Object[] children = ((SVNModelElement)adapter).getChildren(parentElement);
		ArrayList folderArray = new ArrayList();
		for (int i = 0; i < children.length; i++) {
			if (children[i] instanceof ISVNRemoteFolder) folderArray.add(children[i]);
		}
		children = new Object[folderArray.size()];
		folderArray.toArray(children);
		return children;
	}
	return super.getChildren(parentElement);
}
 

/**
 * Returns the styled label of the given object. The object must be of type {@link IJavaElement} or adapt to {@link IWorkbenchAdapter}.
 * If the element type is not known, the empty string is returned.
 * The returned label is BiDi-processed with {@link TextProcessor#process(String, String)}.
 *
 * @param obj object to get the label for
 * @param flags the rendering flags
 * @return the label or the empty string if the object type is not supported
 *
 * @since 3.4
 */
public static StyledString getStyledTextLabel(Object obj, long flags) {
	if (obj instanceof IJavaElement) {
		return getStyledElementLabel((IJavaElement) obj, flags);

	} else if (obj instanceof IResource) {
		return getStyledResourceLabel((IResource) obj);

	} else if (obj instanceof ClassPathContainer) {
		ClassPathContainer container= (ClassPathContainer) obj;
		return getStyledContainerEntryLabel(container.getClasspathEntry().getPath(), container.getJavaProject());

	} else if (obj instanceof IStorage) {
		return getStyledStorageLabel((IStorage) obj);

	} else if (obj instanceof IAdaptable) {
		IWorkbenchAdapter wbadapter= (IWorkbenchAdapter) ((IAdaptable)obj).getAdapter(IWorkbenchAdapter.class);
		if (wbadapter != null) {
			return Strings.markLTR(new StyledString(wbadapter.getLabel(obj)));
		}
	}
	return new StyledString();
}
 

private String getNonJavaElementLabel(Viewer viewer, Object element) {
	// try to use the workbench adapter for non - java resources or if not available, use the viewers label provider
	if (element instanceof IResource) {
		return ((IResource) element).getName();
	}
	if (element instanceof IStorage) {
		return ((IStorage) element).getName();
	}
	if (element instanceof IAdaptable) {
		IWorkbenchAdapter adapter= (IWorkbenchAdapter) ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
		if (adapter != null) {
			return adapter.getLabel(element);
		}
	}
	if (viewer instanceof ContentViewer) {
		IBaseLabelProvider prov = ((ContentViewer) viewer).getLabelProvider();
		if (prov instanceof ILabelProvider) {
			return ((ILabelProvider) prov).getText(element);
		}
	}
	return null;
}
 

private void open(KeyReference keyReference) {
	if (keyReference == null)
		return;

	try {
		IEditorPart part= keyReference.element != null ? EditorUtility.openInEditor(keyReference.element, true) : EditorUtility.openInEditor(keyReference.resource, true);
		if (part != null)
			EditorUtility.revealInEditor(part, keyReference.offset, keyReference.length);
	} catch (PartInitException x) {

		String message= null;

		IWorkbenchAdapter wbAdapter= (IWorkbenchAdapter)((IAdaptable)keyReference).getAdapter(IWorkbenchAdapter.class);
		if (wbAdapter != null)
			message= Messages.format(PropertiesFileEditorMessages.OpenAction_error_messageArgs,
					new String[] { wbAdapter.getLabel(keyReference), x.getLocalizedMessage() } );

		if (message == null)
			message= Messages.format(PropertiesFileEditorMessages.OpenAction_error_message, x.getLocalizedMessage());

		MessageDialog.openError(fShell,
			PropertiesFileEditorMessages.OpenAction_error_messageProblems,
			message);
	}
}
 

private SearchPatternData tryStructuredSelection(IStructuredSelection selection) {
	if (selection == null || selection.size() > 1)
		return null;

	Object o= selection.getFirstElement();
	SearchPatternData res= null;
	if (o instanceof IJavaElement) {
		res= determineInitValuesFrom((IJavaElement) o);
	} else if (o instanceof LogicalPackage) {
		LogicalPackage lp= (LogicalPackage)o;
		return new SearchPatternData(PACKAGE, REFERENCES, 0, fIsCaseSensitive, lp.getElementName(), null, getLastIncludeMask());
	} else if (o instanceof IAdaptable) {
		IJavaElement element= (IJavaElement) ((IAdaptable) o).getAdapter(IJavaElement.class);
		if (element != null) {
			res= determineInitValuesFrom(element);
		}
	}
	if (res == null && o instanceof IAdaptable) {
		IWorkbenchAdapter adapter= (IWorkbenchAdapter)((IAdaptable)o).getAdapter(IWorkbenchAdapter.class);
		if (adapter != null) {
			return new SearchPatternData(TYPE, REFERENCES, 0, fIsCaseSensitive, adapter.getLabel(o), null, getLastIncludeMask());
		}
	}
	return res;
}
 

/**
 * The superclass does not deal with the content description, handle it
 * here.
 * 
 * @noreference
 */
public void updateTitle() {
	super.updateTitle();
	Object input = getCommonViewer().getInput();

	if (input == null || input instanceof IAggregateWorkingSet) {
		setContentDescription(""); //$NON-NLS-1$
		return;
	}

	if (!(input instanceof IResource)) {
		if (input instanceof IAdaptable) {
			IWorkbenchAdapter wbadapter = (IWorkbenchAdapter) ((IAdaptable) input)
					.getAdapter(IWorkbenchAdapter.class);
			if (wbadapter != null) {
				setContentDescription(wbadapter.getLabel(input));
				return;
			}
		}
		setContentDescription(input.toString());
		return;
	}

	IResource res = (IResource) input;
	setContentDescription(res.getName());
}
 
源代码15 项目: thym   文件: CordovaPluginAdapterFactory.java

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
	if(!(adaptableObject instanceof HybridPluginFolder)) 
		return null;
	HybridPluginFolder pluginFolder = (HybridPluginFolder)adaptableObject;
	if(IPropertySource.class.equals(adapterType)){
		return new CordovaPluginProperties(pluginFolder);
	}
	if(IWorkbenchAdapter.class.equals(adapterType)){
		return new CordovaPluginWorkbenchAdapter();
	}
	if(IResource.class.equals(adapterType)){
		return pluginFolder.getFolder();
	}
	return null;
}
 

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
	if(!(adaptableObject instanceof HybridPlatformFolder)) 
		return null;
	HybridPlatformFolder platform = (HybridPlatformFolder)adaptableObject;
	if(IPropertySource.class.equals(adapterType)){
		return new CordovaPlatformProperties(platform);
	}
	if(IWorkbenchAdapter.class.equals(adapterType)){
		return new CordovaPlatformWorkbenchAdapter();
	}
	if(IResource.class.equals(adapterType)){
		return platform.getFolder();
	}
	return null;
}
 
源代码17 项目: tmxeditor8   文件: ProjectExplorer.java

/**
 * The superclass does not deal with the content description, handle it
 * here.
 * 
 * @noreference
 */
public void updateTitle() {
	super.updateTitle();
	Object input = getCommonViewer().getInput();

	if (input == null || input instanceof IAggregateWorkingSet) {
		setContentDescription(""); //$NON-NLS-1$
		return;
	}

	if (!(input instanceof IResource)) {
		if (input instanceof IAdaptable) {
			IWorkbenchAdapter wbadapter = (IWorkbenchAdapter) ((IAdaptable) input)
					.getAdapter(IWorkbenchAdapter.class);
			if (wbadapter != null) {
				setContentDescription(wbadapter.getLabel(input));
				return;
			}
		}
		setContentDescription(input.toString());
		return;
	}

	IResource res = (IResource) input;
	setContentDescription(res.getName());
}
 

@Override
public Image getImage(Object element) {
    //obtain the base image by querying the element
    IWorkbenchAdapter adapter = getAdapter(element);
    if (adapter == null) {
        return null;
    }
    ImageDescriptor descriptor = adapter.getImageDescriptor(element);
    if (descriptor == null) {
        return null;
    }

    //add any annotations to the image descriptor
    descriptor = decorateImage(descriptor, element);

    try {
        return resourceManager.createImage(descriptor);
    } catch (Exception e) {
        Log.log(e);
        return null;
    }
}
 
源代码19 项目: depan   文件: NodeStatsTableControl.java

private IWorkbenchAdapter getWorkbenchAdapter(Object element) {
  if (element instanceof IAdaptable ) {
    Object result = ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
    return (IWorkbenchAdapter) result;
  }
  return null;
}
 
源代码20 项目: depan   文件: CollapserAdapterFactory.java

@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter(Object adaptableObject, Class adapterType) {
  if (adapterType != IWorkbenchAdapter.class) {
    return null;
  }

  for (TypeAdapter asso : knownAdapters) {
    IWorkbenchAdapter result = asso.getAdapter(adaptableObject);
    if (null != result) {
      return result;
    }
  }
  return null;
}
 
源代码21 项目: depan   文件: NavigatorRoot.java

@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter(Class adapter) {
  if (adapter == IPersistableElement.class) {
    return this;
  }
  if (adapter == IWorkbenchAdapter.class) {
    return ResourcesPlugin.getWorkspace().getRoot().getAdapter(adapter);
  }
  return null;
}
 
源代码22 项目: depan   文件: NodeViewAdapterFactory.java

@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter(Object adaptableObject, Class adapterType) {
  if (adapterType != IWorkbenchAdapter.class) {
    return null;
  }

  for (TypeAdapter asso : knownAdapters) {
    IWorkbenchAdapter result = asso.getAdapter(adaptableObject);
    if (null != result) {
      return result;
    }
  }
  return null;
}
 
源代码23 项目: depan   文件: ResourcesAdapterFactory.java

@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter(Object adaptableObject, Class adapterType) {
  if (adapterType != IWorkbenchAdapter.class) {
    return null;
  }

  for (TypeAdapter asso : knownAdapters) {
    IWorkbenchAdapter result = asso.getAdapter(adaptableObject);
    if (null != result) {
      return result;
    }
  }
  return null;
}
 
源代码24 项目: depan   文件: Binop.java

@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter(Object adaptableObject, Class adapterType) {
  if (adapterType != IWorkbenchAdapter.class) {
    return null;
  }
  if (adaptableObject instanceof Tree) {
    return treeAdapter;
  }
  return null;
}
 
源代码25 项目: depan   文件: TypeAdapter.java

public IWorkbenchAdapter getAdapter(Object adaptableObject) {
  if (fromType.isAssignableFrom(adaptableObject.getClass())) {
  // if (adaptableObject.getClass().isAssignableFrom(fromType)) {
    return adapter;
  }
  return null;
}
 
源代码26 项目: depan   文件: NodeDisplayTableControl.java

private IWorkbenchAdapter getWorkbenchAdapter(Object element) {
  if (element instanceof IAdaptable ) {
    Object result = ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
    return (IWorkbenchAdapter) result;
  }
  return null;
}
 
源代码27 项目: APICloud-Studio   文件: SVNModelElement.java

public Object getAdapter(Class adapter) {
	if (adapter == IWorkbenchAdapter.class)
		return this;
	if ((adapter == IDeferredWorkbenchAdapter.class) && this instanceof IDeferredWorkbenchAdapter)
		return this;
	return null;
}
 
源代码28 项目: APICloud-Studio   文件: WorkbenchAdapter.java

/**
 * A convenience method for getting the label of an adaptable
 * object that responds to the IWorkbenchAdapter adapter interface.
 * Returns a toString() of the object if it is not adaptable
 */
public static String getElementLabel(IAdaptable a) {
	if (a == null) {
		return "";//$NON-NLS-1$
	}
	IWorkbenchAdapter adapter = (IWorkbenchAdapter)a.getAdapter(IWorkbenchAdapter.class);
	if (adapter != null) {
		return adapter.getLabel(a);
	} else {
		return a.toString();
	}
}
 

public Object getAdapter(Class adapter) {
	if (ILocationProvider.class.equals(adapter))
		return this;
	if (IWorkbenchAdapter.class.equals(adapter))
		return fWorkbenchAdapter;
	return Platform.getAdapterManager().getAdapter(this, adapter);
}
 

@Override
public Object getAdapter(Class adapter) {
	if (adapter == IJavaElement.class) {
        return getMember();
    } else if (adapter == IWorkbenchAdapter.class){
    	return new MethodWrapperWorkbenchAdapter(this);
    } else {
    	return null;
    }
}
 
 类所在包
 同包方法