From: giwoong.kim Date: Fri, 6 Apr 2012 12:27:14 +0000 (+0900) Subject: [Title] added hardkey tooltip feature X-Git-Tag: TizenStudio_2.0_p2.3~1531 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1aa4984946742c5274c80744b4e8d34cc50100bb;p=sdk%2Femulator%2Fqemu.git [Title] added hardkey tooltip feature [Type] [Module] Emulator / skin [Priority] [Jira#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- 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 db65c5a..141bcba 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 @@ -500,6 +500,8 @@ public class EmulatorSkin { shell.redraw( currentHoverRegion.x, currentHoverRegion.y, currentHoverRegion.width + 1, currentHoverRegion.height + 1, false ); } + shell.setToolTipText(null); + isHoverState = false; currentHoverRegion.width = currentHoverRegion.height = 0; } @@ -539,10 +541,16 @@ public class EmulatorSkin { shell.redraw( currentHoverRegion.x, currentHoverRegion.y, currentHoverRegion.width + 1, currentHoverRegion.height + 1, false ); } + shell.setToolTipText(null); + isHoverState = false; currentHoverRegion.width = currentHoverRegion.height = 0; } } else { + if (isHoverState == false) { + shell.setToolTipText(SkinUtil.getHardKeyToolTip(e.x, e.y, currentRotationId, currentScale)); + } + isHoverState = true; GC gc = new GC( shell ); gc.setLineWidth( 1 ); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java index 3019d1c..047226d 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java @@ -197,6 +197,32 @@ public class SkinUtil { } + //TODO: HardKey object + public static String getHardKeyToolTip( int currentX, int currentY, short rotationId, int scale ) { + + float convertedScale = convertScale( scale ); + + RotationType rotation = SkinRotation.getRotation( rotationId ); + + List keyMapList = rotation.getKeyMapList().getKeyMap(); + + for ( KeyMapType keyMap : keyMapList ) { + RegionType region = keyMap.getRegion(); + + int scaledX = (int) ( region.getLeft() * convertedScale ); + int scaledY = (int) ( region.getTop() * convertedScale ); + int scaledWidth = (int) ( region.getWidth() * convertedScale ); + int scaledHeight = (int) ( region.getHeight() * convertedScale ); + + if ( isInGeometry( currentX, currentY, scaledX, scaledY, scaledWidth, scaledHeight ) ) { + return keyMap.getTooltip(); + } + } + + return null; + + } + public static boolean isInGeometry( int currentX, int currentY, int targetX, int targetY, int targetWidth, int targetHeight ) {