eclipse插件开发学习笔记-Draw2d

参考书籍:

eclipse插件开发笔记第21章

eclipse插件开发与实战第19章

初步学习重点:熟悉其中的主要类极其功能。



Draw2d是一套相对独立的图形系统,通常跟GEF一起构建MVC系统。它相当于其中额VIEW部分

主要掌握5大类

1.轻量系统类LightweightSystem(核心)Drawd2d跟SWT之间的交互任务

2.画布Canvas

3.图形元素Figure

     可以是任何形状,可以相互嵌套,可以是透明的。也可以是分层。

    掌握两个类: 绝对坐标Absolute Coordinate,相对坐标 Relative Coordinate


     

4.事件分配器EventDispatcher

5.更新管理器UpdateManager

 负责重绘,更新Figure 当收到swt的更新请求的时候。会调用管理器的performUpate()方法更新图形。





LightweightSystem包含的主要部分

根图形元素RootFigure:继承了SWT画布空间为顶层Figure的父亲

事件分配器SWTEventDispatcher:将SWT事件翻译成相印的Draw2d事件。它跟踪Figure是否获取焦点。是否是鼠标的目标。管理提示信息的显示

变更管理器UpdateManager:负责重绘,更新Figure 当收到swt的更新请求的时候。会调用管理器的performUpate()方法更新图形。

默认变更管理器是DeferrodUpdateManager类

EventDispatcherUpdateManager和SWT重量级Heavyweight空间。



布局管理

抽象类:AbstractLayout。

子类:

FlowLayout:行布局

BorderLayout边界布局

ToolbarLayout工具栏布局

StackLayout堆栈布局

DelegatingLayout 需要Figure实现Locator接口的定位器。

XYlayout坐标管理器布局

SrollPaneLayout管理滚动条布局

ViewProtLayou:管理视图的可现区域和滚动位置状态。


连线:

连线图元都要是实现Connection接口。它扩展了IFigure接口主要管理两点间的线条。起点跟重点由连接描点ConnectionAnchor定义。连线由实现Connection接口的连线类定义。

如PolylineConnection类。连线的路由和处于连线上的点的位置则由ConnectionRouter管理。

连线路由器(Connection Routor)  负责两个描点之间的连线路径。

NullConectionRouter直线连接描点。并不提供其他路由计算。

AutomaticRouter:此路由为防止连线重叠的路由器基类。继承次类路由器会将起点和终点相同的连线散开显示。

BendpointConnectionRouter此路由器允许用户以任意拖动连线中某部分的方式添加连线转折点。

ManhattanConnectionRouter曼哈顿线方式连接。原则上只有垂直跟水平连线组成的起点和重点。其中也提供了回避线条重叠的功能。


其他重要组件

主要掌握以下:边界,层次,定位器,连接描点。

边界类:Border 通过偏移量Inset调整边界内的子Figure与边界的相对位置。还有其他边界子类:标题栏边界,框架边界,线条边界类

重点掌握以下几类:

分组框边界:GroupBoxBorder

标题边界:TitleBarBorder

复合边界:CompoundBorder

框架边界 FrameBorder

焦点边界 FocusBorder

线条边界 LineBorder

边框边界 MarginBorder

预配置边界SchemeBorder

下沉式边界SimpleLoweredBorder

上浮式边界SimpleRaiseBorder


层次Layer:透明的Figure


图形笔记

连线Conneciton 

总要连线类:

 Router, 负责连线的外观和操作方式。最简单的设置Router为null,则会使用直线连接

Anchor,控制连接线在图形上的未知。即描点。常用ChopBoxAnchor。EllipseAnchor,LabelAnchor,XYAnchor

Locator,定位图层。在连线中点以一个标签现实此连接线的名称。则可以使用MidpointLocator来定位这个标签。其余:ArrowLocator




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值