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:
parent
d8c2fa7879
commit
ffe57a7a0e
2 changed files with 15 additions and 11 deletions
|
@ -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).
|
||||
|
|
21
src/nsmenu.m
21
src/nsmenu.m
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue