From: giwoong.kim Date: Mon, 14 Jan 2013 02:53:24 +0000 (+0900) Subject: skin: removed readAndDispatch on Key Window X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~1188 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=743e4857a760cef863a1acc4e5a01d1938557661;p=sdk%2Femulator%2Fqemu.git skin: removed readAndDispatch on Key Window removed readAndDispatch function call on Key Window Signed-off-by: GiWoong Kim --- 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 68d4136cc3..ac708a9564 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 @@ -181,9 +181,13 @@ public class EmulatorSkin { this.finger = finger; this.config = config; this.skinInfo = skinInfo; + + this.screenShotDialog = null; + this.keyWindow = null; + this.pressedKeyEventList = new LinkedList(); + this.isOnTop = isOnTop; this.isKeyWindow = false; - this.pressedKeyEventList = new LinkedList(); int style = SWT.NO_TRIM | SWT.DOUBLE_BUFFERED; // if (skinInfo.isPhoneShape() == false) { @@ -941,16 +945,21 @@ public class EmulatorSkin { return keyWindowItem.getSelection(); } - public void openKeyWindow(int dockValue) { + public void openKeyWindow(int dockValue, boolean recreate) { if (keyWindow != null) { - /* show the key window */ - keyWindowItem.setSelection(isKeyWindow = true); - pairTagCanvas.setVisible(true); - - keyWindow.getShell().setVisible(true); - SkinUtil.setTopMost(keyWindow.getShell(), isOnTop); - - return; + if (recreate == false) { + /* show the key window */ + keyWindowItem.setSelection(isKeyWindow = true); + pairTagCanvas.setVisible(true); + + keyWindow.getShell().setVisible(true); + SkinUtil.setTopMost(keyWindow.getShell(), isOnTop); + + return; + } else { + logger.info("recreate a keywindow"); + closeKeyWindow(); + } } /* create a key window */ @@ -967,21 +976,15 @@ public class EmulatorSkin { return; } - try { - keyWindow = new KeyWindow(this, shell, colorPairTag, - communicator, keyMapList); + keyWindow = new KeyWindow(this, shell, colorPairTag, + communicator, keyMapList); - keyWindowItem.setSelection(isKeyWindow = true); - SkinUtil.setTopMost(keyWindow.getShell(), isOnTop); + keyWindowItem.setSelection(isKeyWindow = true); + SkinUtil.setTopMost(keyWindow.getShell(), isOnTop); - //colorPairTag = keyWindow.getPairTagColor(); - pairTagCanvas.setVisible(true); + pairTagCanvas.setVisible(true); - keyWindow.open(dockValue); - /* do not add at this line */ - } finally { - keyWindow = null; - } + keyWindow.open(dockValue); } public void hideKeyWindow() { @@ -1080,8 +1083,11 @@ public class EmulatorSkin { final boolean selectKeyWindow = keyWindowItem.getSelection(); if (selectKeyWindow == true) { - openKeyWindow((keyWindow == null) ? - SWT.RIGHT | SWT.CENTER : keyWindow.getDockPosition()); + if (keyWindow == null) { + openKeyWindow(SWT.RIGHT | SWT.CENTER, false); + } else { + openKeyWindow(keyWindow.getDockPosition(), false); + } } else { /* hide a key window */ if (keyWindow != null && keyWindow.getDockPosition() != SWT.NONE) { diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java index 5e6d10c89d..5f0c31f0e7 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java @@ -352,6 +352,7 @@ public class KeyWindow extends SkinWindow { if (skin.pairTagCanvas != null) { skin.pairTagCanvas.setVisible(false); } + skin.keyWindow = null; if (null != shellPaintListener) { shell.removePaintListener(shellPaintListener); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/SkinWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/SkinWindow.java index 35f31fa22f..abddad9e47 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/SkinWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/SkinWindow.java @@ -61,12 +61,6 @@ public class SkinWindow { dock(dockValue, true, true); shell.open(); - - while (!shell.isDisposed()) { - if (!shell.getDisplay().readAndDispatch()) { - shell.getDisplay().sleep(); - } - } } public void dock(int dockValue, 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 ead109af1a..53d26f5277 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 @@ -160,7 +160,7 @@ public class GeneralPurposeSkinComposer implements ISkinComposer { if (skin.isSelectKeyWindow() == true) { skin.closeKeyWindow(); } else { - skin.openKeyWindow(SWT.RIGHT | SWT.CENTER); + skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, true); } } @@ -203,7 +203,7 @@ public class GeneralPurposeSkinComposer implements ISkinComposer { shell.getDisplay().asyncExec(new Runnable() { @Override public void run() { - skin.openKeyWindow(SWT.RIGHT | SWT.CENTER); + skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, false); } }); }