diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2020-10-29 20:07:08 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-10-30 08:57:27 +0100 |
commit | f2b0fd132a52796a89d0c0b3f46b3d32d08c3bea (patch) | |
tree | a7714909e2c028b9b395937f834896f3ef1bd884 | |
parent | f2be3d31cde821f5c1128deae7f2b95361ac1db9 (diff) |
remove pimpl from HyperLabel
Change-Id: Iaf156065b85a0a809946236148a85d768ca5f51b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105026
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | vcl/inc/hyperlabel.hxx | 12 | ||||
-rw-r--r-- | vcl/source/control/hyperlabel.cxx | 66 |
2 files changed, 28 insertions, 50 deletions
diff --git a/vcl/inc/hyperlabel.hxx b/vcl/inc/hyperlabel.hxx index 5ff87d878465..d12cbd405db2 100644 --- a/vcl/inc/hyperlabel.hxx +++ b/vcl/inc/hyperlabel.hxx @@ -25,11 +25,8 @@ namespace vcl { - class HyperLabelImpl; - class HyperLabel final : public FixedText { - std::unique_ptr<HyperLabelImpl> m_pImpl; Link<HyperLabel*,void> maClickHdl; virtual void MouseMove( const MouseEvent& rMEvt ) override; @@ -44,7 +41,6 @@ namespace vcl public: HyperLabel( vcl::Window* _pParent, WinBits _nWinStyle ); virtual ~HyperLabel( ) override; - virtual void dispose() override; virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; virtual void ApplySettings(vcl::RenderContext& rRenderContext) override; @@ -62,7 +58,13 @@ namespace vcl void SetClickHdl( const Link<HyperLabel*,void>& rLink ) { maClickHdl = rLink; } - Size const & CalcMinimumSize( tools::Long nMaxWidth ) const; + Size const & CalcMinimumSize( tools::Long nMaxWidth ); + private: + sal_Int16 ID; + sal_Int32 Index; + bool bInteractive; + Size m_aMinSize; + bool m_bHyperMode; }; } diff --git a/vcl/source/control/hyperlabel.cxx b/vcl/source/control/hyperlabel.cxx index d3afea1ce848..34f10750ae2b 100644 --- a/vcl/source/control/hyperlabel.cxx +++ b/vcl/source/control/hyperlabel.cxx @@ -25,42 +25,24 @@ namespace vcl { - class HyperLabelImpl - { - public: - sal_Int16 ID; - sal_Int32 Index; - bool bInteractive; - Size m_aMinSize; - bool m_bHyperMode; - - HyperLabelImpl(); - }; - - - HyperLabelImpl::HyperLabelImpl() - : ID(0) + HyperLabel::HyperLabel( vcl::Window* _pParent, WinBits _nWinStyle ) + :FixedText( _pParent, _nWinStyle ) + , ID(0) , Index(0) , bInteractive(false) , m_bHyperMode(false) { - } - - HyperLabel::HyperLabel( vcl::Window* _pParent, WinBits _nWinStyle ) - :FixedText( _pParent, _nWinStyle ) - ,m_pImpl( new HyperLabelImpl ) - { implInit(); } - Size const & HyperLabel::CalcMinimumSize( tools::Long nMaxWidth ) const + Size const & HyperLabel::CalcMinimumSize( tools::Long nMaxWidth ) { - m_pImpl->m_aMinSize = FixedText::CalcMinimumSize( nMaxWidth ); + m_aMinSize = FixedText::CalcMinimumSize( nMaxWidth ); // the MinimumSize is used to size the FocusRectangle // and for the MouseMove method - m_pImpl->m_aMinSize.AdjustHeight(2 ); - m_pImpl->m_aMinSize.AdjustWidth(1 ); - return m_pImpl->m_aMinSize; + m_aMinSize.AdjustHeight(2 ); + m_aMinSize.AdjustWidth(1 ); + return m_aMinSize; } void HyperLabel::implInit() @@ -84,14 +66,14 @@ namespace vcl vcl::Font aFont = GetControlFont( ); bool bHyperMode = false; - if (!rMEvt.IsLeaveWindow() && IsEnabled() && m_pImpl->bInteractive) + if (!rMEvt.IsLeaveWindow() && IsEnabled() && bInteractive) { Point aPoint = GetPointerPosPixel(); - if (aPoint.X() < m_pImpl->m_aMinSize.Width()) + if (aPoint.X() < m_aMinSize.Width()) bHyperMode = true; } - m_pImpl->m_bHyperMode = bHyperMode; + m_bHyperMode = bHyperMode; if (bHyperMode) { aFont.SetUnderline(LINESTYLE_SINGLE); @@ -107,7 +89,7 @@ namespace vcl void HyperLabel::MouseButtonDown( const MouseEvent& ) { - if ( m_pImpl->m_bHyperMode && m_pImpl->bInteractive ) + if ( m_bHyperMode && bInteractive ) { maClickHdl.Call( this ); } @@ -115,10 +97,10 @@ namespace vcl void HyperLabel::GetFocus() { - if ( IsEnabled() && m_pImpl->bInteractive ) + if ( IsEnabled() && bInteractive ) { Point aPoint(0,0); - tools::Rectangle rRect(aPoint, Size( m_pImpl->m_aMinSize.Width(), GetSizePixel().Height() ) ); + tools::Rectangle rRect(aPoint, Size( m_aMinSize.Width(), GetSizePixel().Height() ) ); ShowFocus( rRect ); } } @@ -133,35 +115,29 @@ namespace vcl disposeOnce(); } - void HyperLabel::dispose() - { - m_pImpl.reset(); - FixedText::dispose(); - } - void HyperLabel::SetInteractive( bool _bInteractive ) { - m_pImpl->bInteractive = ( _bInteractive && IsEnabled() ); + bInteractive = ( _bInteractive && IsEnabled() ); } sal_Int16 HyperLabel::GetID() const { - return m_pImpl->ID; + return ID; } sal_Int32 HyperLabel::GetIndex() const { - return m_pImpl->Index; + return Index; } - void HyperLabel::SetID( sal_Int16 ID ) + void HyperLabel::SetID( sal_Int16 newID ) { - m_pImpl->ID = ID; + this->ID = newID; } - void HyperLabel::SetIndex( sal_Int32 Index ) + void HyperLabel::SetIndex( sal_Int32 newIndex ) { - m_pImpl->Index = Index; + Index = newIndex; } void HyperLabel::SetLabel( const OUString& _rText ) |