diff options
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/awt/vclxwindows.cxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx index 5645bf099288..c356aba16ee1 100644 --- a/toolkit/source/awt/vclxwindows.cxx +++ b/toolkit/source/awt/vclxwindows.cxx @@ -941,7 +941,7 @@ css::awt::Size VCLXCheckBox::calcAdjustedSize( const css::awt::Size& rNewSize ) VclPtr< CheckBox > pCheckBox = GetAs< CheckBox >(); if ( pCheckBox ) { - Size aMinSz = pCheckBox->CalcMinimumSize(); + Size aMinSz = pCheckBox->CalcMinimumSize(rNewSize.Width); if ( ( aSz.Width() > aMinSz.Width() ) && ( aSz.Height() < aMinSz.Height() ) ) aSz.setHeight( aMinSz.Height() ); else @@ -1290,7 +1290,7 @@ css::awt::Size VCLXRadioButton::calcAdjustedSize( const css::awt::Size& rNewSize VclPtr< RadioButton > pRadioButton = GetAs< RadioButton >(); if ( pRadioButton ) { - Size aMinSz = pRadioButton->CalcMinimumSize(); + Size aMinSz = pRadioButton->CalcMinimumSize(rNewSize.Width); if ( ( aSz.Width() > aMinSz.Width() ) && ( aSz.Height() < aMinSz.Height() ) ) aSz.setHeight( aMinSz.Height() ); else @@ -3023,13 +3023,18 @@ css::awt::Size VCLXFixedHyperlink::getPreferredSize( ) css::awt::Size VCLXFixedHyperlink::calcAdjustedSize( const css::awt::Size& rNewSize ) { SolarMutexGuard aGuard; + Size aSz( VCLUnoHelper::ConvertToVCLSize( rNewSize )); + VclPtr< FixedText > pFixedText = GetAs< FixedText >(); + if (pFixedText) + { + Size aMinSz = pFixedText->CalcMinimumSize(rNewSize.Width); + if ( ( aSz.Width() > aMinSz.Width() ) && ( aSz.Height() < aMinSz.Height() ) ) + aSz.setHeight( aMinSz.Height() ); + else + aSz = aMinSz; + } - css::awt::Size aSz = rNewSize; - css::awt::Size aMinSz = getMinimumSize(); - if ( aSz.Height != aMinSz.Height ) - aSz.Height = aMinSz.Height; - - return aSz; + return VCLUnoHelper::ConvertToAWTSize(aSz); } void VCLXFixedHyperlink::setProperty( const OUString& PropertyName, const css::uno::Any& Value) |