`
cymya
  • 浏览: 6138 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

EMF中如何让动态设置属性视图中属性的编辑状态

UI 
阅读更多
在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,该属性在属性视图上就是不可编辑的;
分享到:
评论

相关推荐

    PSD-BPA地理接线图手册

    - **连线属性**:设置连线的各种属性。 - **名称属性**:编辑对象名称的显示方式。 - **站结果属性**:配置站点结果显示的方式。 - **注释属性**:调整注释的样式和内容。 - **信息注释属性**:自定义信息注释...

    高级CAD 绘图 技巧

    11. 在多行文字中使用Word97编辑:通过设置文字编辑器为Word,可以在多行文字中利用Word的功能。 12. 图形导入Photoshop:先导出为光栅图像格式(如BMP或JPEG),然后在Photoshop中打开。 13. 修改ACAD.PGP立即...

    轻量级图像浏览器 Imagine 1.1.1 中文多语版.zip

    Imagine 中文版是一款免费图像浏览器应用程序,可让您查看各种格式的图片和动画,包括 JPG,BMP,PNG 和 GIF。该程序的界面带有简单的元素。借助基于资源管理器的布局,可以轻松浏览它。因此,您可以查看文件属性和 ...

    GEF-whole-upload.pdf

    而Editor则是RCP中最常用的组件之一,它不仅能够编辑文本,还能展示和编辑图形数据,GEF正是利用了Editor的这些特性,实现了图形数据的可视化编辑。 #### GEF的基本结构 GEF的核心架构由模型(Model)、控制器...

    J2EE开发日记-MyEclipse快捷键与插件大全.txt

    - `F6`: 切换至下一个编辑器选项卡(自2006年起,需要选择编辑器视图作为目标)。 - `F7`: 执行构建操作。 - `F8`: 连续执行到下一行代码。 2. **文件和项目管理** - `Ctrl+PgUp`: 显示列表中的上一个文件。 -...

    软件开发工具模拟试卷答案可用.pdf

    解析:数据字典是系统设计中的一个重要组成部分,它包含了系统中所有数据元素的定义、属性和描述,帮助开发者理解数据的来源、处理过程和用途。 15. 软件开发项目管理的目标不包括【】 A. 保证项目按时完成 B. ...

    sirius-specs:Eclipse Sirius变更的规格

    - **富文本支持**:Sirius可以通过集成HTML来提供更丰富的文本显示,例如在属性视图中嵌入HTML,以增强用户界面的可读性和交互性。 - **报表和导出**:使用HTML,Sirius可以生成可打印的或Web友好的报告,便于用户...

Global site tag (gtag.js) - Google Analytics