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.core.controls.CCombo3; 14765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.wb.internal.core.model.property.Property; 15765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 16765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/** 17765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * The {@link PropertyEditor} for selecting single {@link String} value from given array. 18765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 19765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @author scheglov_ke 20765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @coverage core.model.property.editor 21765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 22765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepublic class StringComboPropertyEditor extends AbstractComboPropertyEditor { 23765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private final String[] m_items; 24765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 25765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 26765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 27765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Constructor 28765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 29765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 30765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public StringComboPropertyEditor(String... items) { 31765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_items = items; 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 return (String) property.getValue(); 42765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 43765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 44765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 45765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 46765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // AbstractComboPropertyEditor 47765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 48765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 49765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye @Override 50765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye protected void addItems(Property property, CCombo3 combo) throws Exception { 51765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye for (String item : m_items) { 52765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye combo.add(item); 53765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 54765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 55765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 56765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye @Override 57765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye protected void selectItem(Property property, CCombo3 combo) throws Exception { 58765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye combo.setText(getText(property)); 59765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 60765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 61765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye @Override 62765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye protected void toPropertyEx(Property property, CCombo3 combo, int index) throws Exception { 63765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye property.setValue(m_items[index]); 64765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 65765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye}