eclipse,GEF 小技巧

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后显示

posted on 2007-04-11 17:31 小牛小虾 阅读(516) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿(6)

随笔档案

文章档案

eclipse

搜索

最新评论

阅读排行榜

评论排行榜