Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » ComboViewer - cannot show icons of selections
ComboViewer - cannot show icons of selections [message #1261101] Sun, 02 March 2014 07:09
David Lee is currently offline David Lee
Messages: 26
Registered: May 2013
Junior Member
I tried showing images in TableViewer and TreeViewer by using getImage() like function in LabelProvider, all works very well!

I'd like to implement a Combo with flags/languages just like the picture in "Shadows" paragraph of http://www.eclipse.org/rap/noteworthy/1.4/ ,I tried ComboViewer, the getText() of LabelProvider works well, but the getImage() does not work at all, it cannot show the flag icons! the code is as below, can someone please let me know how to do that?! Thank you!

// where compComboViewer is a Composite container
final Image flagAmerica = SysIcon.loadImage("icon/America.png");
final Image flagChina = SysIcon.loadImage("icon/Canada.png");

// to test if 16x16 icon flagAmerica works, and the answer is YES
Label label = new Label(compComboViewer, SWT.NONE);
label.setImage(flagAmerica);

final ComboViewer cboLocale = new ComboViewer(compComboViewer, SWT.READ_ONLY);
cboLocale.setContentProvider(ArrayContentProvider.getInstance());
cboLocale.setLabelProvider(new LabelProvider() {
@Override
public String getText(Object element) {
Country country = (Country) element;
return country.getCountryName();
}
@Override
public Image getImage(Object element) {
Image imgFlag = null;
Country country = (Country) element;
switch ( country.getCountryName() ) {
case "America":
imgFlag = flagAmerica;
break;
case "Canada":
imgFlag = flagCanada;
break;
}
return imgFlag;
}
});
Country[] countries = new Country[]{ new Country("America"), new Country("Canada") };
cboLocale.setInput(countries);

private class Country {
private String countryName;
public Country(String countryName) {
this.countryName = countryName;
}
public String getCountryName() { return this.countryName; }
public void setCountryName(String countryName) { this.countryName = countryName; }
}
Previous Topic:ComboViewer - selections cannot show icons
Next Topic:Workbench not working properly with Firefox
Goto Forum:
  


Current Time: Sat Sep 20 12:01:03 GMT 2014

Powered by FUDForum. Page generated in 0.02177 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software