`

eclipse 透视图切换监听 和 视图激活监听

阅读更多
<extension
         point="org.eclipse.ui.startup">
      <startup
            class="PerspectiveListener">
      </startup>
   </extension>

import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IPartListener;
import org.eclipse.ui.IPerspectiveDescriptor;
import org.eclipse.ui.IPerspectiveListener;
import org.eclipse.ui.IStartup;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.ide.IDE;


import com.noah.smt.perspective.SmtPerspectiveFactory;

public class PerspectiveListener implements IPerspectiveListener,
IPartListener, IStartup {
private static final Logger log = Logger
.getLogger(PerspectiveListener.class.getName());

@Override
public void earlyStartup() {
Display.getDefault().asyncExec(new Runnable() {

public void run() {
try {
PerspectiveListener listener=new PerspectiveListener();
PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getActivePage().addPartListener(
listener);
PlatformUI.getWorkbench().getActiveWorkbenchWindow().addPerspectiveListener(listener);
} catch (Exception e) {
log.log(Level.ALL, e.getMessage());
}
}

});

}

@Override
public void partActivated(IWorkbenchPart part) {
refresh(part);

}

private void refresh(IWorkbenchPart part) {

}

@Override
public void partBroughtToTop(IWorkbenchPart part) {


}

@Override
public void partClosed(IWorkbenchPart part) {


}

@Override
public void partDeactivated(IWorkbenchPart part) {


}

@Override
public void partOpened(IWorkbenchPart part) {


}

@Override
public void perspectiveActivated(IWorkbenchPage page,
IPerspectiveDescriptor perspective) {
if(perspective.getId().equals(SmtPerspectiveFactory.ID)){

}
System.out.println("perspective " + perspective.getId());
}

@Override
public void perspectiveChanged(IWorkbenchPage page,
IPerspectiveDescriptor perspective, String changeId) {
System.out.println("changeId " + changeId);

}

}
分享到:
评论

相关推荐

    eclipse 获得透视图切换事件

    在Eclipse这样的集成开发环境中(IDE),透视图(Perspective)是组织工作空间的重要方式,它定义了不同类型的编辑器、视图和控制台的布局,以适应不同的开发任务。例如,Java开发者可能会使用Java透视图,而数据库...

    Eclipse插件开发之入门和进阶

    5. 透视图(Perspective):透视图是工作台的一个组织方式,它定义了视图和编辑器的布局,可以根据不同的工作场景切换不同的透视图。 6. 导航模型(Navigator Model):插件可以扩展导航模型,添加自定义节点,使...

    Eclipse开发技术详解 源码

    源码包含了Eclipse的插件系统、工作台(Workbench)、透视图(Perspective)、视图(View)以及各种服务的实现,这些都是构建Eclipse核心功能的基础。 1. **插件系统**:Eclipse的核心在于其插件机制,所有功能都是...

    Eclipse源代码分析部分

    此外,`IWorkbench`接口还提供了创建、打开和切换透视图、保存所有编辑器、获取和管理装饰器、帮助系统、浏览器支持以及工作台扩展跟踪等功能。这使得开发者能够根据需求自定义Eclipse的界面和功能,以适应各种开发...

    eclipse api

    4. **透视图(Perspective)**:透视图是Eclipse中组织视图和编辑器的方式。开发者可以通过API自定义透视图,以适应不同的开发任务。 5. **编辑器(Editor)**:Eclipse允许创建可嵌入到工作台的自定义编辑器,如...

    Eclipse插件开发系列

    2. 视图和透视图:视图(View)是Eclipse界面中的窗口,可以展示数据或提供操作。透视图(Perspective)则是一组视图的组合,定义了特定的工作环境。通过实现`IViewPart`和`IPerspectiveDescriptor`接口,可以自定义...

    eclipse rcp应用系统开发方法与实战源代码.zip

    开发者要学会如何创建和管理透视图,以及在透视图中添加视图和编辑器。 4. **视图和编辑器**:视图提供信息展示,编辑器则用于数据编辑。学习如何创建自定义视图和编辑器,以及它们之间的交互,是Eclipse RCP开发的...

    eclipse使用简介和插件开发

    3. **编写代码**:通常使用Java编写插件的实现逻辑,可以创建视图、编辑器、透视图、命令、快捷键等。 4. **测试与调试**:利用Eclipse的运行配置,可以以插件开发模式启动Eclipse,实时查看插件效果。 5. **发布...

    eclipse插件开发指南

    Eclipse插件的UI设计通常涉及视图(View)、编辑器(Editor)和透视图(Perspective)。视图是用户界面中的一个区域,用于显示数据或提供操作;编辑器则是用于编辑文件或数据的组件;透视图则可以组织视图和编辑器,...

    Eclipse从入门到精通+API

    首先,你需要了解Eclipse的基本界面,包括工作区、透视图、视图和编辑器。工作区是Eclipse存储项目的地方,而透视图可以根据不同的开发任务组织视图和编辑器。例如,Java透视图会显示源代码编辑器、包浏览器和问题...

    eclipse rcp

    它们可以在透视图中打开和关闭,例如“项目”视图用于查看工程结构,而“问题”视图则显示编译错误和警告。 4. **Editor**:编辑器是用于编辑文件或数据的组件,如代码编辑器用于编写Java源码。Eclipse RCP支持...

    图书:Eclipse 富客户端平台 - 第二版

    1. **Eclipse RCP基础知识**:介绍Eclipse RCP的概念、架构和核心组件,包括工作台(Workbench)、视图(Views)、编辑器(Editors)、透视图(Perspectives)等基本元素。 2. **插件开发**:讲解如何创建、配置和...

    《eclipse插件开发》配套代码

    RCP提供了诸如窗口、视图、编辑器、透视图等组件,以及事件处理和依赖注入等机制,帮助开发者快速构建用户界面和业务逻辑。 GEF则是一个用于创建图形化编辑器的框架,特别适用于构建可视化建模工具。它提供了基本的...

    Eclipse Form开发实例代码

    开发者需要了解Eclipse插件开发的基本概念,如`plugin.xml`配置、扩展点、透视图和视图的创建。 9. **调试和测试**:Eclipse提供了强大的插件开发和调试工具,如PDE(Plug-in Development Environment),开发者...

    Practical Eclipse Rich Client Platform Projects 2009

    2. **工作台(Workbench)管理**:讲解如何创建和管理Eclipse RCP中的工作台,包括视图(View)、编辑器(Editor)、透视图(Perspective)等核心组件的创建与配置。 3. **模型-视图-控制器(MVC)模式**:阐述MVC...

    eclipse swt/jface核心应用

    8. **透视图和工作台**:Eclipse的工作台(Workbench)是整个应用程序的核心,它管理和协调视图、编辑器、透视图等元素。 9. **事件和服务**:Eclipse的事件和服务系统使得各组件间能进行通信,如IEventBroker服务...

    RCP Plug-in开发自学教程(中国Eclipse社区首发)

    其核心概念包括工作台(Workbench)、透视图(Perspective)、视图(View)、编辑器(Editor)和操作(Action)。工作台管理着应用程序的布局和交互,透视图允许用户自定义工作区,视图则展示数据或功能,编辑器用于...

    activiti -eclipse 5.18插件

    完成后,启动Eclipse,你就能在“透视图”或“视图”菜单中看到Activiti的相关选项,从而开始使用这个强大的工具。 总的来说,Activiti - Eclipse 5.18插件为开发者提供了一个无缝集成的工作流开发环境,提高了工作...

    Eclipse Rich Client Platform Designing Coding 源码

    3. **视图和编辑器**:实现自定义视图和编辑器,了解IViewPart和IEditorPart接口,以及如何在透视图中注册和显示这些组件。 4. **命令和 Handler**:Eclipse RCP使用命令架构来处理用户操作,源码会展示如何定义、...

    eclipse 插件开发

    创建自定义视图、透视图、编辑器和命令是Eclipse插件开发中的常见任务。视图是显示特定信息的窗口小部件,透视图是组织多个视图的方式,编辑器则用于处理特定类型的文件。命令则构成了Eclipse用户界面中的操作。 ...

Global site tag (gtag.js) - Google Analytics