在view关闭时执行某些操作

2008-02-23 09:20:51来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1.判断这个view当前是否为active的好方法:

private boolean isActivePart() {
IWorkbenchPart part= getActivePart();
return part != null && part.equals(this);
}
2.自己的rcp程序里有多个view,它们之间是有联系的,如果关掉其中一个view时,
要做些事,怎么知道它是什么时候关掉的呢?我在rcp的新闻组上找到了答案:

关掉Editor或Viewer时调用自己逻辑的方法:

1)如果是editor,那么让它实现org.Eclipse.ui.ISaveablePart2接口.

2)如果是view,在view class里面加上下面这个方法,并且调用它,比如:
在ViewPart#init()里面:
private void initPartListener() {
getSite().getPage().addPartListener(new IPartListener() {

public void partOpened(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partDeactivated(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partClosed(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partBroughtToTop(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partActivated(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:大概弄懂了Java Mail的使用方法

下一篇:RCP里响应资源改变以及操作资源