本文整理匯總了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;
};
});
}
}
示例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);
}
}
示例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;
}