canvas/source/directx/dx_9rm.cxx | 4 ++-- sw/source/ui/misc/linenum.cxx | 6 +++--- vcl/inc/vcl/edit.hxx | 1 + vcl/inc/vcl/field.hxx | 12 +++++++----- vcl/inc/vcl/spinfld.hxx | 1 + vcl/source/control/edit.cxx | 11 +++++++---- vcl/source/control/field.cxx | 34 ++++++++++++++++++++++++++++++++++ vcl/source/control/spinfld.cxx | 12 ++++++++---- vcl/source/window/window2.cxx | 3 +-- 9 files changed, 64 insertions(+), 20 deletions(-)
New commits: commit 2420c409694375f5a36ca4b537baa1cace4d3f3a Author: Caolán McNamara <[email protected]> Date: Thu Aug 30 10:13:53 2012 +0100 call queue_layout from queue_resize Change-Id: I7f28c844bfbf739337937970355dbd4a8d39fe81 diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx index bb7aa5a..73eff89 100644 --- a/vcl/source/window/window2.cxx +++ b/vcl/source/window/window2.cxx @@ -1781,8 +1781,7 @@ void Window::queue_resize() if (!pDialog || pDialog == this) return; - if (pDialog->isLayoutEnabled()) - pDialog->Resize(); + pDialog->queue_layout(); } //We deliberately do not overwrite our maHelpId here commit 8e11c9ee92eeaff75b5fdd89119aef73d6349929 Author: Caolán McNamara <[email protected]> Date: Thu Aug 30 10:03:30 2012 +0100 Get optimal size of spinbuttons from min/max values, not current val Change-Id: I2af72a1d88d2d411924110c6ead03bc8ed8b5dde diff --git a/vcl/inc/vcl/edit.hxx b/vcl/inc/vcl/edit.hxx index 7e19cf0..42b9718 100644 --- a/vcl/inc/vcl/edit.hxx +++ b/vcl/inc/vcl/edit.hxx @@ -229,6 +229,7 @@ public: AutocompleteAction GetAutocompleteAction() const { return meAutocompleteAction; } virtual Size CalcMinimumSize() const; + virtual Size CalcMinimumSizeForText(const rtl::OUString &rString) const; virtual Size GetOptimalSize(WindowSizeType eType) const; virtual Size CalcSize( sal_uInt16 nChars ) const; virtual xub_StrLen GetMaxVisChars() const; diff --git a/vcl/inc/vcl/field.hxx b/vcl/inc/vcl/field.hxx index e7a5eb4..1278a43 100644 --- a/vcl/inc/vcl/field.hxx +++ b/vcl/inc/vcl/field.hxx @@ -171,8 +171,6 @@ protected: protected: NumericFormatter(); - virtual XubString CreateFieldText( sal_Int64 nValue ) const; - void FieldUp(); void FieldDown(); void FieldFirst(); @@ -213,6 +211,7 @@ public: void SetUserValue( sal_Int64 nNewValue ); virtual void SetValue( sal_Int64 nNewValue ); virtual sal_Int64 GetValue() const; + virtual XubString CreateFieldText( sal_Int64 nValue ) const; sal_Bool IsValueModified() const; sal_Int64 GetCorrectedValue() const { return mnCorrectedValue; } @@ -241,8 +240,6 @@ protected: protected: MetricFormatter(); - virtual XubString CreateFieldText( sal_Int64 nValue ) const; - SAL_DLLPRIVATE void ImplLoadRes( const ResId& rResId ); SAL_DLLPRIVATE sal_Bool ImplMetricReformat( const XubString& rStr, double& rValue, XubString& rOutStr ); @@ -275,6 +272,7 @@ public: void SetUserValue( sal_Int64 nNewValue, FieldUnit eInUnit ); virtual sal_Int64 GetValue( FieldUnit eOutUnit ) const; virtual sal_Int64 GetValue() const; + virtual XubString CreateFieldText( sal_Int64 nValue ) const; using NumericFormatter::GetCorrectedValue; sal_Int64 GetCorrectedValue( FieldUnit eOutUnit ) const; @@ -296,7 +294,6 @@ private: protected: CurrencyFormatter(); - virtual XubString CreateFieldText( sal_Int64 nValue ) const; SAL_DLLPRIVATE sal_Bool ImplCurrencyReformat( const XubString& rStr, XubString& rOutStr ); public: @@ -308,6 +305,7 @@ public: virtual void SetValue( sal_Int64 nNewValue ); virtual sal_Int64 GetValue() const; + virtual XubString CreateFieldText( sal_Int64 nValue ) const; }; @@ -525,6 +523,8 @@ public: virtual long Notify( NotifyEvent& rNEvt ); virtual void DataChanged( const DataChangedEvent& rDCEvt ); + virtual Size CalcMinimumSize() const; + virtual void Modify(); virtual void Up(); @@ -552,6 +552,8 @@ public: virtual long Notify( NotifyEvent& rNEvt ); virtual void DataChanged( const DataChangedEvent& rDCEvt ); + virtual Size CalcMinimumSize() const; + virtual void Modify(); virtual void Up(); diff --git a/vcl/inc/vcl/spinfld.hxx b/vcl/inc/vcl/spinfld.hxx index fbe2fb4..f773baa 100644 --- a/vcl/inc/vcl/spinfld.hxx +++ b/vcl/inc/vcl/spinfld.hxx @@ -101,6 +101,7 @@ public: const Link& GetLastHdl() const { return maLastHdlLink; } virtual Size CalcMinimumSize() const; + virtual Size CalcMinimumSizeForText(const rtl::OUString &rString) const; virtual Size GetOptimalSize(WindowSizeType eType) const; virtual Size CalcSize( sal_uInt16 nChars ) const; virtual void take_properties(Window &rOther); diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index 2220437..6dd30d5 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -2860,11 +2860,9 @@ void Edit::SetSubEdit( Edit* pEdit ) } } -// ----------------------------------------------------------------------- - -Size Edit::CalcMinimumSize() const +Size Edit::CalcMinimumSizeForText(const rtl::OUString &rString) const { - Size aSize ( GetTextWidth( GetText() ), GetTextHeight() ); + Size aSize ( GetTextWidth( rString ), GetTextHeight() ); // do not create edit fields in which one cannot enter anything // a default minimum width should exist for at least 3 characters Size aMinSize ( CalcSize( 3 ) ); @@ -2889,6 +2887,11 @@ Size Edit::CalcMinimumSize() const return aSize; } +Size Edit::CalcMinimumSize() const +{ + return CalcMinimumSizeForText(GetText()); +} + Size Edit::GetMinimumEditSize() { Window* pDefWin = ImplGetDefaultWindow(); diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx index e968b5c..be73612 100644 --- a/vcl/source/control/field.cxx +++ b/vcl/source/control/field.cxx @@ -937,6 +937,35 @@ void NumericField::Last() SpinField::Last(); } +namespace +{ + Size calcMinimumSize(const SpinField &rSpinField, const NumericFormatter &rFormatter) + { + rtl::OUStringBuffer aBuf; + sal_Int32 nTextLen; + + nTextLen = rtl::OUString::valueOf(rFormatter.GetMin()).getLength(); + comphelper::string::padToLength(aBuf, nTextLen, '9'); + Size aMinTextSize = rSpinField.CalcMinimumSizeForText( + rFormatter.CreateFieldText(aBuf.makeStringAndClear().toInt64())); + + nTextLen = rtl::OUString::valueOf(rFormatter.GetMax()).getLength(); + comphelper::string::padToLength(aBuf, nTextLen, '9'); + Size aMaxTextSize = rSpinField.CalcMinimumSizeForText( + rFormatter.CreateFieldText(aBuf.makeStringAndClear().toInt64())); + + Size aRet(std::max(aMinTextSize.Width(), aMaxTextSize.Width()), + std::max(aMinTextSize.Height(), aMaxTextSize.Height())); + + return aRet; + } +} + +Size NumericField::CalcMinimumSize() const +{ + return calcMinimumSize(*this, *this); +} + // ----------------------------------------------------------------------- NumericBox::NumericBox( Window* pParent, WinBits nWinStyle ) : @@ -1693,6 +1722,11 @@ MetricField::MetricField( Window* pParent, const ResId& rResId ) : Show(); } +Size MetricField::CalcMinimumSize() const +{ + return calcMinimumSize(*this, *this); +} + void MetricFormatter::take_properties(MetricFormatter &rOtherField) { maCustomUnitText = rOtherField.maCustomUnitText; diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx index ae6b004..dcd5233 100644 --- a/vcl/source/control/spinfld.cxx +++ b/vcl/source/control/spinfld.cxx @@ -990,11 +990,9 @@ sal_Bool SpinField::ShowDropDown( sal_Bool ) return sal_False; } -// ----------------------------------------------------------------------- - -Size SpinField::CalcMinimumSize() const +Size SpinField::CalcMinimumSizeForText(const rtl::OUString &rString) const { - Size aSz = Edit::CalcMinimumSize(); + Size aSz = Edit::CalcMinimumSizeForText(rString); if ( GetStyle() & WB_DROPDOWN ) aSz.Width() += GetSettings().GetStyleSettings().GetScrollBarSize(); @@ -1004,6 +1002,12 @@ Size SpinField::CalcMinimumSize() const return aSz; } +Size SpinField::CalcMinimumSize() const +{ + fprintf(stderr, "SpinField::CalcMinimumSize\n"); + return CalcMinimumSizeForText(GetText()); +} + // ----------------------------------------------------------------------- Size SpinField::GetOptimalSize(WindowSizeType eType) const commit 9bfb70ec9d64e5a868bcc5b18be418515491833b Author: Caolán McNamara <[email protected]> Date: Thu Aug 30 09:26:36 2012 +0100 some windows SetPosSizePixel->setPosSizePixel Change-Id: I676284380e2aab7327f4ceb5e043aafb29aa555d diff --git a/canvas/source/directx/dx_9rm.cxx b/canvas/source/directx/dx_9rm.cxx index 7c22f81..0d5976d 100644 --- a/canvas/source/directx/dx_9rm.cxx +++ b/canvas/source/directx/dx_9rm.cxx @@ -717,7 +717,7 @@ namespace dxcanvas maSize.setY(static_cast<sal_Int32>(rSizePixel.Height())); // let the child window cover the same size as the parent window. - mpWindow->SetPosSizePixel(0,0,maSize.getX(),maSize.getY()); + mpWindow->setPosSizePixel(0,0,maSize.getX(),maSize.getY()); // TODO(F2): since we would like to share precious hardware // resources, the direct3d9 object should be global. each new @@ -1024,7 +1024,7 @@ namespace dxcanvas maSize.setX(static_cast<sal_Int32>(rect.getWidth())); maSize.setY(static_cast<sal_Int32>(rect.getHeight())); - mpWindow->SetPosSizePixel(0,0,maSize.getX(),maSize.getY()); + mpWindow->setPosSizePixel(0,0,maSize.getX(),maSize.getY()); // resize back buffer, if necessary // ------------------------------------------------------------- commit c7f323ca0c718dd87add90b49f9ed4cec0294bb1 Author: Caolán McNamara <[email protected]> Date: Thu Aug 30 08:16:07 2012 +0100 additional syntax tidying Change-Id: I0b99c39fb74ecabd2cc8ec16d38e362a03e83381 diff --git a/sw/source/ui/misc/linenum.cxx b/sw/source/ui/misc/linenum.cxx index cbbfb62..7d37e28 100644 --- a/sw/source/ui/misc/linenum.cxx +++ b/sw/source/ui/misc/linenum.cxx @@ -75,8 +75,8 @@ SwLineNumberingDlg::SwLineNumberingDlg(SwView *pVw) sIntervalName += String::CreateFromAscii(")"); m_pDivIntervalNF->SetAccessibleName(sIntervalName); - Window *pNumIntervalFT = m_pUIBuilder->get<Window>("interval"); - Window *pNumRowsFT = m_pUIBuilder->get<Window>("intervallines"); + Window *pNumIntervalFT = get<Window>("interval"); + Window *pNumRowsFT = get<Window>("intervallines"); sIntervalName = pNumIntervalFT->GetAccessibleName(); sIntervalName += String::CreateFromAscii("("); sIntervalName += pNumRowsFT->GetAccessibleName(); @@ -139,7 +139,7 @@ SwLineNumberingDlg::SwLineNumberingDlg(SwView *pVw) ModifyHdl(); LineOnOffHdl(); - PushButton *pOkPB = m_pUIBuilder->get<PushButton>("ok"); + PushButton *pOkPB = get<PushButton>("ok"); pOkPB->SetClickHdl(LINK(this, SwLineNumberingDlg, OKHdl)); }
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
