mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 03:21:04 +00:00
Window level corrections and tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6459 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
937e09c22d
commit
ba2e62d6de
4 changed files with 57 additions and 39 deletions
|
@ -1,3 +1,11 @@
|
|||
2000-04-13 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSMenu.m: ([-_setOwnedBypopUp:]) set correct window level for
|
||||
popup menu windows.
|
||||
* Source/NSApplication.m: ([-beginModalSessionForWindow:]) set correct
|
||||
window level for panels now that WindowMaker supports it.
|
||||
* Source/NSSliderCell.m: Minor tidyups
|
||||
|
||||
2000-04-12 Jonathan Gapen <jagapen@whitewater.chem.wisc.edu>
|
||||
|
||||
* Model/GMAppKit.m: Added methods for NSSliderCell.
|
||||
|
|
|
@ -919,9 +919,7 @@ static NSCell* tileCell = nil;
|
|||
if ([theWindow isKindOfClass: [NSPanel class]])
|
||||
{
|
||||
[theWindow center];
|
||||
// FIXME need support for NSModalPanelWindowLevel in Window Maker
|
||||
// [theWindow setLevel: NSModalPanelWindowLevel];
|
||||
[theWindow setLevel: NSMainMenuWindowLevel];
|
||||
[theWindow setLevel: NSModalPanelWindowLevel];
|
||||
}
|
||||
[theWindow orderFrontRegardless];
|
||||
if ([self isActive] == YES)
|
||||
|
|
|
@ -129,11 +129,15 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
|||
|
||||
- (void)_setOwnedByPopUp: (BOOL)flag
|
||||
{
|
||||
menu_is_beholdenToPopUpButton = flag;
|
||||
|
||||
if (flag == YES)
|
||||
if (menu_is_beholdenToPopUpButton != flag)
|
||||
{
|
||||
[titleView removeFromSuperviewWithoutNeedingDisplay];
|
||||
menu_is_beholdenToPopUpButton = flag;
|
||||
if (flag == YES)
|
||||
{
|
||||
[titleView removeFromSuperviewWithoutNeedingDisplay];
|
||||
[aWindow setLevel: NSPopUpMenuWindowLevel];
|
||||
[bWindow setLevel: NSPopUpMenuWindowLevel];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
- (id) init
|
||||
{
|
||||
[self initImageCell: nil];
|
||||
self = [self initImageCell: nil];
|
||||
_altIncrementValue = -1;
|
||||
_isVertical = -1;
|
||||
_minValue = 0;
|
||||
|
@ -56,8 +56,8 @@
|
|||
|
||||
- (void) dealloc
|
||||
{
|
||||
[_titleCell release];
|
||||
[_knobCell release];
|
||||
RELEASE(_titleCell);
|
||||
RELEASE(_knobCell);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -74,19 +74,21 @@
|
|||
|
||||
- (NSRect) knobRectFlipped: (BOOL)flipped
|
||||
{
|
||||
NSImage* image = [_knobCell image];
|
||||
NSSize size;
|
||||
NSPoint origin;
|
||||
float floatValue = [self floatValue];
|
||||
NSImage *image = [_knobCell image];
|
||||
NSSize size;
|
||||
NSPoint origin;
|
||||
float floatValue = [self floatValue];
|
||||
|
||||
if (_isVertical && flipped)
|
||||
floatValue = _maxValue + _minValue - floatValue;
|
||||
{
|
||||
floatValue = _maxValue + _minValue - floatValue;
|
||||
}
|
||||
|
||||
floatValue = (floatValue - _minValue) / (_maxValue - _minValue);
|
||||
|
||||
size = [image size];
|
||||
|
||||
if (_isVertical)
|
||||
if (_isVertical == YES)
|
||||
{
|
||||
origin = _trackRect.origin;
|
||||
origin.y += (_trackRect.size.height - size.height) * floatValue;
|
||||
|
@ -112,34 +114,39 @@
|
|||
|
||||
- (void) drawInteriorWithFrame: (NSRect)cellFrame inView: (NSView*)controlView
|
||||
{
|
||||
BOOL vertical = (cellFrame.size.height > cellFrame.size.width);
|
||||
NSImage* image;
|
||||
NSSize size;
|
||||
BOOL vertical = (cellFrame.size.height > cellFrame.size.width);
|
||||
NSImage *image;
|
||||
NSSize size;
|
||||
|
||||
cellFrame = [self drawingRectForBounds: cellFrame];
|
||||
|
||||
[controlView lockFocus];
|
||||
if (vertical != _isVertical) {
|
||||
if (vertical) {
|
||||
image = [NSImage imageNamed: @"common_SliderVert"];
|
||||
size = [image size];
|
||||
[_knobCell setImage: image];
|
||||
[image setSize: NSMakeSize (cellFrame.size.width, size.height)];
|
||||
if (vertical != _isVertical)
|
||||
{
|
||||
if (vertical == YES)
|
||||
{
|
||||
image = [NSImage imageNamed: @"common_SliderVert"];
|
||||
size = [image size];
|
||||
[_knobCell setImage: image];
|
||||
[image setSize: NSMakeSize (cellFrame.size.width, size.height)];
|
||||
}
|
||||
else
|
||||
{
|
||||
image = [NSImage imageNamed: @"common_SliderHoriz"];
|
||||
size = [image size];
|
||||
[_knobCell setImage: image];
|
||||
[image setSize: NSMakeSize (size.width, cellFrame.size.height)];
|
||||
}
|
||||
}
|
||||
else {
|
||||
image = [NSImage imageNamed: @"common_SliderHoriz"];
|
||||
size = [image size];
|
||||
[_knobCell setImage: image];
|
||||
[image setSize: NSMakeSize (size.width, cellFrame.size.height)];
|
||||
}
|
||||
}
|
||||
_isVertical = vertical;
|
||||
|
||||
_trackRect = cellFrame;
|
||||
|
||||
[self drawBarInside: cellFrame flipped: [controlView isFlipped]];
|
||||
if (_titleCell)
|
||||
[_titleCell drawInteriorWithFrame: cellFrame inView: controlView];
|
||||
if (_titleCell == YES)
|
||||
{
|
||||
[_titleCell drawInteriorWithFrame: cellFrame inView: controlView];
|
||||
}
|
||||
[self drawKnob];
|
||||
[controlView unlockFocus];
|
||||
}
|
||||
|
@ -151,18 +158,18 @@
|
|||
|
||||
- (float) knobThickness
|
||||
{
|
||||
NSImage* image = [_knobCell image];
|
||||
NSSize size = [image size];
|
||||
NSImage *image = [_knobCell image];
|
||||
NSSize size = [image size];
|
||||
|
||||
return _isVertical ? size.height : size.width;
|
||||
}
|
||||
|
||||
- (void) setKnobThickness: (float)thickness
|
||||
{
|
||||
NSImage* image = [_knobCell image];
|
||||
NSSize size = [image size];
|
||||
NSImage *image = [_knobCell image];
|
||||
NSSize size = [image size];
|
||||
|
||||
if (_isVertical)
|
||||
if (_isVertical == YES)
|
||||
size.height = thickness;
|
||||
else
|
||||
size.width = thickness;
|
||||
|
@ -258,6 +265,7 @@
|
|||
- (float) floatValue
|
||||
{
|
||||
float aFloat = [super floatValue];
|
||||
|
||||
if (aFloat < _minValue)
|
||||
return _minValue;
|
||||
else if (aFloat > _maxValue)
|
||||
|
|
Loading…
Reference in a new issue