skin: position correction for emulator window
authorgiwoong.kim <giwoong.kim@samsung.com>
Tue, 18 Jun 2013 08:08:56 +0000 (17:08 +0900)
committergiwoong.kim <giwoong.kim@samsung.com>
Tue, 18 Jun 2013 08:08:56 +0000 (17:08 +0900)
To prevent a emulator window vanishing from monitor,
Emulator modifies its window position itself after
rotating or resizing.

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

index 656816d39aabb63ec7780c738d24188bcf6e455f..10106e2c98101555639f3f3f754cb95df2c1a4c1 100644 (file)
@@ -57,6 +57,7 @@ import org.eclipse.swt.events.ShellListener;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.widgets.Canvas;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Menu;
@@ -1445,6 +1446,12 @@ public class EmulatorSkin {
 //                                                     shell.setLocation(location);
 //                                                     SkinUtil.setTopMost(shell, isOnTop);
 //                                             }
+
+                                               /* location correction */
+                                               Rectangle emulatorBound = shell.getBounds();
+                                               shell.setLocation(
+                                                               Math.max(emulatorBound.x, 0),
+                                                               Math.max(emulatorBound.y, 0));
                                        }
                                });
 
@@ -1468,28 +1475,27 @@ public class EmulatorSkin {
 
                final List<MenuItem> scaleList = new ArrayList<MenuItem>();
 
-               final MenuItem scaleOneItem = new MenuItem( menu, SWT.RADIO );
-               scaleOneItem.setText( "1x" );
-               scaleOneItem.setData( Scale.SCALE_100 );
-               scaleList.add( scaleOneItem );
+               final MenuItem scaleOneItem = new MenuItem(menu, SWT.RADIO);
+               scaleOneItem.setText("1x");
+               scaleOneItem.setData(Scale.SCALE_100);
+               scaleList.add(scaleOneItem);
 
-               final MenuItem scaleThreeQtrItem = new MenuItem( menu, SWT.RADIO );
-               scaleThreeQtrItem.setText( "3/4x" );
-               scaleThreeQtrItem.setData( Scale.SCALE_75 );
+               final MenuItem scaleThreeQtrItem = new MenuItem(menu, SWT.RADIO);
+               scaleThreeQtrItem.setText("3/4x");
+               scaleThreeQtrItem.setData(Scale.SCALE_75);
                scaleList.add( scaleThreeQtrItem );
 
-               final MenuItem scalehalfItem = new MenuItem( menu, SWT.RADIO );
-               scalehalfItem.setText( "1/2x" );
-               scalehalfItem.setData( Scale.SCALE_50 );
-               scaleList.add( scalehalfItem );
+               final MenuItem scalehalfItem = new MenuItem(menu, SWT.RADIO);
+               scalehalfItem.setText("1/2x");
+               scalehalfItem.setData(Scale.SCALE_50);
+               scaleList.add(scalehalfItem);
 
-               final MenuItem scaleOneQtrItem = new MenuItem( menu, SWT.RADIO );
-               scaleOneQtrItem.setText( "1/4x" );
-               scaleOneQtrItem.setData( Scale.SCALE_25 );
-               scaleList.add( scaleOneQtrItem );
+               final MenuItem scaleOneQtrItem = new MenuItem(menu, SWT.RADIO);
+               scaleOneQtrItem.setText("1/4x");
+               scaleOneQtrItem.setData(Scale.SCALE_25);
+               scaleList.add(scaleOneQtrItem);
 
                SelectionAdapter selectionAdapter = new SelectionAdapter() {
-
                        @Override
                        public void widgetSelected(SelectionEvent e) {
 
@@ -1520,6 +1526,12 @@ public class EmulatorSkin {
 //                                                     shell.setLocation(location);
 //                                                     SkinUtil.setTopMost(shell, isOnTop);
 //                                             }
+
+                                               /* location correction */
+                                               Rectangle emulatorBound = shell.getBounds();
+                                               shell.setLocation(
+                                                               Math.max(emulatorBound.x, 0),
+                                                               Math.max(emulatorBound.y, 0));
                                        }
                                });