Template: Add "spreadOnStart" option in label-item.
authorminkee.lee <minkee.lee@samsung.com>
Tue, 26 Aug 2014 13:45:55 +0000 (22:45 +0900)
committerminkee.lee <minkee.lee@samsung.com>
Thu, 11 Sep 2014 06:44:15 +0000 (15:44 +0900)
- If "spreadOnStart" is false, children of label-item are not shown
  in property UI. They can be shown by clicking arrow-button.

Change-Id: I86aeb7744d229dcc0c6a55777d3d6fa7cf305401
Signed-off-by: minkee.lee <minkee.lee@samsung.com>
common-project/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java
common-project/src/org/tizen/emulator/manager/ui/detail/item/DetailViewItem.java
common-project/src/org/tizen/emulator/manager/ui/detail/item/IInfoViewItem.java
common-project/src/org/tizen/emulator/manager/ui/detail/item/OptionType.java
common-project/src/org/tizen/emulator/manager/ui/detail/item/template/LabelViewItem.java

index 6be2e03..29c0305 100644 (file)
@@ -301,6 +301,7 @@ public class PInfoViewPage extends DetailViewPage {
                scrolledList.setOrigin(0, 0);
                if (topViewList != null) {
                        for (IInfoViewItem i : topViewList.itemList) {
+                               i.setViewMode(true);
                                i.settingStatus(true);
                        }
                }
index bb06951..b8e62c9 100644 (file)
@@ -60,6 +60,7 @@ public abstract class DetailViewItem implements IInfoViewItem, IModifyViewItem {
        protected String title;
        private boolean isCreateMode;
        protected boolean isMinMode = false;
+       private boolean isViewMode;
 
        protected ImageButton arrowButton;
        protected int count;
@@ -377,6 +378,16 @@ public abstract class DetailViewItem implements IInfoViewItem, IModifyViewItem {
                comp.getParent().layout(true, true);
        }
 
+
+       public boolean isViewMode() {
+               return isViewMode;
+       }
+
+       @Override
+       public void setViewMode(boolean isViewMode) {
+               this.isViewMode = isViewMode;
+       }
+
        @Override
        public boolean isCreateMode() {
                return isCreateMode;
@@ -385,6 +396,7 @@ public abstract class DetailViewItem implements IInfoViewItem, IModifyViewItem {
        @Override
        public void setCreateMode(boolean isCreateMode) {
                this.isCreateMode = isCreateMode;
+               this.isViewMode = false;
        }
 
        @Override
index d3b732e..f56b1fd 100644 (file)
@@ -34,6 +34,7 @@ import org.tizen.emulator.manager.vms.VMPropertyValue;
 
 public interface IInfoViewItem extends IViewItem {
        public void initItem(Composite parent, IInfoViewItem upperItem);
+       public void setViewMode(boolean isViewMode);
 
        public abstract void drawDetail();
        public abstract boolean settingDetailItem(VMPropertyValue value);
index ff7c807..86da2b2 100644 (file)
@@ -39,7 +39,8 @@ public enum OptionType {
        DEFAULT_ON_CREATE("defaultOnCreate"),
        DISABLE_ON_CREATE("disableOnCreate"),
        HIDE_LABEL("hideLabel"),
-       DEFAULT_IF_EMPTY("defaultIfEmpty")
+       DEFAULT_IF_EMPTY("defaultIfEmpty"),
+       SPREAD_ON_START("spreadOnStart")
        ;
 
        private String name;
index 5257b34..2db274e 100644 (file)
@@ -36,8 +36,10 @@ import java.util.List;
 
 import org.tizen.emulator.manager.ui.detail.item.AdvancedViewItem;
 import org.tizen.emulator.manager.ui.detail.item.ItemType;
+import org.tizen.emulator.manager.ui.detail.item.OptionType;
 import org.tizen.emulator.manager.vms.VMPropertyValue;
 import org.tizen.emulator.manager.vms.xml.template.Item;
+import org.tizen.emulator.manager.vms.xml.template.Option;
 
 public class LabelViewItem extends AdvancedViewItem{
 
@@ -45,6 +47,7 @@ public class LabelViewItem extends AdvancedViewItem{
        protected List<ISubViewItem> subItemList;
        protected Item template;
        boolean isDeviceItem;
+       boolean spreadOnStart = true;
 
        public LabelViewItem(Item template, boolean isDeviceItem) {
 //             super.init();
@@ -61,8 +64,20 @@ public class LabelViewItem extends AdvancedViewItem{
                this.isDeviceItem = isDeviceItem;
                this.template = template;
 
+               parseOption(template.getOption());
        }
 
+       private void parseOption(List<Option> optionList) {
+               for (Option option : optionList) {
+                       if (option.getName().equals(OptionType.SPREAD_ON_START.getName())) {
+                               if(option.getValue().equals("false")) {
+                                       this.spreadOnStart = false;
+                               }
+                       }
+               }
+       }
+
+
        public String getName() {
                return name;
        }
@@ -93,10 +108,18 @@ public class LabelViewItem extends AdvancedViewItem{
                if (isRefresh) {
                        if (isMinMode) {
                                if (arrowButton != null) {
-                                       arrowButton.setSelection(false);
+                                       if (spreadOnStart) {
+                                               arrowButton.setSelection(false); // unfolding
+                                       }
+                               }
+                       } else {
+                               if (arrowButton != null) {
+                                       if (!spreadOnStart && isViewMode()) {
+                                               arrowButton.setSelection(true); // folding
+                                       }
                                }
-                               changeArrowState();
                        }
+                       changeArrowState();
                } else {
                        if (isShareMinMode != isMinMode) {
                                if (arrowButton != null) {