option: add viewer type option (experimental)
authorMinkee Lee <minkee.lee@samsung.com>
Tue, 2 Feb 2016 01:34:25 +0000 (10:34 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Thu, 11 Feb 2016 06:45:10 +0000 (15:45 +0900)
A user can select "Native" or "Web".

Change-Id: I1e00975e04a508e6676bd8dce27e1c9c0b89b780
Signed-off-by: Minkee Lee <minkee.lee@samsung.com>
src/org/tizen/emulator/manager/ui/renewal/item/CommonItemListFactory.java
src/org/tizen/emulator/manager/ui/renewal/item/ItemName.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ComboItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/GLVersionItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/InputDeviceItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/ViewerTypeItem.java [new file with mode: 0644]

index 902a780..8465842 100644 (file)
@@ -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())));
                }
 
        }
index 22b9eb3..80ea943 100644 (file)
@@ -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$
index 1d5a98a..9aae0a5 100644 (file)
@@ -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;
+       }
 }
index 9d76aa3..00f7e88 100644 (file)
@@ -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
index 40d9d79..0dbef7c 100644 (file)
@@ -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 (file)
index 0000000..d8453ee
--- /dev/null
@@ -0,0 +1,145 @@
+/*
+ * Emulator Manager
+ *
+ * Copyright (C) 2016 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Minkee Lee <minkee.lee@samsung.com>
+ * JiHye Kim <jihye424.kim@samsung.com>
+ * SeokYeon Hwang <syeon.hwang@samsung.com>
+ * Sangho Park <sangho.p@samsung.com>
+ *
+ * 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<String> optionList;
+       String viewerType;
+
+       public ViewerTypeItem(String name, String title, List<String> 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();
+       }
+
+}