blob: 2a72bf2f3a2c3503bb32327eaf0dffa1eb2ece5e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 BSI Business Systems Integration AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* BSI Business Systems Integration AG - initial API and implementation
******************************************************************************/
package org.eclipse.scout.nls.sdk.simple.ui.dialog.language;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import org.eclipse.scout.nls.sdk.internal.NlsCore;
import org.eclipse.scout.nls.sdk.internal.ui.smartfield.ISmartFieldModel;
import org.eclipse.swt.graphics.Image;
public class LanguageSmartFieldModel implements ISmartFieldModel {
private Locale[] m_locales;
public LanguageSmartFieldModel() {
ArrayList<Locale> locs = new ArrayList<Locale>();
for (String isoLang : Locale.getISOLanguages()) {
locs.add(new Locale(isoLang));
}
m_locales = locs.toArray(new Locale[locs.size()]);
}
@Override
public Image getImage(Object item) {
return NlsCore.getImage(NlsCore.ICON_COMMENT);
}
@Override
public List<Object> getProposals(String pattern) {
List<Object> props = new LinkedList<Object>();
for (Locale l : m_locales) {
if (l.getDisplayLanguage().toLowerCase().startsWith(pattern.toLowerCase())) {
props.add(l);
}
}
return props;
}
@Override
public String getText(Object item) {
if (item == null) {
return "";
}
Locale l = (Locale) item;
return l.getDisplayLanguage() + " (" + l.getLanguage() + ")";
}
public void itemSelected(Object item) {
}
}