- 博客(38)
- 资源 (3)
- 收藏
- 关注
原创 GEF中SelectionToolEntry,MarqueeToolEntry选中连线
背景:在默认的gef中,这两个鼠标工具都是不默认选中连线的. 但是多选节点,进行复制粘贴等操作时,总希望连续也是跟随节点的操作. 选中连线是基础. 其实很简单,但又涉及到一点gef机制的探索,所以就立文记录下.解决:MarqueeToolEntry进入源码看下豁然开朗.它用常量给出了自己的选中状态.并保存到marqueeBehavior中.通过ToolEntry.getT
2016-08-09 16:08:34
872
原创 通过重写PolylineConnection.outlineShape()方法优化连线显示
之前:通过修改线本身的位置的pointList 来实现.为连线增加拐角圆滑修饰.这样有很多弊端.后来发现这个方法分享给大家.outlineShape()是根据线的pointList返回需要绘制线的pointList. 所以我们可以通过重写这个方法在不改变线数据的情况线,改变线的显示样式.好处:1.不为连线增加额外的位置数据.(简化数据) 2. 不为创建线
2016-08-08 16:02:59
824
原创 为JFace(TableViewer,TreeViewer...)创建可直接编辑的DialogCellEditor
背景:1.JFace的TableViewer,TreeViewer普遍应用,TextCellEditor,ComboCellEditor,DialogCellEditor等是JFace自带的单元格编辑器. 这些编辑器确实可以满足很多需求,而且使用方便,但随着对于UI交互要求的提高,用户追求更加简单的操所时.这些Editor的编辑操作确实还有一些优化的空间. (毕竟是背景, 说的官方高大上
2016-07-26 11:47:57
2661
原创 JCEF的编译
背景:cef:cef官网 个人理解:就是把chrome的内核提取出来给其他应用使用,.浏览器只是其的一种应用展示而已.虽然它来自浏览器cef:源码下载:cef源码下载 jcef:jcef官网 用java代码对cef进行一层封装.我不吐槽:虽然这三个官网都是直接可以访问的.jcef可以通过git下载 当然很慢.我把git的timeout设置成了3000s 但是重
2016-05-31 09:20:56
4029
原创 关于java List的强制转型的理解
背景:之前对于涉及到List的强制转型的理解是: List personList = (List) list; 他会检测list中的每一项,如果其中包括非Person类或其子类的就会提示错误.然而这个想法并不正确.测试:两个简单无关系的类.public class Cat { private String name; public Cat(String
2016-05-18 11:01:17
6337
原创 关于Eclipse的git功能(egit插件)执行replace 依然显示差异问题的处理
背景: 正常replace 文件的二进制级别的差异将被替换, 当前文件将被完全重置为目标文件. 二进制比较差异将消失. 但是脸黑的我竟然赶上了这种情况. 但幸运的是 hard reset可以清除.问题探究和测试:1.文件确实是会被replace, 但是错误的被检测为 存在差异.2.如果把差异文件提交, 相同的
2016-04-11 10:30:47
3079
原创 国内镜像资源站点整理
没有VPN 墙的东西看不到用不了 但还是得继续前进不是?!http://mirrors.ustc.edu.cn/http://mirrors.hust.edu.cn/http://mirrors.yun-idc.com/
2016-03-18 17:29:09
912
原创 引入sleak异常,Warning: Device is not tracking resource allocation处理
引入sleak异常,Warning: Device is not tracking resource allocation处理
2016-03-10 18:13:21
916
原创 大神博客链接分享
学习大神的经验分享可比自己探索更有效率的多 蔡羽(安神):http://www.cnblogs.com/anrainie/plug-in黑夜:http://blog.youkuaiyun.com/soszou/article/details/41147833何明(win神):http://358184482-qq-com.iteye.com/刘刚:http://liugang594.i
2016-03-03 11:00:36
502
原创 基于同一个Table或者TableViewer创建的Table,创建CheckTableViewer引起问题说明
背景:虽然这个场景很少出现,或者说这个使用是不合理的,但是之前我上传的TableViewer源码中 却同时存在出现了题目中提及的到情况。由于当时为了将分支的东西都添加进来,导致了这种场景的出现。引发问题:即使创建的CheckTableViewer没有在后面被使用,但是影响依然存在。 目前明确的影响有两个:1.操作会触发更多的逻辑 因为在创建CheckTableVie
2016-01-13 17:03:22
468
原创 关于JFace的TableViewer中引入ComboBoxCellEditor 快速双击对于Cell Combo无法展开问题的解决
背景:之前我上传过一个关于TableViewer的使用说明(也提供的了源码下载) 当通过ComboBoxCellEditor设置姓名时,需要通过三次单击:第一次:选中Cell第二次:展开Combo第三次:选中想要输入的名称问题描述:当如果你快速执行前两次单击 即:双击时,Combo便不能展开了。哪怕你频繁双击也是在选中Cell和选中文字两种状态下切换。
2016-01-11 17:35:21
1959
原创 关于插件开发扩展和扩展点的理解和思考
背景:一个大的产品是由很多的插件构成。插件间的相互协作是必不可少的。相互协作的典型方式是依赖,A依赖B,A就可以使用B中开放的包中的类了。(这种方式的优缺暂不讨论)通过扩展扩展点的方式是另一种相互协作形式。概念:扩展点:一个可以支持特定功能的结构定义。 类比为方法的定义 这里主要是方法的入参格式定义 形参扩展:自己或其他插件根据扩展点的定义格式 配置自己
2016-01-05 14:14:28
4089
原创 rcp工程使用git库时,删除被依赖插件引起的变化
git History记录:时刻2:删除插件A,B插件的相应依赖关系也被删除。只剩下插件B(较新的修改)...时刻1:插件B依赖插件A..此时进行的操作1.当前是最新版本2.Reset ->hard 从时刻2到 1到2之间的某一个版本结果:由于在最新版本时,本地的workspace里面没有插件A,只有插件B此时,rese
2015-12-24 17:41:09
485
原创 GEF 创建连线的优化
背景:GEF连线是很重要的组成部分anchor是连线的起点和终点所连接的位置为了美观可以在anchor的位置添加handle使得anchor更加直观虽然很多时候 提供了连线工具 当时频繁切换工具并不友好 解决方法:可以当用户单击handle的时候创建连线 具体实现逻辑即:在鼠标监听事件中创建连线工具(继承自ConnectionCreationTool) 并
2015-12-15 10:00:31
1022
原创 java特性重温
java的三大特性:封装,继承,多态封装 (出现类的概念)1.把属性和操作(或服务)结合为一个独立的整体2.可以隐藏内部实现的细节(通过private关键字)继承 (方便类的创建)方便通过已有类 创建新类 引入新的属性和操作 并通过@override修改已有操作 PS:不可缩小访问范围多态 (基于继承 具有表现多种形态的能力的特征)
2015-12-01 11:45:36
272
原创 设计模式个人理解总结
本博客 记录笔者对于不同设计模式的理解,不一定正确,而且随着理解的深入会不断修改。欢迎各位评论交流单例:通过将构造函数私有化,并且创建好唯一一个实例后,将该实例提供其他类。多例:构造函数私有化,但可以返回指定个数的实例,通过一定标识区分返回哪个。观察者:将观察者作为监听器加载到主题的数据成员监听集合中, 当主题发生改变时,依次触发所有的监听器。工厂模式:通过区分标
2015-12-01 10:05:37
352
转载 GEF中组合按键设置汇总以及org.eclipse.gef.KeyStroke的方法的使用
原址:GEF中组合按键设置汇总以及org.eclipse.gef.KeyStroke的方法的使用GEF开发中默认的快捷键有可能没有设置齐全,又或者开发中需要自定义设置一些快捷键及组合。我在开发中也遇到此类问题,尤其是对每个键该写什么参数值很困惑。在网上有一些零零星星的资料,找来研究了一下,现在将一些内容做个汇总:GEF中设置快捷键主要是在自己的Editor中来处理Key
2015-11-25 11:44:09
598
转载 在eclipse.ini中为eclipse指定jdk启动
博客地址:在eclipse.ini中为eclipse指定jdk启动机器上装了好几个版本的jdk,要用指定的jdk启动eclipse,只需修改eclipse.ini文件即可。参考:-vmC:/jdk1.6.0_18/bin/javaw.exe (//-- 注:放第一行) 好像放在-vmargs之前就可以--launcher.XXMaxPermSize256m-v
2015-11-23 11:18:16
360
原创 ant脚本部署RCP产品
本帖主要记录自己学习过程中遇到的问题。主要学习的链接:浅析 Ant 脚本部署 RCP 项目1.${xxxxx}: 类似于linux命令中的环境变量。这些变量本身定义在同目录下的build.properties2.想要正常执行这个运行ant脚本。需要修改一些环境变量符合自己的本地环境 例如pdeBuildPluginVersion,equinoxLauncherPluginVers
2015-11-20 11:48:03
720
原创 linux bash shell 笔记
different type shell,different filesInteractive login .bash_profileInteracitve .bashrcNon-interactive shell script别名#出现时,后面的被忽略在根目录的.bashrc中设置命令别名环境变量直接使用命令:
2015-11-18 10:52:49
375
原创 linux 简单命令笔记
cat : 重复你的输入Ctrl +d:终止很多的命令man :(manual) 很多命令的详细说明 q 返回 空格向下翻页 example:man catls /:展示根目录ls -F :展示目录区分 文件夹和文件pwd:(present working directory)显示当前工作目录cd [directory]:(change directory) 切
2015-11-16 15:34:16
328
原创 RCP 运行application,product时无法执行 Incompatible JVM提示 解决方法
无法启动RCP application,product程序完整的提示信息是:Incompatible JVMVersion 1.6.0_45 of the JVM is not suitable for this product. Version: 1.7 or greater is required.条件:项目依赖了jdk1.6 但启动的时候 提示jvm启动需要1.7对于不
2015-11-12 17:32:26
1214
转载 RCP 文件路径问题
终于找到直接可以用的了 Java代码 path = FileLocator.toFileURL( Platform.getBundle(IAppConstants.APPLICATION_ID) .getEntry("")).getPath().toString(); RCP 文件
2015-11-02 10:26:11
575
转载 表格(TableViewer类)
第14章 表格(TableViewer类)TableViewer表格类是JFace组件中重要且典型的一个组件,其中涉及了JFace的众多重要概念:内容器、标签器、过滤器、排序器和修改器,这些概念对后面JFace组件特别是TreeViewer的学习非常重要。从本章也可以体会到JFace非常突出的面向对象特性。14.1 概 述JFace是SWT的扩展,它提供了一组功能强大的界面组
2015-10-30 17:43:19
2363
转载 Java中判断字符串是否为数字的三种方法
推荐使用第二个方法,速度最快。方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return fals
2015-10-30 17:16:13
833
转载 查看Eclispe是32位还是64位
首先进入到Eclipse的安装目录,如下图:查找到文件名为"eclipse.ini"文件,使用文本编辑工具,或记事本打开,如下图:如图中的红框所示,如果是win32.x86 ,则是32位的Eclipse ,如果是“win32.x86_64”,则是64位的Eclipse ,如下图:原文链接:怎样查看Eclipse是32位还是64位
2015-10-29 10:02:47
523
原创 GEF连线优化 支持额外检测功能的存储线路径的PointList(合并同终点线,分离重合线)
PointList 是存储线路径的集合 也是寻路算法router的最终输出结果如果额外考虑线与线之间的相互影响 则会进一步提高画面的显示效果我原创的CheckPointList可以支持一些对线间关系的相互处理 注:只是针对于水平,竖直方向的线,不支持斜线具体支持的机制如下: 1.支持同终点的连线如果在行进时如果靠的很近,则自动合并。 2
2015-10-27 10:32:26
643
原创 Git history视图 reset至旧节点 导致新节点消失
提交完新的代码到本地后, 想看下之前节点的代码 于是就 hard reset了 然后 新提交的代码所在节点就消失了最初样子:reset 之后:(soft 也一样) 就消失了 吓到宝宝了 我的代码呢鼓起勇气继续reset: 又出来 你是在逗我吗?!下面是操作记录:处理方法:打开Eclispe git
2015-10-08 14:58:45
824
原创 基于AStar算法的RCP布线优化
之前的AStar算法学习笔记博客 提到了大神的基于AStar算法的RCP布线算法 但是大神给的开源码 还有存在可以优化的部分 这个博客主要是记录自己优化的过程大神源码链接:RCP:gef智能寻路算法(A star)我的AStar的算法学习:AStar算法学习笔记 改进与优化1. 关于终点出现斜线问题 分析:由于坐标是以起始点作为坐标原点的,所以终
2015-09-29 16:36:50
1310
原创 AStar算法学习笔记
最近在负责布线的一些功能的优化 在某位大神的启发知道下 知道了 AStar算法 如获至宝 学习的主要连接为: 极限定律 My Algorithm Space A*算法入门 以下是个人理解:核心公式: f(最终路径长度) = g(起点到x点的长度)+ h(x点到终点的估计长度) 开启列表:将要被遍历的点的集合
2015-09-24 16:34:14
1567
原创 swt中setToolTipText()失效问题和setToolTipText()部分测试
在RCP工程在Eclipse 4.3 Kepler版本中,swt中setToolTipText()失效 相同的源码 在Eclipse 4.4 luna中有效 原因未知万幸的是:但通过4.3导出的产品 setToolTipText() 是可以生效的。部分测试 * 1.设置 text.setEditable(false); tooltip 生效 *
2015-08-24 17:03:02
916
原创 使用GEF ScalableFreeformRootEditPart的注意事项
如果你仅仅是将ScalableRootEditPart()改为ScalableFreeformRootEditPart,会出现primary layer主层隐藏的情况.将ContentEditPart(包含Model的ContentModel对应的EditPart)中的createFigure中生成的函数.1.返回的layer 的类型是FreeformLayer 2.layoutManager是FreeformLayout
2015-05-21 17:14:46
809
TableViewer学习源码
2015-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人