posts - 20, comments - 16, trackbacks - 0, articles - 0
          兩條路:
          1.
          IStructuredSelection structureSel = (IStructuredSelection) event
                          .getSelection();
          SourceManipulation source 
          = (SourceManipulation) structureSel
                          .getFirstElement();
          source.toString();
          //獲得當(dāng)前所選的元素名
          source.getParent().toString();//得到c文件名
          source.getParent().getParent().getCProject().getProject().getLocation();//得到項(xiàng)目路徑

          用以上代碼,然后可以得到source,也就是所選的東西的代碼級(jí)層次,例如所選的為“方法”,則source類型為Function,如果所選為聲明的“頭文件”,則source類型為Include,可以使用source公共的方法獲取當(dāng)前所選元素的很多信息,例如名字。也可以調(diào)用getParent()方法在層次之間游走,獲取到豐富的信息,例如該“方法”所屬文件名,項(xiàng)目名,路徑,等等。

          2.
          TreeViewer tv = (TreeViewer) event.getSource();
          tv.getInput();
          //得到當(dāng)前TreeViewer的數(shù)據(jù)輸入,例如文件名
          tv.getSelection();//得到當(dāng)前所選元素,例如所選方法list

          用event.getSource(),可以獲取到產(chǎn)生事件的控件,需要進(jìn)行類型轉(zhuǎn)換,然后就可以直接操作控件了。


          主站蜘蛛池模板: 乌拉特中旗| 石河子市| 瑞安市| 额济纳旗| 赤城县| 屏东县| 青田县| 德保县| 米脂县| 宁海县| 黑龙江省| 万盛区| 崇阳县| 布拖县| 峨山| 隆回县| 德安县| 修水县| 北辰区| 金华市| 呼伦贝尔市| 巢湖市| 南皮县| 都匀市| 奉新县| 二连浩特市| 武乡县| 武定县| 九台市| 博乐市| 望城县| 镶黄旗| 剑阁县| 城步| 柘城县| 柞水县| 乳源| 靖州| 墨玉县| 扬州市| 鞍山市|