eclipse,GEF 小技巧

          1.在tabbedProperties(eclipse3.2以上支持)中,如果要建立一個(gè)treeview,且想要click任何一列都可以實(shí)現(xiàn)celledit,需要在創(chuàng)建treeview的時(shí)候加上style: SWT.FULL_SELECTION
          2.tabbedProperties中section的大小現(xiàn)在無(wú)法做到根據(jù)widget的大小自動(dòng)調(diào)整,目前只能用getMinimumHeight()返回一個(gè)固定值
           ps: 今天找到更好的辦法了,只要用ISection的一個(gè)方法就可以了: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程序的時(shí)候,要注意MANIFEST.MF文件中的require bundle.如果require的plugin不存在,那么很有可能出現(xiàn)插件已經(jīng)installed但是沒(méi)有resolved的情況(HELP-->About-->Configuration details)

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

          要在一個(gè)過(guò)濾器中指定多個(gè)文件,Eclipse的FileDialog沒(méi)有寫這個(gè)注釋,但SWT是直接封裝的操作系統(tǒng)控件,在windows下是用;分隔。

          參見(jiàn)win API 中OPENFILENAME的說(shuō)明。
          lpstrFilter
          指向一對(duì)以空字符結(jié)束的過(guò)濾字符串的一個(gè)緩沖。緩沖中的最后一個(gè)字符串必須以兩個(gè)NULL字符結(jié)束。
          第一個(gè)字符串是過(guò)濾器描述的顯示字符串(例如,“文本文件”),第二個(gè)字符指定過(guò)濾樣式(例如,“*.TXT”)。要為一個(gè)顯示字符串指定多個(gè)過(guò)濾樣式,使用分號(hào)(“;”)分隔樣式(例如,“*.TXT;*.DOC;*.BAK”)。一個(gè)樣式字符串中可以包含有效的文件名字字符及星號(hào)(*)通配符。不能在樣式字符串中包含空格。

          系統(tǒng)不能改變過(guò)濾器的次序。它按lpstrFilter指定的次序顯示在文件類型組合框中。

          如果lpstrFilter是NULL,對(duì)話框不能顯示任何過(guò)濾器。


          4.目前做的GEF項(xiàng)目需要在用戶direct edit的時(shí)候加上content assist,實(shí)現(xiàn)這個(gè)并不難,但是我發(fā)現(xiàn)用戶無(wú)法通過(guò)鼠標(biāo)雙擊來(lái)選定一個(gè)proposal.這個(gè)問(wèn)題困擾了我很久.后來(lái)才發(fā)現(xiàn)原來(lái)是textcelleditor給text安裝了一個(gè)focuslost listener,所以當(dāng)你單擊或雙擊content assist popup的時(shí)候,text的focus就lost了,就會(huì)調(diào)用focuslost方法.目前的解決辦法是override focuslost方法,讓它為空,雖然不是很完美的解決方案,但是至少可以讓用戶通過(guò)鼠標(biāo)來(lái)選擇proposal了
          5.還是在GEF中,我用的是tabbedproperty來(lái)實(shí)現(xiàn)屬性視圖.property section有一個(gè)filter屬性,你可以用一個(gè)實(shí)現(xiàn)了IFilter的接口,來(lái)判斷這個(gè)section是否應(yīng)該在選中了一個(gè)node或connection后顯示

          posted on 2007-04-11 17:31 小牛小蝦 閱讀(525) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          eclipse

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 铜陵市| 乡宁县| 库尔勒市| 天等县| 翁源县| 崇明县| 富裕县| 巴塘县| 鸡东县| 朝阳区| 陇南市| 宿松县| 霍邱县| 石景山区| 县级市| 石阡县| 天长市| 姚安县| 始兴县| 石楼县| 通许县| 饶平县| 错那县| 红河县| 渝北区| 潍坊市| 二连浩特市| 永福县| 凌云县| 会宁县| 哈密市| 韶山市| 正安县| 永定县| 柳林县| 巴里| 房产| 黔江区| 新余市| 古蔺县| 巨鹿县|