大梦想家

5年开发工程师,2年实施经理,X年售前顾问,......
数据加载中……
如何在ViewPart上添加ViewToolBar

ViewToolBar其实就是Actions。在ViewPart上添加Action其实是非常简单的(如果用SWT Design的话)。其实就是几行代码的事情:

1public void createPartControl(Composite parent) {
               //SWT Design在生成代码的时下面两句可能会颠倒,我也不知道为什么,至少我的是位置颠倒了。运行起来总报错!
2        createActions();
3        initializeToolBar();
4}
先产生Action,在把Action加入到toolBarManager上:
 1    private void initializeToolBar() {
 2        IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();//取得此View的toolBarManager
 3
 4        toolBarManager.add(partManageAction);
 5
 6        toolBarManager.add(setupCraftworkManage);
 7
 8        toolBarManager.add(baseBOMManage);
 9
10        toolBarManager.add(standardProductManage);
11    }

下面是来自鬼子站的资料,用的都是SWT design做的~有钱啊!
Wizards - RCP - ViewPart

Subclasses of the Eclipse RCP ViewPart class can be created using the RCP ViewPart wizard. The wizard can be selected from the drop down Designer wizard menu or from the Eclipse New wizard.

To use the wizard, select the project source folder and package to contain the class. Then enter the class name and view name and hit the Finish button.

 

The wizard generates the following code.

import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;

public static final String ID = "sample.rcp.EclipseViewPartTest";

public class EclipseViewPartTest extends ViewPart {
    public void createPartControl(Composite parent) {
        Composite container = new Composite(parent, SWT.NONE);
        createActions();
        initializeToolBar();
        initializeMenu();
    }
    private void createActions() {
    }
    private void initializeToolBar() {
        IToolBarManager tbm =
            getViewSite().getActionBars().getToolBarManager();
    }
    private void initializeMenu() {
        IMenuManager manager =
           getViewSite().getActionBars().getMenuManager();
    }
    public void setFocus() {
    }
}

If the ViewPart is created in an existing plugin project, the plugin.xml file is also updated with the appropriate view declaration.

When editing ViewParts, Designer presents two tabs in the design area, one for laying out the contents of the view (using any widgets or layout managersr) and a second for defining actions and assigning them to the view's toolbar and menu.

On the Actions tab, the first column, Actions, is used to define new actions (which are created as inner classes of the current class). New actions may be created using the Add button (plus icon) above the column, existing actions may be added using the Open button (folder icon),  and existing actions may be deleted using the Delete button (minus) icon. Selecting an action allows you to edit its icons, label and tool tip text within the property pane. 

The second column, Toolbar, is used to define the contents of the view's toolbar. Actions and separators may be dragged from the Actions column and dropped in the Toolbar column. Toolbar actions may be rearranged using the Move Up and Move Down buttons and deleted using the Delete button above the column. The order of individual items may also be rearranged via drag and drop.

The third column, Menu, is used to define the contents of the view's menu. Actions, separators and menu managers may be dragged from the Actions column and dropped in the Menu column. Menus may be expanded and collapse using the Expand All and Collapse All buttons and deleted using the Delete button above the column. The order of individual items may also be rearranged via drag and drop.

When the ViewPart itself is selected in the property pane, its icon, category and title may be edited. New categories may also be created.

  



客户虐我千百遍,我待客户如初恋!

posted on 2007-05-15 17:58 阿南 阅读(2630) 评论(5)  编辑  收藏 所属分类: Eclipse-RCP

评论

# re: 如何在ViewPart上添加ViewToolBar[未登录] 2007-05-16 11:50 笨笨

用扩展点
org.ecipse.ui.viewactions
会更好一些
  回复  更多评论    

# re: 如何在ViewPart上添加ViewToolBar 2007-05-16 14:59 阿南

@笨笨
用扩展点没有办法控制权限啊~
  回复  更多评论    

# re: 如何在ViewPart上添加ViewToolBar[未登录] 2007-05-17 09:13 笨笨

完全可以在代码中控制权限
比如IViewActionDelegate中的init方法,selectionChanged方法

再比如说你可以通过org.eclipse.ui.IActionFilter可控制Action的权限,方法很多的。

因为是在单机上运行,甚至可以通过systemProperty属性来控制,都是可以的!
  回复  更多评论    

# re: 如何在ViewPart上添加ViewToolBar 2007-05-17 15:41 阿南

感谢提醒,学习中~
  回复  更多评论    

# re: 如何在ViewPart上添加ViewToolBar 2015-01-30 15:45 suren

请问toolbar中的按钮,怎么才能弄到选项卡那一行上
  回复  更多评论    

只有注册用户登录后才能发表评论。


网站导航: