RCP程序的Navigator View中图标丢失解决办法

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

RCP程序的Navigator View中图标丢失解决办法

在XXXWorkbenchAdvisor.java中,处理如下代码:

public void postStartup() {

try{

//setup Navigator View's custom image

IWorkbenchPage activePage = this.getWorkbenchConfigurer().getWorkbench().getActiveWorkbenchWindow().getActivePage();

IViewPart view = activePage.showView("org.eclipse.ui.views.ResourceNavigator");

ResourceNavigator navigator = ((ResourceNavigator)view);

//NavigatorLabelProvider为我们新建立的一个类,具体见下边.

navigator.getViewer().setLabelProvider(new NavigatorLabelProvider());

other codes

....

}catch(Exception e){

//

}

#NavigatorLabelProvider.java

public class NavigatorLabelProvider extends LabelProvider {

public Image getImage(Object element) {

Image image = null;

String text = element.toString();

if (text.startsWith("P/",0)){

image = ImageUtil.getServiceImageDescriptor("project.gif").createImage();

}

if (text.startsWith("L/",0)){

if (text.endsWith(".project")){

image = ImageUtil.getServiceImageDescriptor("dotproject.gif").createImage();

}else{

image = ImageUtil.getServiceImageDescriptor("xxxfile.gif").createImage();

}

}

return image;

}

public String getText(Object element) {

String text = element.toString();

text = text.substring(2,text.length());

int pos = text.indexOf("/");

if (pos == -1){

return text;

}else{

if (text.endsWith(".project")){

return "YourName";

}else{

text = text.substring(pos+1,text.length());

}

}

return text;

}

}

另外,在Navigator View中,有些文件(例如:.project文件不想显示给客户看)

在此,我们可以为eclipse建立filter来处理.主要是在plugin.xml中增加filters

extention.一定要把selected设置为true,否则不能直接filter.

例如:

<!-- hide .project file in Navigator View -->

<extension point="org.eclipse.ui.ide.resourceFilters">

<filter

selected="true"

pattern=".project">

</filter>

</extension>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有