summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2020-10-29 20:07:08 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-10-30 08:57:27 +0100
commitf2b0fd132a52796a89d0c0b3f46b3d32d08c3bea (patch)
treea7714909e2c028b9b395937f834896f3ef1bd884
parentf2be3d31cde821f5c1128deae7f2b95361ac1db9 (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.hxx12
-rw-r--r--vcl/source/control/hyperlabel.cxx66
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 )