`
dadi520
  • 浏览: 145730 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

emf 学习分析

 
阅读更多


一、model 与 Adapter 关联

EMF 的 LabelProvider 为 new AdapterFactoryContentProvider(ComposedAdapterFactory adapterFactory)

1.  当LabelProvider getText(Object object) 时
    会调用 adapterFactory.adapt(object, IItemLabelProviderClass) 取得 实际的LabelProvider text

2. 调用 ComposeAdapaterFActory 的 adap(Notifier target, Object type, boolean isNew)

3. 调用XXXItemProviderAdapterFactory 的 adapt(Nodtifier notifier, Object type)

4. 调用AdatperFactoryImpl.adapt(Nodtifier target, Object type)  type为: ShopItemProviderAdapterFactory
   
    4.1  由ShopItemProviderAdapterFactory 分派到指定的XXXItemProvider
    4.2  将创建的Adatper(相当于监听器) 注入到 target


二、 更改model property, 通知对应的查看器发生变化.

1. IPropertySource 调用 setPropertyValue(Object propertyId, Object value)
   
    1.1 IitemPropertySource.getPropertyDescriptor(object, propertyId) 得到 IItemPropertyDescriptor


2. 调用 IItemPropertyDescriptor.setPropertyValue(Object object, Object value)
   
    2.1 调用SetCommmand.create(), 创建SetCommand
    2.2 EditingDomain editingDomain = getEditingDomain(object);
    2.3 CommandStack  commandStatck = getCommandStack();
    2.4 commmandStack.execute(setcommand): 保存历史记录, 并能够撤销,
 

3. 调用Model.setXXX()
   
    3.1 将对应的属性改变
    3.2 通知对应的查看器(就是一部分注册的监听器) 做出改变

分享到:
评论

相关推荐

    EMF 自学笔记5

    在科学研究中,EMF可以用于定义实验模型、分析模型、仿真模型等。 总之,EMF提供了一种灵活、高效、强大的模型驱动开发方式,它不仅简化了开发过程,提高了开发效率,而且促进了软件工程的标准化和自动化,为构建高...

    EMF学习完整教程

    书中对EMF建模的关键概念和技术进行了详细阐述,并分析了EMF最重要的框架类和生成器模式。教程引导读者选择最佳设计,并介绍了强大的框架定制和编程技巧。 教程内容涵盖了使用扩展的Ecore建模技术,实现XML与UML和...

    emf文件格式详解

    通过分析和运行这段代码,开发者可以直观地看到EMF文件内部的工作原理,了解如何读取、显示和分析EMF记录。源代码可能使用C++、C#或其他编程语言编写,提供了一种实践性的学习方法,帮助程序员实现与EMF格式交互的...

    分析EMF文件的工具以及源代码

    通过研究这些源代码,开发者不仅可以了解EMF文件格式的细节,还能学习到图形处理和文件解析的技巧,这对于开发图形处理软件或进行系统级别的调试工作大有裨益。此外,源代码也可以作为教育材料,帮助学生理解矢量...

    emf eclipse

    通过EMF QL,开发者可以方便地检索、分析和修改模型数据。 总结来说,EMF Eclipse是一个强大的元建模框架,广泛应用于软件建模和代码生成。通过学习EMF,开发者能够构建自己的领域特定语言(DSL),创建模型并自动...

    EMF模型文件对比/比较(emf.compare)

    EMF(Eclipse Modeling Framework)模型文件对比/比较(emf.compare)是针对基于EMF构建的模型文件进行差异分析的工具。...要获取更详细的信息,你需要访问提供的博客链接或寻找其他资源来深入学习EMF.compare的使用。

    EMF Developer Guide

    虽然传统的面向对象分析与设计(OOA/D)工具可能成本较高,但EMF只需要定义类及其属性和关系的简单模型,因此降低了入门门槛。 **定义EMF模型** 在EMF中,开发者首先定义模型元数据,这包括类、属性和关系。元数据...

    EMF_GEF_入门系列

    8. **实例分析**:通过实际项目案例,详细解释如何从零开始构建一个简单的模型编辑器,让学习者能动手实践。 通过这个入门系列的学习,新手开发者将能够熟练运用EMF和GEF构建高效、直观的图形用户界面和模型驱动的...

    java emf 转jpg源码.zip

    通过分析这个 Java EMF 转 JPG 的源码,开发者不仅可以学习到图像处理的基本原理,还能了解到如何在 Java 中实现文件格式的转换。这对于深入理解 Java 图形编程和文件处理技术非常有帮助,同时也可以借鉴其中的设计...

    java EMF,图形开发框架。也可用作eclipse的插件开发

    ANTLR能生成Java、C#、Python等多种语言的解析器和词法分析器,与EMF结合时,可以用于解析DSL或自定义语法,将输入的文本转换为EMF模型,进一步增强EMF的灵活性和扩展性。 在Eclipse插件开发中,EMF扮演了关键角色...

    emf.rar_SPI delphi_delphi emf_delphi spi_emf delphi_spi

    5. **Delphi源码**: 提供的源代码可以作为学习如何在Delphi环境中处理SPI数据和生成EMF图形的实例。开发者可以借此理解如何操作图形对象、使用图形API以及如何在Delphi中实现数据转换。 6. **实际应用**: 这种转换...

    查看SPL,EMF的VB源码

    通过分析和学习这个源码,你可以了解到具体的操作步骤和代码实现,这对于理解SPL和EMF文件的处理以及VB编程技巧都非常有帮助。 总的来说,查看SPL和EMF文件需要对文件格式有深入的理解,同时熟练掌握VB的文件操作、...

    matlab.zip_matlab内插恢复_matlab读写emf_端点检测_语音信号处理

    通过这些代码,用户可以学习到如何在MATLAB环境中实现完整的语音信号处理流程,从数据的读取、处理到结果的呈现。这不仅有助于提升技能,也为实际应用打下坚实的基础。 总结来说,"matlab.zip"文件涵盖了MATLAB在...

    gef写的tree例子--模型修改为emf

    标题中的“gef写的tree例子--模型修改为emf”指的是使用GEF(Graphical Editing ...通过分析和学习这个例子,开发者可以提升自己在图形化用户界面设计和模型驱动开发方面的技能,从而在实际项目中更好地应用这些技术。

    Emf2Eps:将EMF文件转化为EPS文件-matlab开发

    - 分析EMF文件的矢量数据,这可能涉及到对文件的二进制结构进行解析。 - 将解析出的数据重构为EPS格式,这可能包括创建EPS文件头信息,定义图形命令,以及应用颜色和样式信息。 - 最后,使用MATLAB的`imwrite`或...

    Part_1_Simulate_Back_EMF_Voltage_of_a_BLDC_Motor.7z

    标题中的“Part_1_Simulate_Back_EMF_Voltage_of_a_BLDC_Motor.7z”指示这是一个关于无刷直流电机(BLDC Motor)反电动势(Back Electromotive Force, 简称Back EMF)模拟的项目文件。这个项目使用了Simulink软件,...

Global site tag (gtag.js) - Google Analytics