mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-31 20:50:48 +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
e140af22af
commit
d8a5434efb
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>
|
2010-05-13 Wolfgang Lux <wolfgang.lux@gmail.com>
|
||||||
|
|
||||||
* Source/GSNibLoading.m (-nibInstantiateWithOwner:topLeveObjects:,
|
* Source/GSNibLoading.m (-nibInstantiateWithOwner:topLeveObjects:,
|
||||||
|
@ -76,7 +82,6 @@
|
||||||
Fix bug where some objects from the nib file were not sent an
|
Fix bug where some objects from the nib file were not sent an
|
||||||
-awakeFromNib message.
|
-awakeFromNib message.
|
||||||
|
|
||||||
>>>>>>> .r30369
|
|
||||||
2010-05-11 Fred Kiefer <FredKiefer@gmx.de>
|
2010-05-11 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
* Headers/Additions/GNUstepGUI/GSTheme.h:
|
* Headers/Additions/GNUstepGUI/GSTheme.h:
|
||||||
|
|
|
@ -655,7 +655,6 @@ static void initSystemExtensionsColors(void)
|
||||||
NSArray *items = [_toolbar items];
|
NSArray *items = [_toolbar items];
|
||||||
NSEnumerator *e = [items objectEnumerator];
|
NSEnumerator *e = [items objectEnumerator];
|
||||||
NSToolbarItem *item;
|
NSToolbarItem *item;
|
||||||
NSView *backView;
|
|
||||||
NSRect lastBackViewFrame;
|
NSRect lastBackViewFrame;
|
||||||
float lengthAvailable;
|
float lengthAvailable;
|
||||||
unsigned int flexibleSpaceItemsNumber = 0;
|
unsigned int flexibleSpaceItemsNumber = 0;
|
||||||
|
@ -678,7 +677,16 @@ static void initSystemExtensionsColors(void)
|
||||||
{
|
{
|
||||||
flexibleSpaceItemsNumber++;
|
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)
|
if (flexibleSpaceItemsNumber > 0)
|
||||||
|
@ -689,7 +697,7 @@ static void initSystemExtensionsColors(void)
|
||||||
e = [items objectEnumerator];
|
e = [items objectEnumerator];
|
||||||
while ((item = [e nextObject]) != nil)
|
while ((item = [e nextObject]) != nil)
|
||||||
{
|
{
|
||||||
backView = [item _backView];
|
NSView *backView = [item _backView];
|
||||||
if ([item _isFlexibleSpace])
|
if ([item _isFlexibleSpace])
|
||||||
{
|
{
|
||||||
NSRect backViewFrame = [backView frame];
|
NSRect backViewFrame = [backView frame];
|
||||||
|
@ -716,29 +724,43 @@ static void initSystemExtensionsColors(void)
|
||||||
if (maxX >= NSMaxX(lastBackViewFrame))
|
if (maxX >= NSMaxX(lastBackViewFrame))
|
||||||
{
|
{
|
||||||
CGFloat rel = lengthAvailable / (maxX - NSMaxX(lastBackViewFrame));
|
CGFloat rel = lengthAvailable / (maxX - NSMaxX(lastBackViewFrame));
|
||||||
|
|
||||||
|
if (rel > 1.0)
|
||||||
|
rel = 1.0;
|
||||||
|
|
||||||
e = [items objectEnumerator];
|
e = [items objectEnumerator];
|
||||||
while ((item = [e nextObject]) != nil)
|
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 (view != nil)
|
||||||
if (diff > 0)
|
|
||||||
{
|
{
|
||||||
NSRect backViewFrame = [backView frame];
|
CGFloat diff = [item maxSize].width - [item minSize].width;
|
||||||
|
|
||||||
[backView setFrame: NSMakeRect(x, backViewFrame.origin.y,
|
if (diff > 0)
|
||||||
(rel * diff) + [item minSize].width,
|
{
|
||||||
backViewFrame.size.height)];
|
NSRect backViewFrame = [backView frame];
|
||||||
mustAdjustNext = YES;
|
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)
|
x += NSWidth([backView frame]);
|
||||||
{
|
|
||||||
NSRect backViewFrame = [backView frame];
|
|
||||||
|
|
||||||
[backView setFrame: NSMakeRect(x, backViewFrame.origin.y,
|
|
||||||
backViewFrame.size.width, backViewFrame.size.height)];
|
|
||||||
}
|
|
||||||
x += [backView frame].size.width;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue