From ff9691130e8dc124c922593ceaa32a5c60e468fd Mon Sep 17 00:00:00 2001 From: "minkee.lee" Date: Tue, 22 Dec 2015 21:04:04 +0900 Subject: [PATCH] input-device: add input device item Change-Id: Ifab73fcf1413fa40e141cbd31867184119d5945c Signed-off-by: minkee.lee --- .../ui/renewal/item/CommonItemListFactory.java | 6 + .../emulator/manager/ui/renewal/item/ItemName.java | 2 + .../ui/renewal/item/modify/comp/PropertyValue.java | 13 ++ .../ui/renewal/item/modify/vm/InputDeviceItem.java | 159 +++++++++++++++++++++ xsd/x86-standard-template-v2.xml | 5 + 5 files changed, 185 insertions(+) create mode 100644 src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/InputDeviceItem.java diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java b/src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java index 6ba603b..d5defe6 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java @@ -59,6 +59,7 @@ import org.tizen.emulator.manager.ui.renewal.item.modify.vm.FileSharingItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.GLVersionItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.GPUSupportItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.HWSupportItem; +import org.tizen.emulator.manager.ui.renewal.item.modify.vm.InputDeviceItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.NetConnectTypeItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.NetDnsItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.NetIPInfoItem; @@ -263,6 +264,11 @@ public class CommonItemListFactory implements IItemListFactory{ TunerItem tunerItem = new TunerItem(title); itemList.add(tunerItem); addSubItems(item.getSubItems(), tunerItem); + + } else if (name.equals(ItemName.INPUT_DEVICE)) { + itemList.add(new InputDeviceItem(title, + VMTemplateUtil.getOptionList(item.getOptions()), + VMTemplateUtil.getCreateDefault(item.getOptions()))); } } diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java b/src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java index d736953..22b9eb3 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java @@ -115,5 +115,7 @@ public class ItemName { // Connectivity public static final String NFC = "nfc"; //$NON-NLS-1$ + + public static final String INPUT_DEVICE = "inputDevice"; } diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/modify/comp/PropertyValue.java b/src/org/tizen/emulator/manager/ui/renewal/item/modify/comp/PropertyValue.java index 9b35afa..813371f 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/modify/comp/PropertyValue.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/modify/comp/PropertyValue.java @@ -678,6 +678,19 @@ public class PropertyValue { return null; } + public int getMaxTouchCount() { + if (isVMValue()) { + return vmValue.maxTouchCount; + } + return 0; + } + + public void setMaxTouchCount(int maxCount) { + if (isVMValue()) { + vmValue.maxTouchCount = maxCount; + } + } + // public diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/InputDeviceItem.java b/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/InputDeviceItem.java new file mode 100644 index 0000000..40d9d79 --- /dev/null +++ b/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/InputDeviceItem.java @@ -0,0 +1,159 @@ +/* + * Emulator Manager + * + * Copyright (C) 2015 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Minkee Lee + * JiHye Kim + * SeokYeon Hwang + * Sangho Park + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + + +package org.tizen.emulator.manager.ui.renewal.item.modify.vm; + +import java.util.List; + +import org.eclipse.swt.widgets.Composite; +import org.tizen.emulator.manager.ui.renewal.dialog.DIALOG_MODE; +import org.tizen.emulator.manager.ui.renewal.item.ItemName; +import org.tizen.emulator.manager.ui.renewal.item.modify.common.ComboItem; +import org.tizen.emulator.manager.ui.renewal.item.modify.common.ModifyDialogItem; +import org.tizen.emulator.manager.ui.renewal.item.modify.comp.ModifyItem; +import org.tizen.emulator.manager.ui.renewal.widgets.ComboBox; + +public class InputDeviceItem extends ComboItem{ + + public static final String VAL_TOUCH = "Touch"; //$NON-NLS-1$ + public static final String VAL_MOUSE = "Mouse"; //$NON-NLS-1$ + public static final int maxTouch = 10; + private final List optionList; + + private String value = ""; + + public InputDeviceItem(String title, List optionList, String createDefault) { + super(ItemName.INPUT_DEVICE, title, createDefault); + this.optionList = optionList; + } + + @Override + public void create(Composite parent) { + item = new ModifyItem(this); + item.init(parent); + item.setItemTitle(createItemTitle(item)); + item.create(); + + if (getItemListComp().getDialogMode() == DIALOG_MODE.DETAIL) { + createDisplayInfomation(); + + } else { + createCombo(item, COMBO_WIDTH); + initComboList(); + } + } + + private void createDisplayInfomation() { + createDetailItem(value); + } + + private void initComboList() { + // init combo list + for (String str : optionList) { + addComboItem(str); + } + + selectItem(); + + } + + private void selectItem() { + if (comboBox == null || comboBox.isDisposed()) { + return; + } + + if (useCreateDefault()) { + value = createDefault; + } + + // select item + int index = -1; + for (int i=0 ; i < getComboItemList().size() ; i++) { + if (getComboItemList().get(i).equals(String.valueOf(value))) { + index = i; + break; + } + } + + if (index == -1) { + index = 0; + value = getComboItem(index); + } + + selectComboItem(index); + comboSelected(); + + } + + @Override + public void itemSelected(ComboBox comboBox) { + value = getSelectedItem(); + comboSelected(); + } + + private void comboSelected() { + getItemListComp().checkValid(); + } + + + @Override + public void changeItem(ModifyDialogItem srcDialogItem) { + selectItem(); + } + + @Override + public void setInitialValue() { + int maxTouch = propertyValue.getMaxTouchCount(); + if (maxTouch > 0) { + value = VAL_TOUCH; + + } else { + value = VAL_MOUSE; + } + } + + @Override + public void setValue() { + if (value.equals(VAL_TOUCH)) { + propertyValue.setMaxTouchCount(maxTouch); + + } else { + propertyValue.setMaxTouchCount(0); + } + + } + + @Override + public ModifyDialogItem cloneItem() { + return new InputDeviceItem(getTitle(), optionList, createDefault); + } + +} diff --git a/xsd/x86-standard-template-v2.xml b/xsd/x86-standard-template-v2.xml index cdc63fb..9fb2c7c 100644 --- a/xsd/x86-standard-template-v2.xml +++ b/xsd/x86-standard-template-v2.xml @@ -61,6 +61,11 @@ + + + + + -- 2.7.4