From 8e97acc06928b3e5a15d6eb6b2b8c525cb366ec0 Mon Sep 17 00:00:00 2001 From: Minkee Lee Date: Tue, 2 Feb 2016 10:34:25 +0900 Subject: [PATCH] option: add viewer type option (experimental) A user can select "Native" or "Web". Change-Id: I1e00975e04a508e6676bd8dce27e1c9c0b89b780 Signed-off-by: Minkee Lee --- .../ui/renewal/item/CommonItemListFactory.java | 6 + .../emulator/manager/ui/renewal/item/ItemName.java | 4 + .../ui/renewal/item/modify/common/ComboItem.java | 11 +- .../ui/renewal/item/modify/vm/GLVersionItem.java | 4 +- .../ui/renewal/item/modify/vm/InputDeviceItem.java | 4 +- .../ui/renewal/item/modify/vm/ViewerTypeItem.java | 145 +++++++++++++++++++++ 6 files changed, 168 insertions(+), 6 deletions(-) create mode 100644 src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/ViewerTypeItem.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 902a780..8465842 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java @@ -74,6 +74,7 @@ import org.tizen.emulator.manager.ui.renewal.item.modify.vm.TunerCountryItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.TunerItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.TunerSystemItem; import org.tizen.emulator.manager.ui.renewal.item.modify.vm.TunerTableItem; +import org.tizen.emulator.manager.ui.renewal.item.modify.vm.ViewerTypeItem; public class CommonItemListFactory implements IItemListFactory{ @@ -274,6 +275,11 @@ public class CommonItemListFactory implements IItemListFactory{ } else if (name.equals(ItemName.DISPLAY_MODE)) { itemList.add(new CheckBoxItem(name, item.getTitle(), 1, null, VMTemplateUtil.getCheckBoxDataList(item))); + + } else if (name.equals(ItemName.VIEWER)) { + itemList.add(new ViewerTypeItem(name, item.getTitle(), + 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 22b9eb3..80ea943 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java @@ -85,6 +85,10 @@ public class ItemName { public static final String DISPLAY_MODE = "displayMode"; //$NON-NLS-1$ public static final String QT_ENABLE = "qtEnable"; //$NON-NLS-1$ + public static final String VIEWER = "viewer"; //$NON-NLS-1$ + + // VIEWER_TYPE is for old template compatability + public static final String VIEWER_TYPE = "type"; //$NON-NLS-1$ // tuner option public static final String TUNER_NUMBER="number"; //$NON-NLS-1$ diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ComboItem.java b/src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ComboItem.java index 1d5a98a..9aae0a5 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ComboItem.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ComboItem.java @@ -44,7 +44,7 @@ import org.tizen.emulator.manager.ui.renewal.widgets.WSTATE; public abstract class ComboItem extends ModifyDialogItem { protected ComboBox comboBox; - protected String createDefault; + private String createDefault; protected String comboValue; public static final int COMBO_WIDTH = 124; @@ -121,7 +121,6 @@ public abstract class ComboItem extends ModifyDialogItem { } } - protected void createCombo(ModifyItem item, int width) { createCombo(item, width, ColorKind.WHITE); } @@ -164,4 +163,12 @@ public abstract class ComboItem extends ModifyDialogItem { comboBox.setEnabled(enable); item.setTitleEnable(enable); } + + public void setCreateDefault(String createDefault) { + this.createDefault = createDefault; + } + + public String getCreateDefault() { + return createDefault; + } } diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/GLVersionItem.java b/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/GLVersionItem.java index 9d76aa3..00f7e88 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/GLVersionItem.java +++ b/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/GLVersionItem.java @@ -132,7 +132,7 @@ public class GLVersionItem extends ComboItem { } if (useCreateDefault()) { - glVersion = createDefault; + glVersion = getCreateDefault(); } int index = -1; @@ -178,7 +178,7 @@ public class GLVersionItem extends ComboItem { @Override public ModifyDialogItem cloneItem() { - return new GLVersionItem(getName(), getTitle(), optionMap, createDefault); + return new GLVersionItem(getName(), getTitle(), optionMap, getCreateDefault()); } @Override 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 index 40d9d79..0dbef7c 100644 --- 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 @@ -91,7 +91,7 @@ public class InputDeviceItem extends ComboItem{ } if (useCreateDefault()) { - value = createDefault; + value = getCreateDefault(); } // select item @@ -153,7 +153,7 @@ public class InputDeviceItem extends ComboItem{ @Override public ModifyDialogItem cloneItem() { - return new InputDeviceItem(getTitle(), optionList, createDefault); + return new InputDeviceItem(getTitle(), optionList, getCreateDefault()); } } diff --git a/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/ViewerTypeItem.java b/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/ViewerTypeItem.java new file mode 100644 index 0000000..d8453ee --- /dev/null +++ b/src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/ViewerTypeItem.java @@ -0,0 +1,145 @@ +/* + * Emulator Manager + * + * Copyright (C) 2016 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.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 ViewerTypeItem extends ComboItem { + + List optionList; + String viewerType; + + public ViewerTypeItem(String name, String title, List optionList, + String createDefault) { + super(name, 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().isDetailMode()) { + createDetailItem(viewerType); + return; + } + + createCombo(item, COMBO_WIDTH); + resetComboList(); + } + + private void resetComboList() { + // init list + comboBox.clear(); + for (String option : optionList) { + addComboItem(option); + } + + selectItem(); + } + + private void selectItem() { + if (comboBox == null || comboBox.isDisposed()) { + return; + } + if (getComboItemList().size() == 0) { + return; + } + + if (useCreateDefault()) { + viewerType = getCreateDefault(); + } + + int index = -1; + for (int i=0 ; i < getComboItemList().size() ; i++) { + if (getComboItemList().get(i).equals(viewerType)) { + index = i; + break; + } + } + + if (index == -1) { + index = 0; + viewerType = getComboItem(0); + } + + selectComboItem(index, false); + comboSelected(); + } + + @Override + public void itemSelected(ComboBox comboBox) { + // This is called when combo item is selected + // TODO override this. + viewerType = comboBox.getSelectedItem(); + comboSelected(); + } + + private void comboSelected() { + getItemListComp().checkValid(); + } + + @Override + public void setInitialValue() { + viewerType = propertyValue.getSubOptionValue(getName(), ItemName.VIEWER_TYPE); + } + + @Override + public void setValue() { + propertyValue.setSubOptionValue(getName(), ItemName.VIEWER_TYPE, viewerType); + + } + + @Override + public ModifyDialogItem cloneItem() { + return new ViewerTypeItem(getName(), getTitle(), optionList, getCreateDefault()); + } + + @Override + public void changeItem(ModifyDialogItem srcDialogItem) { + if (getItemListComp().isCreateMode()) { + setCreateDefault(((ComboItem)srcDialogItem).getCreateDefault()); + } + resetComboList(); + } + +} -- 2.7.4