From: GiWoong Kim Date: Wed, 17 Jul 2013 10:58:54 +0000 (+0900) Subject: menu: open the KeyWindow if its menu was enabled X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~892^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dbbc79e3c0235ac077539528dcd2aed577f9ec1f;p=sdk%2Femulator%2Fqemu.git menu: open the KeyWindow if its menu was enabled open the KeyWindow at shell opening if key window menu item was enabled Change-Id: Ib89a99e2a39331d3e29c6493b2f0c9e0418cee83 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 d76bb9c952..bf549c5233 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 @@ -252,6 +252,11 @@ public class EmulatorSkin { public long initLayout() { imageRegistry = ImageRegistry.getInstance(); + /* attach a menu */ + isOnKbd = false; + popupMenu = new PopupMenu(config, this, shell, imageRegistry); + + /* build a skin layout */ if (skinInfo.isGeneralPurposeSkin() == false) { skinComposer = new ProfileSpecificSkinComposer(config, this, shell, currentState, imageRegistry, communicator); @@ -275,10 +280,6 @@ public class EmulatorSkin { setFocus(); - /* attach a menu */ - isOnKbd = false; - popupMenu = new PopupMenu(config, this, shell, imageRegistry); - return 0; } @@ -347,6 +348,10 @@ public class EmulatorSkin { return imageRegistry; } + public PopupMenu getPopupMenu() { + return popupMenu; + } + public SkinReopenPolicy open() { if (null == this.communicator) { logger.severe("communicator is null."); @@ -528,7 +533,7 @@ public class EmulatorSkin { shellMenuDetectListener = new MenuDetectListener() { @Override public void menuDetected(MenuDetectEvent e) { - Menu menu = popupMenu.getMenu(); + Menu menu = popupMenu.getMenuRoot(); if (menu != null) { shell.setMenu(menu); @@ -559,7 +564,7 @@ public class EmulatorSkin { canvasMenuDetectListener = new MenuDetectListener() { @Override public void menuDetected(MenuDetectEvent e) { - Menu menu = popupMenu.getMenu(); + Menu menu = popupMenu.getMenuRoot(); keyForceRelease(true); if (menu != null && isDisplayDragging == false) { 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 8acce3a64b..b3458516db 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 @@ -57,6 +57,7 @@ import org.tizen.emulator.skin.custom.CustomProgressBar; import org.tizen.emulator.skin.image.ImageRegistry; import org.tizen.emulator.skin.image.ImageRegistry.IconName; import org.tizen.emulator.skin.log.SkinLogger; +import org.tizen.emulator.skin.menu.PopupMenu; import org.tizen.emulator.skin.util.SkinRotation; import org.tizen.emulator.skin.util.SkinUtil; import org.tizen.emulator.skin.util.SwtUtil; @@ -201,20 +202,24 @@ public class GeneralPurposeSkinComposer implements ISkinComposer { arrangeSkin(scale, rotationId); - /* open the key window */ - final int dockValue = config.getSkinPropertyInt( - SkinPropertiesConstants.KEYWINDOW_POSITION, 0); + /* open the key window if key window menu item was enabled */ + PopupMenu popupMenu = skin.getPopupMenu(); - shell.getDisplay().asyncExec(new Runnable() { - @Override - public void run() { - if (dockValue == 0 || dockValue == SWT.NONE) { - skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, false); - } else { - skin.openKeyWindow(dockValue, false); + if (popupMenu != null && popupMenu.keyWindowItem != null) { + final int dockValue = config.getSkinPropertyInt( + SkinPropertiesConstants.KEYWINDOW_POSITION, 0); + + shell.getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + if (dockValue == 0 || dockValue == SWT.NONE) { + skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, false); + } else { + skin.openKeyWindow(dockValue, false); + } } - } - }); + }); + } } @Override diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ProfileSpecificSkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ProfileSpecificSkinComposer.java index 54852c0632..712a67babd 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ProfileSpecificSkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ProfileSpecificSkinComposer.java @@ -64,6 +64,7 @@ import org.tizen.emulator.skin.image.ImageRegistry; import org.tizen.emulator.skin.image.ImageRegistry.IconName; import org.tizen.emulator.skin.image.ImageRegistry.ImageType; import org.tizen.emulator.skin.log.SkinLogger; +import org.tizen.emulator.skin.menu.PopupMenu; import org.tizen.emulator.skin.util.SkinRotation; import org.tizen.emulator.skin.util.SkinUtil; import org.tizen.emulator.skin.util.SwtUtil; @@ -160,6 +161,25 @@ public class ProfileSpecificSkinComposer implements ISkinComposer { "Failed to load Skin image file.", SWT.ICON_ERROR, config); System.exit(-1); } + + /* open the key window if key window menu item was enabled */ + PopupMenu popupMenu = skin.getPopupMenu(); + + if (popupMenu != null && popupMenu.keyWindowItem != null) { + final int dockValue = config.getSkinPropertyInt( + SkinPropertiesConstants.KEYWINDOW_POSITION, 0); + + shell.getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + if (dockValue == 0 || dockValue == SWT.NONE) { + skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, false); + } else { + skin.openKeyWindow(dockValue, false); + } + } + }); + } } @Override diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/menu/PopupMenu.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/menu/PopupMenu.java index f70b82bde9..045675da8d 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/menu/PopupMenu.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/menu/PopupMenu.java @@ -304,7 +304,7 @@ public class PopupMenu { closeItem.addSelectionListener(closeListener); } - public Menu getMenu() { + public Menu getMenuRoot() { return contextMenu; } }