zoukankan      html  css  js  c++  java
  • RCP中采用配置perspectiveExtensions方式配置view的方法介绍(转载)

    在RCP中,view是张贴于perspective之上的。传统的方式是直接在perspective的createInitialLayout方法中按照类似如下的方式添加view并设置布局:
    Java代码 复制代码 收藏代码
    1. public void createInitialLayout(IPageLayout layout) {   
    2.      String editorArea = layout.getEditorArea();   
    3.     layout.setEditorAreaVisible(false);    
    4.     layout.addView(SelectedPsrInfoView.ID, IPageLayout.LEFT,    IPageLayout.RATIO_MAX, IPageLayout.ID_EDITOR_AREA);   
    5. }  

    但是,这样的配置把view就写死在了该perspective上了。我们可以通过perspectiveExtensions扩展点来进行配置。
    假设现在我又两个view 分别是:
    com.client.cki.selectedPsrInfoView和
    com.client.cki.selectedFltInfoView
    那么,如何将这两个view通过perspectiveExtensions的方式配置到指定的某个perspective上呢?看看下面这段plugin.xml的配置文件:
    Xml代码 复制代码 收藏代码
    1.   <extension  
    2.          point="org.eclipse.ui.perspectiveExtensions">  
    3.       <perspectiveExtension  
    4.             targetID="com.client.cki.perspective">  
    5. <!-- 指定两个view要张贴在那个perspective之上,用ID标识该perspective-->  
    6.          <view  
    7.                closeable="false"  
    8.                id="com.client.cki.selectedPsrInfoView"  
    9.                minimized="false"  
    10.                moveable="false"  
    11.                ratio="0.5f"  
    12.                relationship="top"  
    13.                relative="org.eclipse.ui.editorss"  
    14.                showTitle="true"  
    15.                standalone="false"  
    16.                visible="true">  
    17.          </view>  
    18. <!--    
    19. 注意:该段注释不要拷贝到配置文件中   
    20. 第一个view: com.client.cki.selectedPsrInfoView   
    21. closeable="false"表明该view无关闭按钮。   
    22. id="com.client.cki.selectedPsrInfoView"指定view的id   
    23. minimized="false"表明初始时不是最小化状态   
    24. moveable="false"表明在运行中该view不可拖动   
    25. ratio="1f"表明其所占的比例 1f表明占据整个参照空间   
    26. relationship="top"表明位于参照的上方   
    27. relative="org.eclipse.ui.editorss"其参照对象。第一个张贴于perspective上的view其参照对象就是这个。   
    28. 后面几项就不解释了 一看都懂。   
    29. -->  
    30.          <view  
    31.                closeable="false"  
    32.                id="com.client.cki.selectedFltInfoView"  
    33.                minimized="false"  
    34.                moveable="false"  
    35.                relationship="stack"  
    36.                relative="com.client.cki.selectedPsrInfoView"  
    37.                showTitle="true"  
    38.                standalone="false"  
    39.                visible="true">  
    40.          </view>  
    41. <!--    
    42. 注意:该段注释不要拷贝到配置文件中   
    43. 第二个view: com.client.cki.selectedFltInfoView   
    44. closeable="false"表明该view无关闭按钮。   
    45. id="com.client.cki.selectedPsrInfoView"指定view的id   
    46. minimized="false"表明初始时不是最小化状态   
    47. moveable="false"表明在运行中该view不可拖动   
    48. relationship="stack"表明其位置与参照对象在同一个topfolder里面   
    49. 其他参数:left:在参照对象的左边   
    50. right:参照对象的右边   
    51. top:上边   
    52. bottom:下边   
    53. relative="com.client.cki.selectedPsrInfoView"其参照对象。表明该view的参照对象是前一个view   
    54. -->  
    55.       </perspectiveExtension>  
    56.    </extension>  


    将该段代码拷贝至plugin.xml中,就可以完成配置了。
    此时,perspective中就的createInitialLayout方法就非常简单了,基本上什么都不用写。
    Java代码 复制代码 收藏代码
    1. public void createInitialLayout(IPageLayout layout) {   
    2.     layout.setEditorAreaVisible(false);   
    3. }  

    是不是很简单呢?运行一下,看一下效果吧,perspective中有两个view,两个view在一个tabfolder中,其中前一个是selectedPsrInfoView后一个是selectedFltInfoView。

    当然,所有的这些配置都可以在eclipse中plugin.xml的图形化界面完成。看完了这个配置文件,我相信图形化界面大家都会做了。
    希望对没有采用perspectiveExtensions配置过的人能有所帮助。
     
  • 相关阅读:
    HDU1548:A strange lift
    hdu1978_How many ways dfs+记忆化搜索
    HDU1518:Square(DFS)
    HDU ACM 1495 非常可乐(广搜BFS)
    HDU1372:Knight Moves(BFS)
    662_二叉树最大宽度
    590_N叉树的后序遍历
    一直在坚持
    动态链接库DLL的操作顺序
    最近木马的查杀方法/各类杀毒软件的使用
  • 原文地址:https://www.cnblogs.com/wuhenke/p/2242008.html
Copyright © 2011-2022 走看看