summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorIvan Timofeev <timofeev.i.s@gmail.com>2012-06-27 22:06:01 +0400
committerIvan Timofeev <timofeev.i.s@gmail.com>2012-06-28 13:52:02 +0400
commitb4fae0294601ac8e72f350ab9f7061532acd4210 (patch)
tree9308cb29220d2cdb70e4eb576a64688695058dec /vcl
parent044eae119281b9521e70e64aabd42f5142cb54d0 (diff)
FloatingSizeMode is always FSMODE_AUTO, remove it
Change-Id: I0468ff6deaf701ed3d155db1ff3f0f0c204e1199
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/vcl/toolbox.hxx5
-rw-r--r--vcl/source/window/toolbox.cxx89
2 files changed, 43 insertions, 51 deletions
diff --git a/vcl/inc/vcl/toolbox.hxx b/vcl/inc/vcl/toolbox.hxx
index 22901be7aa1a..fd410d9da7a9 100644
--- a/vcl/inc/vcl/toolbox.hxx
+++ b/vcl/inc/vcl/toolbox.hxx
@@ -155,9 +155,6 @@ enum ToolBoxItemType { TOOLBOXITEM_DONTKNOW, TOOLBOXITEM_BUTTON,
// dontcare will let the toolbox decide about its size
enum ToolBoxButtonSize { TOOLBOX_BUTTONSIZE_DONTCARE, TOOLBOX_BUTTONSIZE_SMALL, TOOLBOX_BUTTONSIZE_LARGE };
-// used for internal sizing calculations
-enum FloatingSizeMode { FSMODE_AUTO, FSMODE_FAVOURWIDTH, FSMODE_FAVOURHEIGHT };
-
// TBX_LAYOUT_NORMAL - traditional layout, items are centered in the toolbar
// TBX_LAYOUT_LOCKVERT - special mode (currently used for calc input/formula
// bar) where item's vertical position is locked, e.g.
@@ -287,7 +284,7 @@ private:
SAL_DLLPRIVATE sal_Bool ImplIsFloatingMode() const;
SAL_DLLPRIVATE sal_Bool ImplIsInPopupMode() const;
SAL_DLLPRIVATE const XubString& ImplGetHelpText( sal_uInt16 nItemId ) const;
- SAL_DLLPRIVATE Size ImplGetOptimalFloatingSize( FloatingSizeMode eMode );
+ SAL_DLLPRIVATE Size ImplGetOptimalFloatingSize();
SAL_DLLPRIVATE sal_Bool ImplHasExternalMenubutton();
SAL_DLLPRIVATE void ImplDrawFloatwinBorder( ImplToolItem* pItem );
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index 8470d25ebd85..eaf0be71e765 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -2156,7 +2156,7 @@ sal_uInt16 ToolBox::ImplCalcBreaks( long nWidth, long* pMaxLineWidth, sal_Bool b
// -----------------------------------------------------------------------
-Size ToolBox::ImplGetOptimalFloatingSize( FloatingSizeMode eMode )
+Size ToolBox::ImplGetOptimalFloatingSize()
{
if( !ImplIsFloatingMode() )
return Size();
@@ -2166,60 +2166,55 @@ Size ToolBox::ImplGetOptimalFloatingSize( FloatingSizeMode eMode )
Size aSize2( aCurrentSize );
// try to preserve current height
- if( eMode == FSMODE_AUTO || eMode == FSMODE_FAVOURHEIGHT )
- {
- // calc number of floating lines for current window height
- sal_uInt16 nFloatLinesHeight = ImplCalcLines( this, mnDY );
- // calc window size according to this number
- aSize1 = ImplCalcFloatSize( this, nFloatLinesHeight );
- if( eMode == FSMODE_FAVOURHEIGHT || aCurrentSize == aSize1 )
- return aSize1;
- }
+ // calc number of floating lines for current window height
+ sal_uInt16 nFloatLinesHeight = ImplCalcLines( this, mnDY );
+ // calc window size according to this number
+ aSize1 = ImplCalcFloatSize( this, nFloatLinesHeight );
- if( eMode == FSMODE_AUTO || eMode == FSMODE_FAVOURWIDTH )
- {
- // try to preserve current width
- long nLineHeight = ( mnWinHeight > mnMaxItemHeight ) ? mnWinHeight : mnMaxItemHeight;
- int nBorderX = 2*TB_BORDER_OFFSET1 + mnLeftBorder + mnRightBorder;
- int nBorderY = 2*TB_BORDER_OFFSET2 + mnTopBorder + mnBottomBorder;
- Size aSz( aCurrentSize );
- long maxX;
- sal_uInt16 nLines = ImplCalcBreaks( aSz.Width()-nBorderX, &maxX, mbHorz );
+ if( aCurrentSize == aSize1 )
+ return aSize1;
- sal_uInt16 manyLines = 1000;
- Size aMinimalFloatSize = ImplCalcFloatSize( this, manyLines );
+ // try to preserve current width
- aSz.Height() = nBorderY + nLineHeight * nLines;
- // line space when more than one line
- if ( mnWinStyle & WB_LINESPACING )
- aSz.Height() += (nLines-1)*TB_LINESPACING;
+ long nLineHeight = ( mnWinHeight > mnMaxItemHeight ) ? mnWinHeight : mnMaxItemHeight;
+ int nBorderX = 2*TB_BORDER_OFFSET1 + mnLeftBorder + mnRightBorder;
+ int nBorderY = 2*TB_BORDER_OFFSET2 + mnTopBorder + mnBottomBorder;
+ Size aSz( aCurrentSize );
+ long maxX;
+ sal_uInt16 nLines = ImplCalcBreaks( aSz.Width()-nBorderX, &maxX, mbHorz );
- aSz.Width() = nBorderX + maxX;
+ sal_uInt16 manyLines = 1000;
+ Size aMinimalFloatSize = ImplCalcFloatSize( this, manyLines );
- // avoid clipping of any items
- if( aSz.Width() < aMinimalFloatSize.Width() )
- aSize2 = ImplCalcFloatSize( this, nLines );
- else
- aSize2 = aSz;
+ aSz.Height() = nBorderY + nLineHeight * nLines;
+ // line space when more than one line
+ if ( mnWinStyle & WB_LINESPACING )
+ aSz.Height() += (nLines-1)*TB_LINESPACING;
- if( eMode == FSMODE_FAVOURWIDTH || aCurrentSize == aSize2 )
- return aSize2;
- else
- {
- // set the size with the smallest delta as the current size
- long dx1 = abs( mnDX - aSize1.Width() );
- long dy1 = abs( mnDY - aSize1.Height() );
+ aSz.Width() = nBorderX + maxX;
- long dx2 = abs( mnDX - aSize2.Width() );
- long dy2 = abs( mnDY - aSize2.Height() );
+ // avoid clipping of any items
+ if( aSz.Width() < aMinimalFloatSize.Width() )
+ aSize2 = ImplCalcFloatSize( this, nLines );
+ else
+ aSize2 = aSz;
+
+ if( aCurrentSize == aSize2 )
+ return aSize2;
+
+ // set the size with the smallest delta as the current size
+ long dx1 = abs( mnDX - aSize1.Width() );
+ long dy1 = abs( mnDY - aSize1.Height() );
+
+ long dx2 = abs( mnDX - aSize2.Width() );
+ long dy2 = abs( mnDY - aSize2.Height() );
+
+ if( dx1*dy1 < dx2*dy2 )
+ aCurrentSize = aSize1;
+ else
+ aCurrentSize = aSize2;
- if( dx1*dy1 < dx2*dy2 )
- aCurrentSize = aSize1;
- else
- aCurrentSize = aSize2;
- }
- }
return aCurrentSize;
}
@@ -2304,7 +2299,7 @@ void ToolBox::ImplFormat( sal_Bool bResize )
if ( bResize )
mnFloatLines = ImplCalcLines( this, mnDY );
else
- SetOutputSizePixel( ImplGetOptimalFloatingSize( FSMODE_AUTO ) );
+ SetOutputSizePixel( ImplGetOptimalFloatingSize() );
}
// Horizontal