From 10afac219c2e32086a8452d0d6de8b8bbee5d751 Mon Sep 17 00:00:00 2001 From: "giwoong.kim" Date: Wed, 12 Dec 2012 21:59:28 +0900 Subject: [PATCH] skin: consider close event of key window handle the key window state when key window is closed by OS close button. And add a key window icon & key window title. Signed-off-by: GiWoong Kim --- .../src/org/tizen/emulator/skin/EmulatorSkin.java | 2 +- .../skin/layout/GeneralPurposeSkinComposer.java | 5 ++++- .../tizen/emulator/skin/window/ControlPanel.java | 14 +++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java index 4e3586d5ca..5a2b96e088 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -925,7 +925,7 @@ public class EmulatorSkin { } try { - controlPanel = new ControlPanel(shell, colorPairTag, + controlPanel = new ControlPanel(this, shell, colorPairTag, communicator, keyMapList); SkinUtil.setTopMost(controlPanel.getShell(), isOnTop); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java index 897cb1e6c6..2648e09747 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java @@ -158,7 +158,10 @@ public class GeneralPurposeSkinComposer implements ISkinComposer { @Override public void mouseDown(MouseEvent e) { if (skin.getIsControlPanel() == true) { - skin.controlPanel.getShell().close(); + if (skin.controlPanel != null) { + skin.controlPanel.getShell().close(); + } + skin.setIsControlPanel(false); skin.pairTagCanvas.setVisible(false); } else { diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/window/ControlPanel.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/window/ControlPanel.java index 81ccc7c8c9..3d715b158a 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/window/ControlPanel.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/window/ControlPanel.java @@ -52,6 +52,7 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Shell; +import org.tizen.emulator.skin.EmulatorSkin; import org.tizen.emulator.skin.comm.ICommunicator.KeyEventType; import org.tizen.emulator.skin.comm.ICommunicator.SendCommand; import org.tizen.emulator.skin.comm.sock.SocketCommunicator; @@ -68,6 +69,7 @@ public class ControlPanel extends SkinWindow { private static final int BUTTON_DEFAULT_CNT = 4; private static final int BUTTON_VERTICAL_SPACING = 7; + private EmulatorSkin skin; private SkinPatches frameMaker; private Image imageNormal; /* ImageButton image */ private Image imageHover; /* hovered ImageButton image */ @@ -86,10 +88,11 @@ public class ControlPanel extends SkinWindow { private boolean isGrabbedShell; private Point grabPosition; - public ControlPanel(Shell parent, Color colorPairTag, + public ControlPanel(EmulatorSkin skin, Shell parent, Color colorPairTag, SocketCommunicator communicator, List keyMapList) { super(parent, SWT.RIGHT | SWT.CENTER); + this.skin = skin; this.shell = new Shell(Display.getDefault(), SWT.NO_TRIM | SWT.RESIZE); this.frameMaker = new SkinPatches(PATCH_IMAGES_PATH); this.colorPairTag = colorPairTag; @@ -98,6 +101,9 @@ public class ControlPanel extends SkinWindow { this.communicator = communicator; this.grabPosition = new Point(0, 0); + shell.setText(parent.getText()); + shell.setImage(parent.getImage()); + /* load image for HW key button */ ClassLoader loader = this.getClass().getClassLoader(); imageNormal = new Image(Display.getDefault(), @@ -344,6 +350,12 @@ public class ControlPanel extends SkinWindow { public void handleEvent(Event event) { logger.info("Key Window is closed"); + if (skin.pairTagCanvas != null) { + skin.pairTagCanvas.setVisible(false); + } + skin.setIsControlPanel(false); + skin.controlPanel = null; + if (null != shellPaintListener) { shell.removePaintListener(shellPaintListener); } -- 2.34.1