當前位置: 首頁>>代碼示例>>Java>>正文


Java IItemPropertySource.getPropertyDescriptors方法代碼示例

本文整理匯總了Java中org.eclipse.emf.edit.provider.IItemPropertySource.getPropertyDescriptors方法的典型用法代碼示例。如果您正苦於以下問題:Java IItemPropertySource.getPropertyDescriptors方法的具體用法?Java IItemPropertySource.getPropertyDescriptors怎麽用?Java IItemPropertySource.getPropertyDescriptors使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.eclipse.emf.edit.provider.IItemPropertySource的用法示例。


在下文中一共展示了IItemPropertySource.getPropertyDescriptors方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: storeProperties

import org.eclipse.emf.edit.provider.IItemPropertySource; //導入方法依賴的package包/類
/** utility class to add all properties to supplied list
 * 
 * @param result
 * @param object
 * @param source
 * @param name
 */
private static void storeProperties(
    final Collection<IPropertyDescriptor> result, final Object object,
    final IItemPropertySource source, final String name)
{
  for (IItemPropertyDescriptor itemPropertyDescriptor : source
      .getPropertyDescriptors(object))
  {
    result.add(new PropertyDescriptor(object, itemPropertyDescriptor)
    {
      public String getCategory()
      {
        return name;
      };

    });
  }
}
 
開發者ID:debrief,項目名稱:limpet,代碼行數:25,代碼來源:CombinedProperty.java

示例2: createReferenceBinding

import org.eclipse.emf.edit.provider.IItemPropertySource; //導入方法依賴的package包/類
private void createReferenceBinding(Composite parent, EObject target, IItemPropertyDescriptor pd, EReference reference) {
  // Check to see if the EClassifier would like to be displayed
  // in detail. May want to reserve this for EReference types in
  // the future, and should probably check if the object has its
  // own IItemPropertySource
  if (EMFUtils.testBooleanAnnotation(reference, EMFDetailUtils.ANNOTATION_SOURCE_DETAIL, ANNOTATION_DETAIL_INSPECT_REFERENCE)) {
  	if (EMFUtils.testBooleanAnnotation(reference, EMFDetailUtils.ANNOTATION_SOURCE_DETAIL, ANNOTATION_DETAIL_INSPECT_REFLECTIVELY)) {
 			ReflectiveItemProviderAdapterFactory ripaf = new ReflectiveItemProviderAdapterFactory();
 			EObject eObject = (EObject)target.eGet(reference);
 			IItemPropertySource source = (IItemPropertySource) ripaf.adapt(eObject, IItemPropertySource.class);
 			if (source != null) {
 				List<IItemPropertyDescriptor> pds = source.getPropertyDescriptors(eObject);
 				String displayName = pd.getDisplayName(eObject);
		buildPropertySection(parent, eObject, pds, displayName, null);
 			}
  		return;
  	}
inspectReferenceFeature(parent, target, reference);
  } else if (EMFUtils.testBooleanAnnotation(reference, EMFDetailUtils.ANNOTATION_SOURCE_DETAIL, ANNOTATION_DETAIL_TABLE)) {
  	DetailProviderParameter parameter = createDetailProviderParameter(parent, target, pd);
  	EMFDetailUtils.TABLE_BINDING_FACTORY.createBinding(parameter);
  } else {
  	createEditor(parent, target, pd);
  }
 }
 
開發者ID:nasa,項目名稱:OpenSPIFe,代碼行數:26,代碼來源:EMFDetailFormPart.java

示例3: createEMFTreeTableViewer

import org.eclipse.emf.edit.provider.IItemPropertySource; //導入方法依賴的package包/類
public static TreeTableViewer<EObject, EAttribute> createEMFTreeTableViewer(Composite parent, EStructuralFeature structuralFeature, EClass eClass, EditingDomain editingDomain, boolean forceTreeParent, boolean useDefaultSortColumn, boolean isScrollable, boolean editable) {
	EPackage ePackage = eClass.getEPackage();
	EObject eObject = ePackage.getEFactoryInstance().create(eClass);
	AdapterFactory domainAdapterFactory = EMFUtils.getAdapterFactory(editingDomain);
	IItemPropertySource source = (IItemPropertySource) domainAdapterFactory.adapt(eObject, IItemPropertySource.class);

	List<ITreeTableColumn> columns = new ArrayList<ITreeTableColumn>();
	for (final IItemPropertyDescriptor descriptor : source.getPropertyDescriptors(eObject)) {
		if (!isVisible(descriptor.getFeature(eObject))) {
			continue;
		}
		DetailProviderParameter parameter = new DetailProviderParameter();
		parameter.setPropertyDescriptor(descriptor);
		parameter.setTarget(eObject);
		ITreeTableColumn column = null;
		IEMFTreeTableProvider provider = EMFUtils.adapt(eObject, IEMFTreeTableProvider.class);
		if (provider != null) {
			column = provider.getTreeTableColumn(parameter);
		}
		if (column == null) {
			String displayName = EMFDetailUtils.getDisplayName(eObject, descriptor);
			int columnWidth = getColumnWidth(eObject, descriptor);
			column = new ValidatedReferenceTreeTableColumn(parameter, displayName, columnWidth, editable);
		}
		columns.add(column);
	}
	
	TreeTableColumnConfiguration configuration = new TreeTableColumnConfiguration(columns.get(0), columns, (useDefaultSortColumn) ? columns.get(0) : null);
	TreeTableComposite composite = new TreeTableComposite(parent, configuration, useDefaultSortColumn, isScrollable);
	// this odd "if" preserves existing semantics that conflated sorting with layouts
	if (useDefaultSortColumn) {
		composite.setLayout(new FillLayout());
	} else {
		composite.setLayout(new TreeTableColumnLayout(true));
	}
	TreeTableViewer<EObject, EAttribute> viewer = new ReflowingTreeTableViewer<EObject, EAttribute>(composite, configuration, null);
	
	if(forceTreeParent) {
		viewer.getTree().setParent(parent);
	}
	
	AdapterFactory adapterFactory = EMFUtils.getAdapterFactory(editingDomain);
	viewer.setEditorModel(new IEnsembleEditorModel.STUB(new ObjectUndoContext(editingDomain)));
	viewer.setContentProvider(new EMFTreeTableContentProvider(adapterFactory, structuralFeature, eClass));
	viewer.setLabelProvider(new EMFTreeTableLabelProvider(adapterFactory));
	return viewer;		
}
 
開發者ID:nasa,項目名稱:OpenSPIFe,代碼行數:48,代碼來源:EMFTreeTableUtils.java


注:本文中的org.eclipse.emf.edit.provider.IItemPropertySource.getPropertyDescriptors方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。