menu: open the KeyWindow if its menu was enabled
authorGiWoong Kim <giwoong.kim@samsung.com>
Wed, 17 Jul 2013 10:58:54 +0000 (19:58 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Wed, 17 Jul 2013 10:58:54 +0000 (19:58 +0900)
open the KeyWindow at shell opening if key window
menu item was enabled

Change-Id: Ib89a99e2a39331d3e29c6493b2f0c9e0418cee83
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java
tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java
tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ProfileSpecificSkinComposer.java
tizen/src/skin/client/src/org/tizen/emulator/skin/menu/PopupMenu.java

index d76bb9c952741bfb1cc438541307b207caf062b3..bf549c5233df75b9e888b996817e465e66c5eff8 100644 (file)
@@ -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) {
index 8acce3a64b61a96a15c35d8f41e5009a4e565678..b3458516dbdb5d220ff4145ba129288698c37408 100644 (file)
@@ -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
index 54852c06325d288a601f69927489ece69cd3df8b..712a67babd37e603482601e990b4311fcfa52207 100644 (file)
@@ -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
index f70b82bde97efb40cea4669b282180f5d842454c..045675da8d44992c2acc7248608c8919bad183f5 100644 (file)
@@ -304,7 +304,7 @@ public class PopupMenu {
                closeItem.addSelectionListener(closeListener);
        }
 
-       public Menu getMenu() {
+       public Menu getMenuRoot() {
                return contextMenu;
        }
 }