main view: add 'EmulatorStatusListener' to VMsMainView
authorjihye424.kim <jihye424.kim@samsung.com>
Mon, 21 Dec 2015 06:32:48 +0000 (15:32 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 22 Dec 2015 04:50:27 +0000 (13:50 +0900)
- modify status of image button when receive 'changeEmulatorRunningStatus' event

Change-Id: I8e2a45d2edd790fe9e6ceea3671d7fc9b702f50c
Signed-off-by: jihye424.kim <jihye424.kim@samsung.com>
12 files changed:
src/org/tizen/emulator/manager/ui/VMsDetailView.java
src/org/tizen/emulator/manager/ui/VMsListView.java
src/org/tizen/emulator/manager/ui/VMsMainView.java
src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java
src/org/tizen/emulator/manager/ui/detail/PEmptyViewPage.java
src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java
src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java
src/org/tizen/emulator/manager/ui/list/AbstractListView.java
src/org/tizen/emulator/manager/ui/list/ItemListVew.java
src/org/tizen/emulator/manager/ui/list/TreeListView.java
src/org/tizen/emulator/manager/ui/widgets/CommonVMButtonPainter.java
src/org/tizen/emulator/manager/ui/widgets/VMButton.java

index e49c228..c1a7f81 100644 (file)
@@ -174,6 +174,10 @@ public class VMsDetailView {
                topViewPage.redraw();
        }
 
+       public void changeEmulatorStatus() {
+               topViewPage.changeEmulatorStatus();
+       }
+
        public void setFocus(boolean setFocus) {
                if (isModifyMode) {
                        modifyView.setFocus(setFocus);
index 327888e..ead26bd 100644 (file)
@@ -238,6 +238,10 @@ public class VMsListView {
                mainView.layout(true, true);
        }
 
+       public void changeEmulatorStatus() {
+               TopListView.changeEmulatorStatus();
+       }
+
        public void close() {
                itemButton.dispose();
                treeButton.dispose();
index 5196bf2..ca51095 100644 (file)
@@ -47,6 +47,8 @@ import org.tizen.emulator.manager.vms.Creator;
 import org.tizen.emulator.manager.vms.EmulatorVMList;
 import org.tizen.emulator.manager.vms.VMProperty;
 import org.tizen.emulator.manager.vms.VMPropertyValue;
+import org.tizen.emulator.manager.vms.helper.CheckingRunningEmulator;
+import org.tizen.emulator.manager.vms.helper.EmulatorStatusListener;
 import org.tizen.emulator.manager.vms.helper.VMLauncherException;
 import org.tizen.emulator.manager.vms.helper.VMWorkerException;
 
@@ -64,7 +66,20 @@ public class VMsMainView {
                return view;
        }
 
-       private VMsMainView() {}
+       private VMsMainView() {
+               CheckingRunningEmulator.addRunningEmulatorListener(new EmulatorStatusListener() {
+
+                       @Override
+                       public void changeEmulatorRunningStatus(final VMProperty prop) {
+                               Display.getDefault().asyncExec(new Runnable() {
+                                       @Override
+                                       public void run() {
+                                               changeEmulatorStatus();
+                                       }
+                               });
+                       }
+               });
+       }
 
        public Composite getComposite() {
                return mainView;
@@ -133,6 +148,11 @@ public class VMsMainView {
                detailView.redraw();
        }
 
+       public void changeEmulatorStatus() {
+               listView.changeEmulatorStatus();
+               detailView.changeEmulatorStatus();
+       }
+
        public boolean isCreateMode() {
                return isCreateMode;
        }
@@ -390,7 +410,6 @@ public class VMsMainView {
                }
 
                reloadProperty();
-               redraw();
        }
 
        public boolean createEmulator(VMPropertyValue newValue) {
index b712970..26f5d16 100644 (file)
@@ -79,6 +79,7 @@ public abstract class DetailViewPage {
        }
 
        public abstract int checkItemCount();
+       public abstract void changeEmulatorStatus();
 
        protected final StackLayout stackLayout = new StackLayout();
        public DetailViewPage(VMsDetailView parent, int style) {
index 11ef701..cac7c83 100644 (file)
@@ -87,4 +87,9 @@ public class PEmptyViewPage extends DetailViewPage {
        public void redraw() {
                // TODO Auto-generated method stub
        }
+
+       @Override
+       public void changeEmulatorStatus() {
+               // TODO Auto-generated method stub
+       }
 }
index c0122fe..05c965b 100644 (file)
@@ -311,14 +311,17 @@ public class PInfoViewPage extends DetailViewPage {
 
        @Override
        public void redraw() {
+               // TODO
                // redraw button
+               // redraw detail item
+       }
+
+       @Override
+       public void changeEmulatorStatus() {
                VMProperty property = VMsMainView.getInstance().getCurrentProperty();
                if (property != null) {
                        settingButtonStatus(property);
                }
-
-               // redraw detail item
-               // TODO
        }
 }
 
index 60ef024..85ffcdf 100644 (file)
@@ -464,6 +464,11 @@ public class PModifyViewPage extends DetailViewPage
        public void redraw() {
                // TODO Auto-generated method stub
        }
+
+       @Override
+       public void changeEmulatorStatus() {
+               // TODO Auto-generated method stub
+       }
 }
 
 class ModifyViewItemList extends ViewItemList{
index 4ae1ba9..b19da92 100644 (file)
@@ -46,6 +46,7 @@ public abstract class AbstractListView {
        public abstract void close();
        public abstract void setSize(int width, int height);
        public abstract Point getSize();
+       public abstract void changeEmulatorStatus();
        public Composite getComposite() {
                return listView;
        }
index abbca5d..32dc634 100644 (file)
@@ -520,4 +520,11 @@ public class ItemListVew extends AbstractListView {
                        }
                }
        }
+
+       @Override
+       public void changeEmulatorStatus() {
+               for (VMButton button : VMButtonFactory.getButtonList()) {
+                       button.changeLaunchButtonState();
+               }
+       }
 }
index bdc54eb..116802f 100644 (file)
@@ -355,4 +355,14 @@ public class TreeListView extends AbstractListView {
                        vmsTree.deselectAll();
                }
        }
+
+       @Override
+       public void changeEmulatorStatus() {
+               for (TreeItem item : vmsTree.getItems()) {
+                       if (item.getData() instanceof PropertyContent) {
+                               PropertyContent content = (PropertyContent)item.getData();
+                               content.setImage();
+                       }
+               }
+       }
 }
index ed76fa2..461f62c 100644 (file)
@@ -71,17 +71,6 @@ public abstract class CommonVMButtonPainter implements IVMButtonPainter {
                }
 
                if (button.getProperty() != null) {
-                       if (button.getProperty().isRunning()
-                                       || !button.getProperty().isAvailable()) {
-                               if (button.getLaunchButton().isEnabled()) {
-                                       button.getLaunchButton().setEnabled(false);
-                               }
-                       } else {
-                               if (!button.getLaunchButton().isEnabled()) {
-                                       button.getLaunchButton().setEnabled(true);
-                               }
-                       }
-
                        // If VM is custom,
                        if (!button.getProperty().getPropertyValue().baseImage.isStandard()) {
                                if (state == WSTATE.HOVER || state == WSTATE.SELECTED_HOVER) {
index 36e2b35..74138f1 100644 (file)
@@ -196,6 +196,7 @@ public class VMButton extends ImageButton {
                                // TODO Auto-generated method stub
                        }
                });
+               changeLaunchButtonState();
 
        }
 
@@ -293,6 +294,22 @@ public class VMButton extends ImageButton {
                return title_x;
        }
 
+       public void changeLaunchButtonState() {
+               if (property == null) {
+                       return;
+               }
+
+               if (launchButton == null) {
+                       return;
+               }
+
+               if (property.isRunning() && launchButton.isEnabled()) {
+                       launchButton.setEnabled(false);
+               } else if (!property.isRunning() && !launchButton.isEnabled()){
+                       launchButton.setEnabled(true);
+               }
+       }
+
        private PaintListener VMButtonPaintListener = new PaintListener() {
                private int W_OFFSET = 2;
                private int H_OFFSET = 3;
@@ -354,10 +371,8 @@ public class VMButton extends ImageButton {
                        gc.drawString(Messages.getString("VMButton.FailedToLoad.1"), X_POINT, Y_POINT + Y_GAP, true); //$NON-NLS-1$
                        gc.drawString(Messages.getString("VMButton.FailedToLoad.2"), X_POINT, Y_POINT + Y_GAP * 2, true); //$NON-NLS-1$
                }
-               
        };
 
-
        private Listener mouseListener = new Listener() {
 
                @Override