Fix tooltip dimensions on NS (Bug#9176).

* src/nsmenu.m (-setText): Size tooltip dimensions precisely to
contents.
(EmacsTooltip -init): Remove bezels and add shadows to
tooltip windows.
This commit is contained in:
Alp Aker 2011-07-28 14:30:59 -04:00 committed by Chong Yidong
parent d8c2fa7879
commit ffe57a7a0e
2 changed files with 15 additions and 11 deletions

View file

@ -4,6 +4,11 @@
setting frame foreground color (Bug#9175).
(x_set_background_color): Likewise.
* nsmenu.m (-setText): Size tooltip dimensions precisely to
contents (Bug#9176).
(EmacsTooltip -init): Remove bezels and add shadows to
tooltip windows.
2011-07-28 Alp Aker <alp.tekin.aker@gmail.com>
Implement strike-through and overline on NextStep (Bug#8863).

View file

@ -1228,8 +1228,8 @@ @implementation EmacsTooltip
[textField setEditable: NO];
[textField setSelectable: NO];
[textField setBordered: YES];
[textField setBezeled: YES];
[textField setBordered: NO];
[textField setBezeled: NO];
[textField setDrawsBackground: YES];
win = [[NSWindow alloc]
@ -1237,6 +1237,7 @@ @implementation EmacsTooltip
styleMask: 0
backing: NSBackingStoreBuffered
defer: YES];
[win setHasShadow: YES];
[win setReleasedWhenClosed: NO];
[win setDelegate: self];
[[win contentView] addSubview: textField];
@ -1257,17 +1258,15 @@ - (void) dealloc
- (void) setText: (char *)text
{
NSString *str = [NSString stringWithUTF8String: text];
NSRect r = [textField frame];
NSSize textSize = [str sizeWithAttributes:
[NSDictionary dictionaryWithObject: [[textField font] screenFont]
forKey: NSFontAttributeName]];
NSSize padSize = [[[textField font] screenFont]
boundingRectForFont].size;
NSRect r = [textField frame];
NSSize tooltipDims;
r.size.width = textSize.width + padSize.width/2;
r.size.height = textSize.height + padSize.height/2;
[textField setFrame: r];
[textField setStringValue: str];
tooltipDims = [[textField cell] cellSize];
r.size.width = tooltipDims.width;
r.size.height = tooltipDims.height;
[textField setFrame: r];
}
- (void) showAtX: (int)x Y: (int)y for: (int)seconds