skin: move getWindowHandleId() from base class to child class
authorgiwoong.kim <giwoong.kim@samsung.com>
Mon, 22 Oct 2012 13:28:20 +0000 (22:28 +0900)
committergiwoong.kim <giwoong.kim@samsung.com>
Mon, 22 Oct 2012 13:28:20 +0000 (22:28 +0900)
The canvas(lcd) handle id is not necessary in EmulatorShmSkin class.

Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java
tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java
tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java

index 413be91..e4bf4b5 100644 (file)
@@ -28,6 +28,7 @@
 
 package org.tizen.emulator.skin;
 
+import java.lang.reflect.Field;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -39,6 +40,7 @@ import org.tizen.emulator.skin.log.SkinLogger;
 import org.tizen.emulator.skin.mode.SkinMode;
 import org.tizen.emulator.skin.screenshot.SdlScreenShotWindow;
 import org.tizen.emulator.skin.util.SkinUtil;
+import org.tizen.emulator.skin.util.SwtUtil;
 
 public class EmulatorSdlSkin extends EmulatorSkin {
        private Logger logger = SkinLogger.getSkinLogger(
@@ -51,6 +53,72 @@ public class EmulatorSdlSkin extends EmulatorSkin {
                super(config, mode, isOnTop);
        }
 
+       public long compose() {
+               super.compose();
+
+               // sdl uses this handle id.
+               windowHandleId = getWindowHandleId();
+
+               return windowHandleId;
+       }
+
+       private long getWindowHandleId() {
+               long windowHandleId = 0;
+
+               /* org.eclipse.swt.widgets.Widget */
+               if (SwtUtil.isLinuxPlatform()) {
+
+                       try {
+                               Field field = lcdCanvas.getClass().getField("embeddedHandle");
+                               windowHandleId = field.getLong(lcdCanvas);
+                               logger.info("lcdCanvas.embeddedHandle:" + windowHandleId);
+                       } catch (IllegalArgumentException e) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       } catch (IllegalAccessException e ) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       } catch (SecurityException e ) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       } catch (NoSuchFieldException e) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       }
+
+               } else if (SwtUtil.isWindowsPlatform()) {
+
+                       try {
+                               Field field = lcdCanvas.getClass().getField("handle");
+                               windowHandleId = field.getLong(lcdCanvas);
+                               logger.info("lcdCanvas.handle:" + windowHandleId);
+                       } catch (IllegalArgumentException e) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       } catch (IllegalAccessException e) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       } catch (SecurityException e) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       } catch (NoSuchFieldException e) {
+                               logger.log(Level.SEVERE, e.getMessage(), e);
+                               shutdown();
+                       }
+
+               } else if (SwtUtil.isMacPlatform()) {
+
+                       // not supported
+                       windowHandleId = 0;
+
+               } else {
+                       logger.severe("Not Supported OS platform:" + SWT.getPlatform());
+                       System.exit(-1);
+               }
+
+               return windowHandleId;
+       }
+
        protected void openScreenShotWindow() {
                if (screenShotDialog != null) {
                        return;
index 5f913bd..ea825de 100644 (file)
@@ -142,7 +142,7 @@ public class EmulatorShmSkin extends EmulatorSkin {
        }
 
        public long compose() {
-               long ret = super.compose();
+               super.compose();
 
                int result = shmget(currentLcdWidth * currentLcdHeight); //initialize shared memory
                //logger.info("shmget navtive function returned " + result);
@@ -195,7 +195,7 @@ public class EmulatorShmSkin extends EmulatorSkin {
 
                pollThread.start();
 
-               return ret;
+               return 0;
        }
 
        protected void openScreenShotWindow() {
index 0dfbb04..585e4c6 100644 (file)
@@ -171,7 +171,7 @@ public class EmulatorSkin {
        private Menu contextMenu;
 
        protected SocketCommunicator communicator;
-       private long windowHandleId;
+       protected long windowHandleId;
 
        private Listener shellCloseListener;
        private PaintListener shellPaintListener;
@@ -216,7 +216,6 @@ public class EmulatorSkin {
        }
 
        public long compose() {
-
                this.lcdCanvas = new Canvas( shell, SWT.EMBEDDED );
 
                int x = config.getSkinPropertyInt( SkinPropertiesConstants.WINDOW_X, EmulatorConfig.DEFAULT_WINDOW_X );
@@ -232,11 +231,7 @@ public class EmulatorSkin {
                composeInternal( lcdCanvas, x, y, lcdWidth, lcdHeight, scale, rotationId, false );
                logger.info("lcdWidth : " + lcdWidth + ", lcdHeight : " + lcdHeight + ", scale : " + scale);
 
-               // sdl uses this handle id.
-               windowHandleId = getWindowHandleId();
-
-               return windowHandleId;
-
+               return 0;
        }
 
        private void composeInternal( Canvas lcdCanvas, int x, int y, int lcdWidth, int lcdHeight, int scale,
@@ -319,65 +314,6 @@ public class EmulatorSkin {
 //
 //     }
 
-       private long getWindowHandleId() {
-
-               long windowHandleId = 0;
-
-               /* org.eclipse.swt.widgets.Widget */
-               if (SwtUtil.isLinuxPlatform()) {
-
-                       try {
-                               Field field = lcdCanvas.getClass().getField("embeddedHandle");
-                               windowHandleId = field.getLong(lcdCanvas);
-                               logger.info("lcdCanvas.embeddedHandle:" + windowHandleId);
-                       } catch (IllegalArgumentException e) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       } catch (IllegalAccessException e ) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       } catch (SecurityException e ) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       } catch (NoSuchFieldException e) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       }
-
-               } else if (SwtUtil.isWindowsPlatform()) {
-
-                       try {
-                               Field field = lcdCanvas.getClass().getField("handle");
-                               windowHandleId = field.getLong(lcdCanvas);
-                               logger.info("lcdCanvas.handle:" + windowHandleId);
-                       } catch (IllegalArgumentException e) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       } catch (IllegalAccessException e) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       } catch (SecurityException e) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       } catch (NoSuchFieldException e) {
-                               logger.log(Level.SEVERE, e.getMessage(), e);
-                               shutdown();
-                       }
-
-               } else if (SwtUtil.isMacPlatform()) {
-
-                       // not supported
-                       windowHandleId = 0;
-
-               } else {
-                       logger.severe("Not Supported OS platform:" + SWT.getPlatform());
-                       System.exit(-1);
-               }
-
-               return windowHandleId;
-
-       }
-
        private void seteHoverColor() {
 
                ColorsType colors = config.getDbiContents().getColors();