1765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/******************************************************************************* 2765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Copyright (c) 2011 Google, Inc. 3765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * All rights reserved. This program and the accompanying materials 4765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * are made available under the terms of the Eclipse Public License v1.0 5765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * which accompanies this distribution, and is available at 6765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * http://www.eclipse.org/legal/epl-v10.html 7765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 8765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Contributors: 9765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Google, Inc. - initial API and implementation 10765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *******************************************************************************/ 11765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepackage org.eclipse.wb.internal.core.model.property.editor; 12765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 13765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.wb.internal.core.model.property.Property; 14765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 15765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport java.util.Locale; 16765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 17765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/** 18765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * {@link PropertyEditor} for {@link Locale}. 19765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 20765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @author sablin_aa 21765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @coverage core.model.property.editor 22765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 23765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepublic final class LocalePropertyEditor extends TextDialogPropertyEditor { 24765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 25765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 26765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Instance 27765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 28765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 29765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public static final PropertyEditor INSTANCE = new LocalePropertyEditor(); 30765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 31765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private LocalePropertyEditor() { 32765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 33765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 34765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 35765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 36765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Presentation 37765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 38765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 39765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye @Override 40765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye protected String getText(Property property) throws Exception { 41765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Object value = property.getValue(); 42765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye if (value instanceof Locale) { 43765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return ((Locale) value).getDisplayName(); 44765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 45765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // unknown value 46765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return null; 47765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 48765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 49765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 50765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 51765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Editing 52765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 53765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 54765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye @Override 55765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye protected void openDialog(Property property) throws Exception { 56765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Object value = property.getValue(); 57765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// ChooseLocaleDialog localeDialog; 58765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// if (value instanceof Locale) { 59765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// localeDialog = new ChooseLocaleDialog(DesignerPlugin.getShell(), (Locale) value); 60765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// } else { 61765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// localeDialog = new ChooseLocaleDialog(DesignerPlugin.getShell(), null); 62765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// } 63765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// // open dialog 64765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// if (localeDialog.open() == Window.OK) { 65765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// property.setValue(localeDialog.getSelectedLocale().getLocale()); 66765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// } 67765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye System.out.println("TODO: Custom locale chooser here"); 68765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 69765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye}