Perspective切换
来源:互联网 发布:javascript div 编辑:程序博客网 时间:2024/05/16 07:05
对于Perspective的设置,网络上有很多教程。具体参考百度,谷歌。
对于新建项目,要增加系统自带的透视图Menu。代码如下:
对于新建项目,要增加系统自带的透视图Menu。代码如下:
public class ApplicationActionBarAdvisor extends ActionBarAdvisor {/** 自定义切换视图 */private SwitchPerspectiveAction changeProspect;/** 系统自带的切换视图菜单 */private IContributionItem perspectivesMenu;/** 系统自带打开透视图Action */private IWorkbenchAction perspectiveAction;public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {super(configurer);}@Overrideprotected void makeActions(IWorkbenchWindow window) {/** 实例 化并注册 */changeProspect = new SwitchPerspectiveAction(window,"testRcp.myperspective");register(changeProspect);/** PERSPECTIVES_SHORTLIST无须注册 */perspectivesMenu = ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(window);perspectiveAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG.create(window);register(perspectiveAction);}@Overrideprotected void fillMenuBar(IMenuManager menuBar) {MenuManager userChange = new MenuManager("自定义切换视图(&N)");userChange.add(changeProspect);menuBar.add(userChange);MenuManager syslayoutChange = new MenuManager("系统切换视图(&T)");syslayoutChange.add(perspectivesMenu);syslayoutChange.add(perspectiveAction);menuBar.add(syslayoutChange);}}
切换视图,利用自定义的Action进行透视图切换时,要注意,切换时,要将当前的透视图关闭。否则无法切换。
得到图片:
setImageDescriptor(Activator.getDefault().getImageDescriptor("icons/new_wiz.gif"));
得到透视图:
org.eclipse.ui.IPerspectiveDescriptor[] des=PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
PlatformUI.getWorkbench().getPerspectiveRegistry().revertPerspective(des[0]);
/** 获得当前激活的透视图的id */
String m_id=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
.getPerspective().getId();
package com.action;import org.eclipse.jface.action.Action;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.ui.IPerspectiveDescriptor;import org.eclipse.ui.IWorkbench;import org.eclipse.ui.IWorkbenchWindow;import org.eclipse.ui.PlatformUI;import org.eclipse.ui.WorkbenchException;import org.eclipse.ui.actions.ActionFactory;/** * @author: Administrator * @Description: 描述该类的作用 */public class SwitchPerspectiveAction extends Action {private final IWorkbenchWindow window;private String id;private IPerspectiveDescriptor desc;public SwitchPerspectiveAction(IWorkbenchWindow window, String id) {this.window = window;this.id = id;desc = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(id);if (desc != null) {setText(desc.getLabel());setImageDescriptor(desc.getImageDescriptor());}setId("com.action.switchPerspectiveAction");}public void run() {/** 获得当前激活的透视图的id */String m_id=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective().getId();/** 关闭当前透视图 */IWorkbench w = PlatformUI.getWorkbench();ActionFactory.IWorkbenchAction closePerspectiveAction = ActionFactory.CLOSE_PERSPECTIVE.create(w.getActiveWorkbenchWindow());closePerspectiveAction.run();if(m_id.equals("testRcp.perspective")){id="testRcp.myperspective";}try {/** 打开新的透视图 */PlatformUI.getWorkbench().showPerspective(id, window);} catch (WorkbenchException e) {MessageDialog.openError(window.getShell(), "Error","Error opening perspective:" + e.getMessage());}}}
/** 关闭当前透视图 */IWorkbench w = PlatformUI.getWorkbench();ActionFactory.IWorkbenchAction closePerspectiveAction = ActionFactory.CLOSE_PERSPECTIVE.create(w.getActiveWorkbenchWindow());closePerspectiveAction.run();
整个工程下载点我
- Perspective切换
- eclipse Perspective 切换提示
- RCP中透视图Perspective切换
- Perspective
- Perspective
- perspective
- perspective
- perspective和perspective-origin
- 删除Perspective
- Overrall Perspective
- transform perspective顺序问题,perspective需要在前面
- CSS3D之 perspective、perspective-origin属性
- Trackbacks: The .Text Perspective
- Some Perspective Management Techniques
- Introduction To Perspective Projection
- silverlight:Perspective Transforms
- SGU 326. Perspective //MAXFLOW
- SGU 326 Perspective
- route命令
- (9)IP选路
- JBOSS远程代码执行漏洞
- 数据库:表和字段的设计
- ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别 [转]
- Perspective切换
- XCode 链接错误的处理
- Java
- Linux C语言操作SQLite数据库
- Typedef 用法总结
- 图像处理:基础(模板、卷积运算)
- viewDidUnload、didReceiveMemoryWarning、dealloc
- 基于TR101-290标准的TS码流三级检测
- 汇编学习之中断问题