From: jihye424.kim Date: Mon, 21 Dec 2015 06:32:48 +0000 (+0900) Subject: main view: add 'EmulatorStatusListener' to VMsMainView X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7b0fa3026499f65a74d98da4ed31ccd795d36f9c;p=sdk%2Femulator%2Femulator-manager.git main view: add 'EmulatorStatusListener' to VMsMainView - modify status of image button when receive 'changeEmulatorRunningStatus' event Change-Id: I8e2a45d2edd790fe9e6ceea3671d7fc9b702f50c Signed-off-by: jihye424.kim --- diff --git a/src/org/tizen/emulator/manager/ui/VMsDetailView.java b/src/org/tizen/emulator/manager/ui/VMsDetailView.java index e49c228..c1a7f81 100644 --- a/src/org/tizen/emulator/manager/ui/VMsDetailView.java +++ b/src/org/tizen/emulator/manager/ui/VMsDetailView.java @@ -174,6 +174,10 @@ public class VMsDetailView { topViewPage.redraw(); } + public void changeEmulatorStatus() { + topViewPage.changeEmulatorStatus(); + } + public void setFocus(boolean setFocus) { if (isModifyMode) { modifyView.setFocus(setFocus); diff --git a/src/org/tizen/emulator/manager/ui/VMsListView.java b/src/org/tizen/emulator/manager/ui/VMsListView.java index 327888e..ead26bd 100644 --- a/src/org/tizen/emulator/manager/ui/VMsListView.java +++ b/src/org/tizen/emulator/manager/ui/VMsListView.java @@ -238,6 +238,10 @@ public class VMsListView { mainView.layout(true, true); } + public void changeEmulatorStatus() { + TopListView.changeEmulatorStatus(); + } + public void close() { itemButton.dispose(); treeButton.dispose(); diff --git a/src/org/tizen/emulator/manager/ui/VMsMainView.java b/src/org/tizen/emulator/manager/ui/VMsMainView.java index 5196bf2..ca51095 100644 --- a/src/org/tizen/emulator/manager/ui/VMsMainView.java +++ b/src/org/tizen/emulator/manager/ui/VMsMainView.java @@ -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) { diff --git a/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java b/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java index b712970..26f5d16 100644 --- a/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java @@ -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) { diff --git a/src/org/tizen/emulator/manager/ui/detail/PEmptyViewPage.java b/src/org/tizen/emulator/manager/ui/detail/PEmptyViewPage.java index 11ef701..cac7c83 100644 --- a/src/org/tizen/emulator/manager/ui/detail/PEmptyViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/PEmptyViewPage.java @@ -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 + } } diff --git a/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java b/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java index c0122fe..05c965b 100644 --- a/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java @@ -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 } } diff --git a/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java b/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java index 60ef024..85ffcdf 100644 --- a/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java @@ -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{ diff --git a/src/org/tizen/emulator/manager/ui/list/AbstractListView.java b/src/org/tizen/emulator/manager/ui/list/AbstractListView.java index 4ae1ba9..b19da92 100644 --- a/src/org/tizen/emulator/manager/ui/list/AbstractListView.java +++ b/src/org/tizen/emulator/manager/ui/list/AbstractListView.java @@ -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; } diff --git a/src/org/tizen/emulator/manager/ui/list/ItemListVew.java b/src/org/tizen/emulator/manager/ui/list/ItemListVew.java index abbca5d..32dc634 100644 --- a/src/org/tizen/emulator/manager/ui/list/ItemListVew.java +++ b/src/org/tizen/emulator/manager/ui/list/ItemListVew.java @@ -520,4 +520,11 @@ public class ItemListVew extends AbstractListView { } } } + + @Override + public void changeEmulatorStatus() { + for (VMButton button : VMButtonFactory.getButtonList()) { + button.changeLaunchButtonState(); + } + } } diff --git a/src/org/tizen/emulator/manager/ui/list/TreeListView.java b/src/org/tizen/emulator/manager/ui/list/TreeListView.java index bdc54eb..116802f 100644 --- a/src/org/tizen/emulator/manager/ui/list/TreeListView.java +++ b/src/org/tizen/emulator/manager/ui/list/TreeListView.java @@ -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(); + } + } + } } diff --git a/src/org/tizen/emulator/manager/ui/widgets/CommonVMButtonPainter.java b/src/org/tizen/emulator/manager/ui/widgets/CommonVMButtonPainter.java index ed76fa2..461f62c 100644 --- a/src/org/tizen/emulator/manager/ui/widgets/CommonVMButtonPainter.java +++ b/src/org/tizen/emulator/manager/ui/widgets/CommonVMButtonPainter.java @@ -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) { diff --git a/src/org/tizen/emulator/manager/ui/widgets/VMButton.java b/src/org/tizen/emulator/manager/ui/widgets/VMButton.java index 36e2b35..74138f1 100644 --- a/src/org/tizen/emulator/manager/ui/widgets/VMButton.java +++ b/src/org/tizen/emulator/manager/ui/widgets/VMButton.java @@ -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