mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-24 18:31:20 +00:00
Further improvement of toolbar resizing and missing changelog entry.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30380 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
ccfd4b4fd5
commit
4335c12ae4
2 changed files with 48 additions and 21 deletions
|
@ -1,3 +1,9 @@
|
|||
2010-05-13 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
||||
* Source/NSToolbarItem.m (-_isFlexibleSpace): Simplify this method.
|
||||
* Source/GSToolbarView.m: Clean up toolbar item resizing, this now
|
||||
allows for resizable item other than flexible space.
|
||||
|
||||
2010-05-13 Wolfgang Lux <wolfgang.lux@gmail.com>
|
||||
|
||||
* Source/GSNibLoading.m (-nibInstantiateWithOwner:topLeveObjects:,
|
||||
|
@ -76,7 +82,6 @@
|
|||
Fix bug where some objects from the nib file were not sent an
|
||||
-awakeFromNib message.
|
||||
|
||||
>>>>>>> .r30369
|
||||
2010-05-11 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
||||
* Headers/Additions/GNUstepGUI/GSTheme.h:
|
||||
|
|
|
@ -655,7 +655,6 @@ static void initSystemExtensionsColors(void)
|
|||
NSArray *items = [_toolbar items];
|
||||
NSEnumerator *e = [items objectEnumerator];
|
||||
NSToolbarItem *item;
|
||||
NSView *backView;
|
||||
NSRect lastBackViewFrame;
|
||||
float lengthAvailable;
|
||||
unsigned int flexibleSpaceItemsNumber = 0;
|
||||
|
@ -678,7 +677,16 @@ static void initSystemExtensionsColors(void)
|
|||
{
|
||||
flexibleSpaceItemsNumber++;
|
||||
}
|
||||
maxX += [item maxSize].width;
|
||||
|
||||
// Currently only item with a view are resizable
|
||||
if ([item view] != nil)
|
||||
{
|
||||
maxX += [item maxSize].width;
|
||||
}
|
||||
else
|
||||
{
|
||||
maxX += NSWidth([[item _backView] frame]);
|
||||
}
|
||||
}
|
||||
|
||||
if (flexibleSpaceItemsNumber > 0)
|
||||
|
@ -689,7 +697,7 @@ static void initSystemExtensionsColors(void)
|
|||
e = [items objectEnumerator];
|
||||
while ((item = [e nextObject]) != nil)
|
||||
{
|
||||
backView = [item _backView];
|
||||
NSView *backView = [item _backView];
|
||||
if ([item _isFlexibleSpace])
|
||||
{
|
||||
NSRect backViewFrame = [backView frame];
|
||||
|
@ -716,29 +724,43 @@ static void initSystemExtensionsColors(void)
|
|||
if (maxX >= NSMaxX(lastBackViewFrame))
|
||||
{
|
||||
CGFloat rel = lengthAvailable / (maxX - NSMaxX(lastBackViewFrame));
|
||||
|
||||
if (rel > 1.0)
|
||||
rel = 1.0;
|
||||
|
||||
e = [items objectEnumerator];
|
||||
while ((item = [e nextObject]) != nil)
|
||||
{
|
||||
CGFloat diff = [item maxSize].width - [item minSize].width;
|
||||
NSView *view = [item view];
|
||||
NSView *backView = [item _backView];
|
||||
|
||||
backView = [item _backView];
|
||||
if (diff > 0)
|
||||
if (view != nil)
|
||||
{
|
||||
NSRect backViewFrame = [backView frame];
|
||||
|
||||
[backView setFrame: NSMakeRect(x, backViewFrame.origin.y,
|
||||
(rel * diff) + [item minSize].width,
|
||||
backViewFrame.size.height)];
|
||||
mustAdjustNext = YES;
|
||||
CGFloat diff = [item maxSize].width - [item minSize].width;
|
||||
|
||||
if (diff > 0)
|
||||
{
|
||||
NSRect backViewFrame = [backView frame];
|
||||
NSRect viewFrame = [view frame];
|
||||
|
||||
[backView setFrame: NSMakeRect(x, backViewFrame.origin.y,
|
||||
(rel * diff) + [item minSize].width,
|
||||
backViewFrame.size.height)];
|
||||
// Subtract InsetItemViewX
|
||||
viewFrame.size.width = (rel * diff) + [item minSize].width
|
||||
- 2 * 10;
|
||||
[view setFrame: viewFrame];
|
||||
mustAdjustNext = YES;
|
||||
}
|
||||
else if (mustAdjustNext)
|
||||
{
|
||||
NSRect backViewFrame = [backView frame];
|
||||
|
||||
[backView setFrame: NSMakeRect(x, backViewFrame.origin.y,
|
||||
backViewFrame.size.width, backViewFrame.size.height)];
|
||||
}
|
||||
}
|
||||
else if (mustAdjustNext)
|
||||
{
|
||||
NSRect backViewFrame = [backView frame];
|
||||
|
||||
[backView setFrame: NSMakeRect(x, backViewFrame.origin.y,
|
||||
backViewFrame.size.width, backViewFrame.size.height)];
|
||||
}
|
||||
x += [backView frame].size.width;
|
||||
x += NSWidth([backView frame]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue