eclipse_RCP添加视图
来源:互联网 发布:西安数据恢复公司 编辑:程序博客网 时间:2024/06/07 12:59
源文件:http://blog.csdn.net/lyq19870515/article/details/9346921
想要在RCP里添加视图 那就必须先建立视图:
- package com.view;
- import org.eclipse.jface.action.IMenuManager;
- import org.eclipse.jface.action.IToolBarManager;
- import org.eclipse.swt.SWT;
- import org.eclipse.swt.layout.FillLayout;
- import org.eclipse.swt.widgets.Composite;
- import org.eclipse.swt.widgets.Tree;
- import org.eclipse.swt.widgets.TreeItem;
- import org.eclipse.ui.part.ViewPart;
- public class TreeView extends ViewPart {
- public static final String ID = "view.TreeView"; //$NON-NLS-1$
- public TreeView() {
- }
- /**
- * Create contents of the view part.
- * @param parent
- */
- @Override
- public void createPartControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NONE);
- container.setLayout(new FillLayout(SWT.HORIZONTAL));
- {
- Tree tree = new Tree(container, SWT.BORDER);
- TreeItem item = new TreeItem(tree, SWT.NONE);
- item.setText("测试");
- }
- createActions();
- initializeToolBar();
- initializeMenu();
- }
- /**
- * Create the actions.
- */
- private void createActions() {
- // Create the actions
- }
- /**
- * Initialize the toolbar.
- */
- private void initializeToolBar() {
- IToolBarManager toolbarManager = getViewSite().getActionBars().getToolBarManager();
- }
- /**
- * Initialize the menu.
- */
- private void initializeMenu() {
- IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
- }
- @Override
- public void setFocus() {
- // Set the focus
- }
- }
之后在plugin.xml里面添加:
- <extension
- point="org.eclipse.ui.views">
- <view
- class="com.view.TreeView"
- id="view.TreeView"
- name="New ViewPart">
- </view>
- </extension>
最后在Perspective.java文件里添加:
- import org.eclipse.ui.IPageLayout;
- import org.eclipse.ui.IPerspectiveFactory;
- import com.userdatamanager.view.TreeView;
- public class Perspective implements IPerspectiveFactory {
- public void createInitialLayout(IPageLayout layout) {
- String editorArea = layout.getEditorArea();
- //添加树视图
- layout.addView(TreeView.ID, IPageLayout.LEFT, 0.2f, editorArea);
- }
- }
添加成功的多个视图:
如果在其他地方获取View并打开View:
- //获取视图.此处传入的是视图ID.并不是包路径
- IViewPart part = (IViewPart)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView("com.test.views.TestView");
- MyView view = (MyView)part;
- view.printHello();
- //打开视图.
- try {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("com.test.views.TestView");
- } catch (PartInitException e) {
- e.printStackTrace();
- }
0 0
- eclipse_RCP添加视图
- eclipse_RCP添加视图
- 给视图添加阴影
- 给视图添加控件
- 给视图添加阴影
- 添加警报视图UIAlertView
- ORACLE视图添加备注
- 添加一个视图
- 列表视图添加背景
- 03、添加一个视图
- 对话框中添加视图
- Xcode从零开始添加视图
- 给视图添加控件
- Android动态添加视图
- 表视图添加数据
- 在windows添加视图
- 视图添加badge
- UIWebView添加头部视图
- Educational Codeforces Round 1C. Nearest vectors(极角排序+long double 精度)
- ec:table ; ec:column组件
- Heap应用
- Eclipse中支持js提示
- 小白如何拿到offer
- eclipse_RCP添加视图
- 初识sip
- DOCKER笔记(1)
- iOS中GIF的制作的简单版本记录 详解
- struts入门
- LEETCODE--Count Primes
- for循环的魅力-PHP(for函数比while函数更高效)
- TinyOS的个人见解3‘之认识平台
- LeetCode:Compare Version Numbers