NShape(开源矢量图形编辑器) 基本功能开发(一)

  在入门篇章简单介绍了如何使用NShape搭建一个简单的Demo。本章将会简单介绍NShape主要控件,以及如何使用NShape搭建满足特定需求的功能模块。

NShape主要控件

1. Core Components(核心组件)

Project(工程)
  Project 是NShape应用程序的不可缺少的核心组件。它涵盖了对 Store 对象、Diagram 对象、历史记录、安全性、设计和加载的类库的引用。

CachedRepository(缓存库)
  CachedRepository用于关联,管理 DiagramModelTemplate 等对象的默认存储库。每个项目还需要一个存储库。为了持久存储项目,必须将存储组件(XmlStoreSqlStore)附加到存储库。

SqlStore (SQL存储)
  SqlStore 允许将NShape项目存储在MS SQL Server数据库中,使应用程序直接操纵 MS SQL Server 中的数据。

XmlStore(Xml存储)
   XmlStore 允许将NShape项目存储在XML文件中。与 ADO.NET Repository 相比,它将整个对象模型保存在内存中,因此能够在任何时候交付模型的完整映像。XML存储由一个XML文件和一个图像目录“ Images”组成(这取决于ImageLocation属性的值),其中存储了存储图像的目录。
   如果存储库已经存在,那么在保存存储库之前,现有的文件(及其对应的目录)将被重命名为*.bak。

2. Control(控件)

Display(幕布)
  Display 是NShape应用程序的核心组件之一,它包含了对 Diagram 对象的视图显示与管理。

LayerEditor(图层编辑器)
  LayerEditor 提供对图层的编辑管理操作。

LayerListView(图层集列表视图)
  LayerListView 提供了图层集的列表视图功能。

3. Presenter (表示器)

DesignPresenter(设计表示器)
  DesignPresenter 提供了编辑样式和设计所需的所有功能。

ModelTreeViewPresenter(模型树表示器)
  ModelTreeViewPresenter 用于关联 TreeView 控件与 ModelController。实现使用树形列表管理模型对象。

LayerPresenter(图层表示器)
  LayerPresenter 提供用于UI组件与 LayerController 控制器进行交互的方法。

PropertyPresenter(属性表示器)
  PropertyPresenter 用于编辑 ShapeDiagramModel 对象的属性。PropertyPresenter 可以链接一个或两个 System.Windows.Forms.PropertyGrid 对象到 PropertyController,从而实现对 ShapeDiagramModel 对象属性的可视化编辑。

TemplatePresenter(模板表示器)
  TemplatePresenter 提供创建和编辑 Template 的方法。

ToolSetListViewPresenter(ListView表示器)
  ToolSetListViewPresenter 用于关联 ListView 控件与 ToolSetController 对象,以显示和编辑 Diagram 对象。

ToolSetToolStripPresenter(ToolStrip表示器)
  ToolSetToolStripPresenter 用于关联 ToolStrip 控件与 ToolSetController 对象,以显示和编辑Diagram 对象。

4. Controllers(控制器)

DesignController(设计控制器)
  DesignController 提供编辑设计和样式的方法。

DiagramSetController(图表管理控制器)
  DiagramSetController 提供管理和编辑Diagram的方法。每个 Display 对象必须连接 DiagramSetController 对象。

LayerController(图层控制器)
  LayerController 提供管理和编辑 Layer 的方法。

ModelController(模型控制器)
  ModelController 提供用于管理和编辑 Model 的方法。

PropertyController(属性控制器)
  PropertyController 提供用于编辑 ShapeModelDiagram 属性的方法。

TemplateController(模板控制器)
  TemplateController 提供创建和编辑 Template 的方法。

ToolSetController(工具管理控制器)
  ToolSetController 提供用于管理 Diagram 对象创建和操作相关工具的方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值