mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 03:30:39 +00:00
Clean up toolbar item resizing, this now allows for resizable item other than flexible space.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30371 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
562f545bd3
commit
ed30b6221a
2 changed files with 136 additions and 114 deletions
|
@ -613,18 +613,20 @@ NSString *GSMovableToolbarItemPboardType = @"GSMovableToolbarItemPboardType";
|
|||
if ([view superview] == nil) // Show the view to eventually hide it later
|
||||
[self addSubview: view];
|
||||
|
||||
if([view respondsToSelector:@selector(sizeToFit)])
|
||||
if ([view respondsToSelector: @selector(sizeToFit)])
|
||||
{
|
||||
NSSize newSize, minSize = [_toolbarItem minSize];
|
||||
[view performSelector:@selector(sizeToFit)];
|
||||
newSize = [view frame].size;
|
||||
if (newSize.width < minSize.width || newSize.height < minSize.height)
|
||||
{
|
||||
newSize.width = MAX(newSize.width, minSize.width);
|
||||
newSize.height = MAX(newSize.height, minSize.height);
|
||||
[view setFrameSize:newSize];
|
||||
}
|
||||
|
||||
[(id)view sizeToFit];
|
||||
newSize = [view frame].size;
|
||||
if (newSize.width < minSize.width || newSize.height < minSize.height)
|
||||
{
|
||||
newSize.width = MAX(newSize.width, minSize.width);
|
||||
newSize.height = MAX(newSize.height, minSize.height);
|
||||
[view setFrameSize: newSize];
|
||||
}
|
||||
}
|
||||
|
||||
// Adjust the layout in accordance with NSToolbarSizeMode
|
||||
switch ([[_toolbarItem toolbar] sizeMode])
|
||||
{
|
||||
|
@ -1495,7 +1497,7 @@ NSString *GSMovableToolbarItemPboardType = @"GSMovableToolbarItemPboardType";
|
|||
|
||||
- (BOOL) _isFlexibleSpace
|
||||
{
|
||||
return [self isKindOfClass:[GSToolbarFlexibleSpaceItem class]];
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL) _selectable
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue