From 14848295d6b35fa25321e51073f89219e83e21be Mon Sep 17 00:00:00 2001 From: "minkee.lee" Date: Thu, 28 Aug 2014 22:04:56 +0900 Subject: [PATCH] Template: Add item type.("lineLabel") - In VM property UI, a "lineLabel" item categorizes items which are displayed below . - Each item can refer each other by using map in "lineLabel" item. Change-Id: Ibd6a5586e2538abb03bdab65417be441f30ac248 Signed-off-by: minkee.lee --- .../manager/ui/detail/item/AdvancedViewItem.java | 10 ++++ .../ui/detail/item/CommonItemListFactory.java | 67 +++++++++++++--------- .../emulator/manager/ui/detail/item/ItemType.java | 3 +- ...OptionLabelItem.java => LineLabelViewItem.java} | 23 +++++++- .../ui/detail/item/property/BaseImageViewItem.java | 5 +- .../ui/detail/item/property/DisplayViewItem.java | 5 +- .../ui/detail/item/property/FileShareViewItem.java | 5 +- .../ui/detail/item/property/HWSupportViewItem.java | 5 +- .../ui/detail/item/property/MaxTouchViewItem.java | 5 +- .../ui/detail/item/property/RamSizeItem.java | 8 ++- .../ui/detail/item/property/VMNameViewItem.java | 5 +- .../detail/item/template/CheckLabelViewItem.java | 5 +- .../ui/detail/item/template/ComboViewItem.java | 14 ++++- .../ui/detail/item/template/FileViewItem.java | 7 ++- .../ui/detail/item/template/LabelViewItem.java | 8 ++- .../ui/detail/item/template/OnOffViewItem.java | 7 ++- .../ui/detail/item/template/TextSubViewItem.java | 1 + .../ui/detail/item/template/TextViewItem.java | 15 +++-- 18 files changed, 137 insertions(+), 61 deletions(-) rename common-project/src/org/tizen/emulator/manager/ui/detail/item/{TAdvancedOptionLabelItem.java => LineLabelViewItem.java} (91%) diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/AdvancedViewItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/AdvancedViewItem.java index 6c6e29a..5001590 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/AdvancedViewItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/AdvancedViewItem.java @@ -41,6 +41,16 @@ public abstract class AdvancedViewItem extends DetailViewItem { protected boolean isHide = false; + protected LineLabelViewItem lineLabelViewItem; + + public AdvancedViewItem(LineLabelViewItem lineLabelViewItem) { + this.lineLabelViewItem = lineLabelViewItem; + } + + public LineLabelViewItem getLineLabelViewItem() { + return lineLabelViewItem; + } + public boolean isArrowSelected() { return arrowSelected; } diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java index 0005f3d..cb42c41 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java @@ -50,6 +50,7 @@ import org.tizen.emulator.manager.ui.detail.item.template.ComboViewItem; import org.tizen.emulator.manager.ui.detail.item.template.FileViewItem; import org.tizen.emulator.manager.ui.detail.item.template.LabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.OnOffViewItem; +import org.tizen.emulator.manager.ui.detail.item.template.TextViewItem; import org.tizen.emulator.manager.vms.xml.template.DeviceList; import org.tizen.emulator.manager.vms.xml.template.Item; import org.tizen.emulator.manager.vms.xml.template.ItemList; @@ -74,28 +75,38 @@ public abstract class CommonItemListFactory implements IItemListFactory{ if (propertyList != null) { List itemList = (List)list; List propertyItemList = propertyList.getItem(); + LineLabelViewItem currentLineLabel = null; // Top categorizing item + for (Item item : propertyItemList) { + String type = item.getType(); String itemName = item.getName(); + + if (type.equals(ItemType.LINE_LABEL.getName())) { // Top categorizing item + currentLineLabel = new LineLabelViewItem(item); + itemList.add(currentLineLabel); + continue; + } + if (itemName.equals(ITEM_VM_NAME)) { - itemList.add(new VMNameViewItem(item, false)); + itemList.add(new VMNameViewItem(item, currentLineLabel)); } else if (itemName.equals(ITEM_BASE_IMAGE)) { - itemList.add(new BaseImageViewItem(item, false)); + itemList.add(new BaseImageViewItem(item, currentLineLabel)); } else if (itemName.equals(ITEM_DISPLAY)) { - itemList.add(new DisplayViewItem(item, false)); + itemList.add(new DisplayViewItem(item, currentLineLabel)); } else if (itemName.equals(ITEM_RAM_SIZE)) { - itemList.add(new RamSizeItem(item, false)); + itemList.add(new RamSizeItem(item, currentLineLabel)); } else if (itemName.equals(ITEM_MAX_TOUCH)) { - itemList.add(new MaxTouchViewItem(item, false)); + itemList.add(new MaxTouchViewItem(item, currentLineLabel)); } else if (itemName.equals(ITEM_FILE_SHARE)) { - itemList.add(new FileShareViewItem(item, false)); + itemList.add(new FileShareViewItem(item, currentLineLabel)); } else if (itemName.equals(ITEM_HW_SUPPORT)) { - itemList.add(new HWSupportViewItem(item, false)); + itemList.add(new HWSupportViewItem(item, currentLineLabel)); } } } @@ -107,34 +118,38 @@ public abstract class CommonItemListFactory implements IItemListFactory{ if (deviceList != null) { List itemList = (List)list; List deviceItemList = deviceList.getItem(); - if (deviceItemList.size() > 0) { - itemList.add(new TAdvancedOptionLabelItem()); - } - makeItemList(itemList, deviceItemList); - } - } + LineLabelViewItem currentLineLabel = null; // Top categorizing item + + for (Item item : deviceItemList) { + String type = item.getType(); + + if (type.equals(ItemType.LINE_LABEL.getName())) { // Top categorizing item + currentLineLabel = new LineLabelViewItem(item); + itemList.add(currentLineLabel); - private void makeItemList(List itemList, List templateItemList) { - for (Item item : templateItemList) { - String type = item.getType(); - if (type.equals(ItemType.TOGGLE.getName())) { - itemList.add(new OnOffViewItem(item, true)); + } else if (type.equals(ItemType.TOGGLE.getName())) { + itemList.add(new OnOffViewItem(item, currentLineLabel)); - } else if (type.equals(ItemType.LABEL.getName())) { - itemList.add(new LabelViewItem(item, true)); + } else if (type.equals(ItemType.LABEL.getName())) { + itemList.add(new LabelViewItem(item, currentLineLabel)); - } else if (type.equals(ItemType.COMBO.getName())) { - itemList.add(new ComboViewItem(item, true)); + } else if (type.equals(ItemType.COMBO.getName())) { + itemList.add(new ComboViewItem(item, currentLineLabel)); - } else if (type.equals(ItemType.FILE.getName())) { - itemList.add(new FileViewItem(item, true)); + } else if (type.equals(ItemType.FILE.getName())) { + itemList.add(new FileViewItem(item, currentLineLabel)); - } else if (type.equals(ItemType.CHECK_LABEL.getName())) { - itemList.add(new CheckLabelViewItem(item, true)); + } else if (type.equals(ItemType.CHECK_LABEL.getName())) { + itemList.add(new CheckLabelViewItem(item, currentLineLabel)); + + } else if (type.equals(ItemType.TEXT.getName())) { + itemList.add(new TextViewItem(item, currentLineLabel)); + } } } } + // Override if need public void makeCustomDeviceItemList(List list, List templateList) { if (templateList == null || templateList.size() == 0 ) { diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/ItemType.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/ItemType.java index a5ea123..98f9678 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/ItemType.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/ItemType.java @@ -40,7 +40,8 @@ public enum ItemType { SPINNER("spinner"), LABEL("label"), CHECK_LABEL("checkLabel"), - CHECK_BOX("checkbox") + CHECK_BOX("checkbox"), + LINE_LABEL("lineLabel") ; private String name; diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/TAdvancedOptionLabelItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/LineLabelViewItem.java similarity index 91% rename from common-project/src/org/tizen/emulator/manager/ui/detail/item/TAdvancedOptionLabelItem.java rename to common-project/src/org/tizen/emulator/manager/ui/detail/item/LineLabelViewItem.java index 3556fd8..69391a5 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/TAdvancedOptionLabelItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/LineLabelViewItem.java @@ -31,6 +31,9 @@ package org.tizen.emulator.manager.ui.detail.item; +import java.util.HashMap; +import java.util.Map; + import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; @@ -49,8 +52,25 @@ import org.tizen.emulator.manager.ui.detail.item.AdvancedViewItem; import org.tizen.emulator.manager.ui.detail.item.DetailViewItem; import org.tizen.emulator.manager.ui.widgets.ImageButton; import org.tizen.emulator.manager.vms.VMPropertyValue; +import org.tizen.emulator.manager.vms.xml.template.Item; + +public class LineLabelViewItem extends DetailViewItem{ + + private Map itemMap = new HashMap(); + + public LineLabelViewItem() { + this.title = "Advanced Options"; + } + public LineLabelViewItem(Item template) { + this.title = template.getTitle(); + } -public class TAdvancedOptionLabelItem extends DetailViewItem{ + public void addItem(String name, AdvancedViewItem item) { + itemMap.put(name, item); + } + public AdvancedViewItem getItem(String name) { + return (AdvancedViewItem)itemMap.get(name); + } @Override public void drawDetail() { @@ -65,7 +85,6 @@ public class TAdvancedOptionLabelItem extends DetailViewItem{ @Override public void init() { - title = "Advanced Options"; count = 1; TITLE_WIDTH = 150; } diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/BaseImageViewItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/BaseImageViewItem.java index 68c37af..f418163 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/BaseImageViewItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/BaseImageViewItem.java @@ -45,6 +45,7 @@ import org.tizen.emulator.manager.resources.PatchImageResources; import org.tizen.emulator.manager.resources.StringResources; import org.tizen.emulator.manager.ui.MainDialog; import org.tizen.emulator.manager.ui.VMsMainView; +import org.tizen.emulator.manager.ui.detail.item.LineLabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.FileViewItem; import org.tizen.emulator.manager.ui.dialog.MessageDialog; import org.tizen.emulator.manager.ui.widgets.ImageButton; @@ -63,8 +64,8 @@ public class BaseImageViewItem extends FileViewItem { private boolean isStandard; private Image IMAGE_INPUTBOX_IMAGE = null; - public BaseImageViewItem(Item template, boolean isDeviceItem) { - super(template, isDeviceItem); + public BaseImageViewItem(Item template, LineLabelViewItem lineLabelViewItem) { + super(template, lineLabelViewItem); } @Override diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/DisplayViewItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/DisplayViewItem.java index a58b76c..f76a7fb 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/DisplayViewItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/DisplayViewItem.java @@ -35,6 +35,7 @@ import java.util.ArrayList; import java.util.List; import org.tizen.emulator.manager.logging.EMLogger; +import org.tizen.emulator.manager.ui.detail.item.LineLabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.ISubViewItem; import org.tizen.emulator.manager.ui.detail.item.template.LabelViewItem; import org.tizen.emulator.manager.vms.RESOLUTION; @@ -50,8 +51,8 @@ public class DisplayViewItem extends LabelViewItem { private DPISubViewItem dpiItem; private SkinSubViewItem skinItem; - public DisplayViewItem(Item template, boolean isDeviceItem) { - super(template, isDeviceItem); + public DisplayViewItem(Item template, LineLabelViewItem lineLabelViewItem) { + super(template, lineLabelViewItem); } @Override diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/FileShareViewItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/FileShareViewItem.java index 560700e..a366005 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/FileShareViewItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/FileShareViewItem.java @@ -34,6 +34,7 @@ package org.tizen.emulator.manager.ui.detail.item.property; import java.util.ArrayList; import java.util.List; +import org.tizen.emulator.manager.ui.detail.item.LineLabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.ISubViewItem; import org.tizen.emulator.manager.ui.detail.item.template.LabelViewItem; import org.tizen.emulator.manager.vms.xml.template.Item; @@ -45,8 +46,8 @@ public class FileShareViewItem extends LabelViewItem { FileShareDialogSubViewItem dialogItem; - public FileShareViewItem(Item template, boolean isDeviceItem) { - super(template, isDeviceItem); + public FileShareViewItem(Item template, LineLabelViewItem lineLabelViewItem) { + super(template, lineLabelViewItem); } protected List getSubItemList() { diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/HWSupportViewItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/HWSupportViewItem.java index a7cd07a..7450ebf 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/HWSupportViewItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/HWSupportViewItem.java @@ -34,6 +34,7 @@ package org.tizen.emulator.manager.ui.detail.item.property; import java.util.ArrayList; import java.util.List; +import org.tizen.emulator.manager.ui.detail.item.LineLabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.ISubViewItem; import org.tizen.emulator.manager.ui.detail.item.template.LabelViewItem; import org.tizen.emulator.manager.vms.xml.template.Item; @@ -43,8 +44,8 @@ public class HWSupportViewItem extends LabelViewItem { public static String ITEM_CPU = "cpu"; public static String ITEM_GPU = "gpu"; - public HWSupportViewItem(Item template, boolean isDeviceItem) { - super(template, isDeviceItem); + public HWSupportViewItem(Item template, LineLabelViewItem lineLabelViewItem) { + super(template, lineLabelViewItem); } diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/MaxTouchViewItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/MaxTouchViewItem.java index 9db8b5a..1646853 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/MaxTouchViewItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/MaxTouchViewItem.java @@ -36,6 +36,7 @@ import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.tizen.emulator.manager.logging.EMLogger; import org.tizen.emulator.manager.resources.PatchImageResources; +import org.tizen.emulator.manager.ui.detail.item.LineLabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.TextViewItem; import org.tizen.emulator.manager.ui.widgets.ImageLabel; import org.tizen.emulator.manager.vms.VMPropertyValue; @@ -43,8 +44,8 @@ import org.tizen.emulator.manager.vms.xml.template.Item; public class MaxTouchViewItem extends TextViewItem { - public MaxTouchViewItem(Item template, boolean isDeviceItem) { - super(template, isDeviceItem); + public MaxTouchViewItem(Item template, LineLabelViewItem lineLabelViewItem) { + super(template, lineLabelViewItem); } @Override diff --git a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/RamSizeItem.java b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/RamSizeItem.java index efc33b4..59ea697 100644 --- a/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/RamSizeItem.java +++ b/common-project/src/org/tizen/emulator/manager/ui/detail/item/property/RamSizeItem.java @@ -42,6 +42,7 @@ import org.tizen.emulator.manager.resources.ColorResources; import org.tizen.emulator.manager.resources.FontResources; import org.tizen.emulator.manager.resources.ImageResources; import org.tizen.emulator.manager.resources.PatchImageResources; +import org.tizen.emulator.manager.ui.detail.item.LineLabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.ComboViewItem; import org.tizen.emulator.manager.ui.widgets.ImageCombo; import org.tizen.emulator.manager.ui.widgets.WSTATE; @@ -52,12 +53,13 @@ import org.tizen.emulator.manager.vms.xml.template.Option; public class RamSizeItem extends ComboViewItem{ + public RamSizeItem(Item template, LineLabelViewItem lineLabelViewItem) { + super(template, lineLabelViewItem); + } + private Label unitLabel; private static String RAM_UNIT = "MB"; - public RamSizeItem(Item template, boolean isDeviceItem) { - super(template, isDeviceItem); - } @Override protected void parseOption(List