Eclipse Action
- Interface IAction
package org.eclipse.jface.action;
import org.eclipse.core.commands.IHandlerAttributes;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.events.HelpListener;
import org.eclipse.swt.widgets.Event;
public interface IAction {
public static int AS_UNSPECIFIED = 0x00;
public static int AS_PUSH_BUTTON = 0x01;
public static int AS_CHECK_BOX = 0x02;
public static int AS_DROP_DOWN_MENU = 0x04;
public static int AS_RADIO_BUTTON = 0x08;
public static final String TEXT = "text";
public static final String ENABLED = "enabled";
public static final String IMAGE = "image";
public static final String TOOL_TIP_TEXT = "toolTipText";
public static final String DESCRIPTION = "description";
public static final String CHECKED = "checked";
public static final String RESULT = "result";
public static final String HANDLED = IHandlerAttributes.ATTRIBUTE_HANDLED;
public void addPropertyChangeListener(IPropertyChangeListener listener);
public int getAccelerator();
public String getActionDefinitionId();
public String getDescription();
public ImageDescriptor getDisabledImageDescriptor();
public HelpListener getHelpListener();
public ImageDescriptor getHoverImageDescriptor();
public String getId();
public ImageDescriptor getImageDescriptor();
public IMenuCreator getMenuCreator();
public int getStyle();
public String getText();
public String getToolTipText();
public boolean isChecked();
public boolean isEnabled();
public boolean isHandled();
public void removePropertyChangeListener(IPropertyChangeListener listener);
public void run();
public void runWithEvent(Event event);
public void setActionDefinitionId(String id);
public void setChecked(boolean checked);
public void setDescription(String text);
public void setDisabledImageDescriptor(ImageDescriptor newImage);
public void setEnabled(boolean enabled);
public void setHelpListener(HelpListener listener);
public void setHoverImageDescriptor(ImageDescriptor newImage);
public void setId(String id);
public void setImageDescriptor(ImageDescriptor newImage);
public void setMenuCreator(IMenuCreator creator);
public void setText(String text);
public void setToolTipText(String text);
public void setAccelerator(int keycode);
}IAction
- IPageService
public interface IPageService {
public void addPageListener(IPageListener listener);
public void addPerspectiveListener(IPerspectiveListener listener);
public IWorkbenchPage getActivePage();
public void removePageListener(IPageListener listener);
public void removePerspectiveListener(IPerspectiveListener listener);
}- IRunnableContext
public interface IRunnableContext {
public void run(boolean fork, boolean cancelable,
IRunnableWithProgress runnable) throws InvocationTargetException,
InterruptedException;
}- IServiceLocator
public interface IServiceLocator {
public Object getService(Class api);
public boolean hasService(Class api);
}- IShellProvider
public interface IShellProvider {
Shell getShell();
}- IWorkbenchWindow:A workbench window is a top level window in a workbench. Visually, a workbench window has a menubar, a toolbar, a status bar, and a main area for displaying a single page consisting of a collection of views and editors. Each workbench window has a collection of 0 or more pages; the active page is the one that is being presented to the end user; at most one page is active in a window at a time. Same as Activity???
public interface IWorkbenchWindow extends IPageService,
IRunnableContext,
IServiceLocator,
IShellProvider
{
public boolean close();
public IWorkbenchPage getActivePage();
public IWorkbenchPage[] getPages();
public IPartService getPartService();
public ISelectionService getSelectionService();
public Shell getShell();
public IWorkbench getWorkbench();
public boolean isApplicationMenu(String menuId);
public IWorkbenchPage openPage(String perspectiveId, IAdaptable input)
throws WorkbenchException;
public IWorkbenchPage openPage(IAdaptable input) throws WorkbenchException;
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException;
public void setActivePage(IWorkbenchPage page);
public IExtensionTracker getExtensionTracker();
}- Interface IActionDelegate
package org.eclipse.ui;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection; public interface IActionDelegate {
public void run(IAction action);
public void selectionChanged(IAction action, ISelection selection);
}- IWorkbenchWindowActionDelegate
package org.eclipse.ui; import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.IWorkbenchWindow; public interface IWorkbenchWindowActionDelegate extends IActionDelegate {
public void dispose();
public void init(IWorkbenchWindow window);
}- HelloAction
package com.dragon.contribution.hello.actions; import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.jface.dialogs.MessageDialog; public class HelloAction implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window; public HelloAction() {
}
public void run(IAction action) { //implementation when clicking menu or button in tools button
MessageDialog.openInformation(
window.getShell(),
"Hello",
"Hello, Eclipse world");
}
public void selectionChanged(IAction action, ISelection selection) {
}
public void dispose() {
}
public void init(IWorkbenchWindow window) { //called by Eclipse core and pass window object created by runtime kernel
this.window = window;
}
}
Eclipse Action的更多相关文章
- eclipse使用struts2找不到action方法或找不到action的错误记录
在确认web.xml已经配置, 配置好struts.xml , 代码没有报错, jar包没有问题, 服务器也没有问题, 代码逻辑没有问题, 关键字方法名action都没有写错, 可以运行旧的相同的代码 ...
- eclipse中配置struts2出现There is no Action mapped for namespace [/] and action name [Login] associated wi
下午在eclipse中配置struts2时报: There is no Action mapped for namespace [/] and action name [Login] associat ...
- eclipse使用SSH框架出现There is no Action mapped for namespace [/] and action name [] associated with context path错误
eclipse使用SSH框架出现There is no Action mapped for namespace [/] and action name [] associated with conte ...
- The command ("dfs.browser.action.delete") is undefined 解决Hadoop Eclipse插件报错
Hadoop Eclipse插件 报错. 使用 hadoop-eclipse-kepler-plugin-2.2.0.jar 如下所示 Error Log 强迫症看了 受不了 The command ...
- 【原】eclipse save action设置文件保存时自动格式化
学了一段java了,发现其实eclipse有很多实用小功能,能够让你编码的时候快捷方便,如果你苦于一些你常用到的功能无法自动实现,那么你可以上网查一下,就会发现其实eclipse已经给你提供了便捷之路 ...
- Eclipse groovy in action
Eclipse :Version: Juno Service Release 2GrEclipse plugins:http://dist.springsource.org/release/GRECL ...
- Eclipse 刚检出的项目 Build path 的时候提示 No action available
问题: 从SVN检出来的项目发现无法进行build path,也不报错,任何类之间也无法关联(Ctrl+右键无法点进去). 原因: .classpath是Eclipse的工程文件,别人没有将工程的信息 ...
- C#跨平台手机应用开发工具Xamarin尝试 与Eclipse简单对比
Xamarin 支持使用C#开发基于Android.IOS.WindowsPhone应用开发,最大特点C#+跨平台,详细说明问度娘. 安装 研究 想体验研究的点击查看页面 Xamarin For Vi ...
- eclipse运行没问题,tomcat以脚本启动后插入数据库的中文会乱码
记一次部署工程的时候遇到的问题 部署war包到win7的时候发现,布上去后插入数据库的中文会乱码,然后发现用eclipse运行源码没问题,一开始以为是war打出来的时候编码错误,然后将eclipse的 ...
随机推荐
- 老男孩Day5作业:电子银行购物商城
1.作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 支持多账户登录支持账户间转账 记录每月日常消 ...
- C语言数据结构-链式栈的实现-初始化、销毁、长度、取栈顶元素、查找、入栈、出栈、显示操作
1.数据结构-链式栈的实现-C语言 //链式栈的链式结构 typedef struct StackNode { int data; struct StackNode *next; } StackNod ...
- 字符串格式化str.format
一.字符串格式化之str.format 1.位置参数:用{0},{1},{2}表示位置 v1 = '{1},{0},{1}'.format('a','b') #输出b,a,b 2.关键词参数:用{na ...
- Java基础笔记(十七)——继承(续)final
final 最终的 修饰类,此类不能被继承.final与访问修饰符public位置随意,在class前即可.public final class A{ } 修饰方法,此方法不能被子类重写,但可以被子 ...
- 奇妙的 CSS几何图形
三角形:通常会使用透明的border模拟出一个三角形:▲ .traingle { width:; height:; border-left: 50px solid transparent; borde ...
- C# repeater控件序号绑定
做项目列表经常会需要列表有一个序号列,根据控件自身的属性就可以很方便的实现这个功能,如下图 这个不能用翻页功能,如果翻页重新刷新控件的话,序号会又重新开始!
- 数据分析之Anaconda安装
Anaconda概述 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切 ...
- 衡量DevOps成功的15个标准
DevOps在你的组织中运行的如何?如果你需要帮忙衡量它运行的如何,我们准备了一些DevOps的关键指标来进行追踪.这些指标可以帮助理解你的团队过去做的如何. 定义DevOps对你的组织意味着什么 D ...
- my10_使用binlog2sql闪回DML操作
下载git clone https://github.com/danfengcao/binlog2sql.git 原理使用python连接到指定的库,读取要恢复表的表结构和对应的binlog日志,在b ...
- js网页瀑布流布局
瀑布流布局思路: 1.css样式,图片的父级div样式设置为定位或者浮动 2.找出图片父级元素(box)和最外元素(main):获取box的宽度和main的宽,然后计算main容器一行能容纳多少个bo ...