LocalePropertyEditor.java revision b13cc3c964fee8f16bfbf4bd42ad0631c4cf7889
1/*******************************************************************************
2 * Copyright (c) 2011 Google, Inc.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 *    Google, Inc. - initial API and implementation
10 *******************************************************************************/
11package org.eclipse.wb.internal.core.model.property.editor;
12
13import org.eclipse.wb.internal.core.model.property.Property;
14
15import java.util.Locale;
16
17/**
18 * {@link PropertyEditor} for {@link Locale}.
19 *
20 * @author sablin_aa
21 * @coverage core.model.property.editor
22 */
23public final class LocalePropertyEditor extends TextDialogPropertyEditor {
24  ////////////////////////////////////////////////////////////////////////////
25  //
26  // Instance
27  //
28  ////////////////////////////////////////////////////////////////////////////
29  public static final PropertyEditor INSTANCE = new LocalePropertyEditor();
30
31  private LocalePropertyEditor() {
32  }
33
34  ////////////////////////////////////////////////////////////////////////////
35  //
36  // Presentation
37  //
38  ////////////////////////////////////////////////////////////////////////////
39  @Override
40  protected String getText(Property property) throws Exception {
41    Object value = property.getValue();
42    if (value instanceof Locale) {
43      return ((Locale) value).getDisplayName();
44    }
45    // unknown value
46    return null;
47  }
48
49  ////////////////////////////////////////////////////////////////////////////
50  //
51  // Editing
52  //
53  ////////////////////////////////////////////////////////////////////////////
54  @Override
55  protected void openDialog(Property property) throws Exception {
56    Object value = property.getValue();
57//    ChooseLocaleDialog localeDialog;
58//    if (value instanceof Locale) {
59//      localeDialog = new ChooseLocaleDialog(DesignerPlugin.getShell(), (Locale) value);
60//    } else {
61//      localeDialog = new ChooseLocaleDialog(DesignerPlugin.getShell(), null);
62//    }
63//    // open dialog
64//    if (localeDialog.open() == Window.OK) {
65//      property.setValue(localeDialog.getSelectedLocale().getLocale());
66//    }
67    System.out.println("TODO: Custom locale chooser here");
68  }
69}