GEF 创建连线的优化

背景:

GEF连线是很重要的组成部分

anchor是连线的起点和终点所连接的位置

为了美观可以在anchor的位置添加handle使得anchor更加直观

虽然很多时候 提供了连线工具   当时频繁切换工具并不友好  

解决方法:

可以当用户单击handle的时候创建连线  具体实现逻辑即:在鼠标监听事件中创建连线工具(继承自ConnectionCreationTool) 并激活

有一些需要主要的操作:

1.激活这个tool   domain.setActiveTool(tool)       

2.为tool设置viewer

注:这部分的细节 我还不是很了解  例如:tool的工作条件及原理 

tool 会通过TargetingTool.updateTargetUnderMouse()获取当前鼠标位置的EditPart

如果当anchor和handle位于图源外时,鼠标获取的EditPart获取的是ContentEditPart 连线自然无法创建

我想到的方法是:(也许有更好的方法)

解决方法重写tool的getLocation()方法并进行偏移  这样就可以 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值