在EMF应用中,有一些时候,我们希望一个对象的某一个属性在属性视图中的编辑状态时条件可控的,如果符合某一个条件,这个属性就不能被修改,否则就允许修改。
一种标准办法是在对应对象的xxxItemProviderAdapter中的进行如下处理:
protected void addxxxPropertyDescriptor(Object object) {
itemPropertyDescriptors.add(new ItemPropertyDescriptor(
((ComposeableAdapterFactory) adapterFactory)
.getRootAdapterFactory(), getResourceLocator(),
getString("_UI_Join_this_feature"),
getString("_UI_PropertyDescriptor_description",
"_UI_Join_this_feature", "_UI_Join_type"),
RelationPackage.Literals.JOIN__THIS, true, false, true, null,
null, null)
{
@Override
public boolean canSetProperty(Object object) {
if(xxx){
return false;
}
return true;
}
}
当然也可以设置
createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_End_multiplicity_feature"),
getString("_UI_PropertyDescriptor_description",
"_UI_End_multiplicity_feature", "_UI_End_type"),
RelationPackage.Literals.END__MULTIPLICITY,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null)
其中的倒数第6个参数setable,也是这个作用,如果设置为false,该属性在属性视图上就是不可编辑的;
分享到:
相关推荐
在EMF中,模型通常由包(Package)、类(Class)、属性(Attribute)、引用(Reference)等元素组成。模型定义了数据的结构、关系和行为,它是EMF应用的基础。 开发者可以通过XMI(XML Metadata Interchange)或...
将现有的XML或UML模型导入到EMF中,然后利用EMF的工具对其进行扩展和维护。 ##### 2.2 EMF编辑器与代码生成 **2.2.1 生成的插件** EMF自动生成的插件包含了编辑器、视图和其他相关组件。 **2.2.2 通过GenModel...
3. **对象表**:记录了所有使用的绘图对象,如笔、刷子等,以及它们的属性设置。 #### 四、EMF格式的应用场景 由于EMF格式的优良特性,它在多个领域得到了广泛应用: - **桌面出版系统**:EMF格式非常适合用于桌面...
《Eclipse开发使用GEF和EMF》是IBM红皮书系列中的一部经典著作,主要探讨了如何在Eclipse环境中利用GEF(图形编辑框架)和EMF( Eclipse模型框架)进行图形化应用程序的开发。这两项技术是Eclipse平台上的核心组件,...
在本文中,我们将深入探讨如何基于Eclipse的EMF(Eclipse Modeling Framework)插件来开发图形化编辑程序。EMF是Eclipse平台的核心部分,它提供了一套强大的工具和库,用于构建模型驱动的软件应用程序。让我们一起...
通过阅读这份文档,读者可以了解到如何创建、编辑和解析EMF文件,以及EMF在应用程序中的使用方式,比如打印、图像处理和图形显示。 **emf.hlp**:这是一个帮助文件,通常用于提供快速查询和参考。在这个文件中,...
EMF中的“模型”通常指的是类图、协作图、状态图等。统一建模语言(UML)为这些图表定义了标准表示。通过结合多种UML图表,可以详细描述一个应用的完整模型。这个模型可以仅用于文档记录,也可以作为工具输入,自动...
例如,EMF Compare用于模型的版本比较和合并,EMF Forms提供了用户界面组件来显示和编辑模型数据。在本教程中,你将学习如何安装和使用这些插件,提升你的EMF开发体验。 7. **实战演练** 通过实际操作,你会学习...
- 实现编辑器的`createPartControl`方法,以设置编辑器的内容。 - 在编辑器中集成`Viewer`以显示图形。 ### 总结 本文详细介绍了如何使用GEF和EMF构建一个简单的“Hello World”示例。通过本教程,您应该能够...
EMF(Enhanced Metafile)文件是Windows操作系统中使用的一种矢量图形和图元文件格式。这种文件类型被广泛用于存储图形、图像和打印数据,因为它支持复杂的图形操作,如曲线绘制、渐变填充和透明效果。EMF文件是GDI+...
在处理XML数据时,EMF提供了一种高效且灵活的方式,能够将XML文档转换为可操作的对象模型,进而进行读取、解析和编辑。下面将详细介绍EMF读取XML的相关知识点。 1. **EMF模型与XML的关系** - EMF模型是面向对象的...
在IT行业中,图像处理是一个重要的领域,特别是在图形设计和软件开发中。WMF(Windows Metafile Format)和EMF(Enhanced Metafile Format)是两种常见的矢量图像格式,广泛用于Windows操作系统。这两种格式允许存储...
- **转换与映射(Transformation & Mapping)**:EMF允许模型之间的转换,实现不同视角的视图切换。 - **验证(Validation)**:通过元模型定义的约束,EMF可以进行模型的静态验证,确保模型的正确性。 - **代码...
在Eclipse VE(Visual Editor)环境中,EMF提供了模型和视图之间的桥梁,使得开发人员可以更直观地设计和修改应用模型。通过持续更新和改进,EMF已经成为许多大型企业级软件项目的核心组成部分。
EMF (Enhanced Metafile) 是Windows操作系统中用于存储矢量图形和光栅图像的文件格式,它在处理复杂的图形和图像是非常有效。而PNG(Portable Network Graphics)则是一种无损压缩的位图格式,广泛应用于网页设计、...
在EMF中,XSD文件可以被用来作为模型的定义,生成相应的Java类和API,这样开发人员就可以在代码中直接操作这些模型对象。 GUI设计是构建用户界面的重要环节,EMF结合GEF (Graphical Editing Framework) 提供了一套...
【标题】"EMF Eclipse" 是一个与Eclipse集成的元建模框架,它允许开发者创建、编辑和操作复杂的模型。EMF(Eclipse Modeling Framework)是基于OMG的MOF(Meta-Object Facility)标准,为开发人员提供了一种在...
- 实践操作:通过创建简单的UI项目,学习如何在VE中拖放控件,设置属性,以及生成对应的源代码。逐步熟悉VE的各个功能,理解EMF和DEF如何协同工作。 通过这个教程,开发者不仅可以掌握Eclipse VE的基本使用,还能...
3. **资源管理**:`Resource`接口是EMF中用于处理模型存储的关键,它可以加载和保存模型实例。`EObject.eResource()`方法可以获取对象所在的资源,而`Resource.load()`和`Resource.save()`则用于读写模型数据。 4. ...
SVG(Scalable Vector Graphics)和EMF(Enhanced Metafile)是两种常见的矢量图形格式,但它们在不同的环境中有着不同的应用。本示例代码是关于如何使用Java将SVG转换为EMF,这在需要在Windows系统中处理矢量图形时...