eclipse,GEF 小技巧(blogjava文章迁移2007-04-11)

1.在tabbedProperties(eclipse3.2以上支持)中,如果要建立一个treeview,且想要click任何一列都可以实现celledit,需要在创建treeview的时候加上style: SWT.FULL_SELECTION
2.tabbedProperties中section的大小现在无法做到根据widget的大小自动调整,目前只能用getMinimumHeight()返回一个固定值
ps: 今天找到更好的办法了,只要用ISection的一个方法就可以了:shouldUseExtraSpace().看下它的注释就完全明白了:

/**
  * Determine whether this section would like extra height space in case
  * there is some left. Normally this is true when the section is the last to
  * be displayed on a tab or is the only section on a tab.
  * @return <code>true</code> if this section would like extra height space.
  */
 public abstract boolean shouldUseExtraSpace();
3.在build rcp程序的时候,要注意MANIFEST.MF文件中的require bundle.如果require的plugin不存在,那么很有可能出现插件已经installed但是没有resolved的情况(HELP-->About-->Configuration details)

4.fd.setFilterNames(new String[]{"图片文件(*.jpg *.ico)"});
fd.setFilterExtensions(new String[]{"*.jpg;*.ico"});

要在一个过滤器中指定多个文件,Eclipse的FileDialog没有写这个注释,但SWT是直接封装的操作系统控件,在windows下是用;分隔。

参见win API 中OPENFILENAME的说明。
lpstrFilter 
指向一对以空字符结束的过滤字符串的一个缓冲。缓冲中的最后一个字符串必须以两个NULL字符结束。 
第一个字符串是过滤器描述的显示字符串(例如,“文本文件”),第二个字符指定过滤样式(例如,“*.TXT”)。要为一个显示字符串指定多个过滤样式,使用分号(“;”)分隔样式(例如,“*.TXT;*.DOC;*.BAK”)。一个样式字符串中可以包含有效的文件名字字符及星号(*)通配符。不能在样式字符串中包含空格。

系统不能改变过滤器的次序。它按lpstrFilter指定的次序显示在文件类型组合框中。

如果lpstrFilter是NULL,对话框不能显示任何过滤器。


4.目前做的GEF项目需要在用户direct edit的时候加上content assist,实现这个并不难,但是我发现用户无法通过鼠标双击来选定一个proposal.这个问题困扰了我很久.后来才发现原来是textcelleditor给text安装了一个focuslost listener,所以当你单击或双击content assist popup的时候,text的focus就lost了,就会调用focuslost方法.目前的解决办法是override focuslost方法,让它为空,虽然不是很完美的解决方案,但是至少可以让用户通过鼠标来选择proposal了
5.还是在GEF中,我用的是tabbedproperty来实现属性视图.property section有一个filter属性,你可以用一个实现了IFilter的接口,来判断这个section是否应该在选中了一个node或connection后显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值