posts - 20, comments - 16, trackbacks - 0, articles - 0

          導航

          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          當嘗試獲取outline視圖的當前選擇項,或左邊Package Explorer的當前選擇項的各種信息時,需要先查找視圖,找到該視圖后,調用getSelection()得到當前選擇項,然后馬上轉換為IStructuredSelection,以后的操作就是統一的了,因為有IStructuredSelection接口
          如果是在action中遇到這種需求,就將event調用getSelection(),然后轉換為IStructuredSelection,后續操作相同。

          代碼如下:

          IViewPart viewPart = AuditPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("org.eclipse.ui.navigator.ProjectExplorer");
                  StructuredSelection sl 
          = (StructuredSelection) viewPart.getSite().getSelectionProvider().getSelection();
          Object obj 
          = sl.getFirstElement();

          這一段是用在action里面,通過尋找視圖來得到選擇項的。注意獲取視圖的方法。其中的AuditPlugin是建立插件的時候系統幫我們建立的activator class,用它來控制插件的生命周期。


          當在由event觸發的事件處理代碼中時,可以這樣做:

          IStructuredSelection structureSel = (IStructuredSelection) event.getSelection();

          當我們在一些控件中是,就方便多了,例如在TableViewer中:

          ISelection selection = viewer.getSelection();
                          Object obj 
          = ((IStructuredSelection) selection)
                                  .getFirstElement();

          好了,大概就是這樣。
          主站蜘蛛池模板: 通道| 綦江县| 灌云县| 南宁市| 武穴市| 澜沧| 池州市| 南溪县| 台江县| 木兰县| 滕州市| 余干县| 河池市| 原阳县| 濮阳市| 嘉定区| 鄂托克旗| 贵溪市| 巫溪县| 莱阳市| 赤城县| 彰化市| 灵川县| 扎鲁特旗| 任丘市| 武定县| 九台市| 平乐县| 西藏| 枣庄市| 织金县| 南通市| 云南省| 赤城县| 屏南县| 孟州市| 嘉鱼县| 保康县| 鹤庆县| 贵州省| 永川市|