Kaydet (Commit) 59d9a39a authored tarafından Noel Power's avatar Noel Power

Revert "fdo#51336 - change vcl checkbox no-label behaviour"

This reverts commit a1345cd9.
üst e3c2e0fa
......@@ -253,28 +253,6 @@ namespace svt
//= CheckBoxControl
//==================================================================
//------------------------------------------------------------------
class CBCntrlTriState : public TriStateBox
{
CBCntrlTriState( const CBCntrlTriState & );
CBCntrlTriState& operator= ( const CBCntrlTriState & );
protected:
virtual void ImplHandleHoriAlign( const Point& rPos, const Size& rSize,
const Size& rImageSize, Rectangle& rStateRect )
{
WinBits nWinStyle = GetStyle();
if ( nWinStyle & WB_CENTER )
rStateRect.Left() = rPos.X()+((rSize.Width()-rImageSize.Width())/2);
else if ( nWinStyle & WB_RIGHT )
rStateRect.Left() = rPos.X()+rSize.Width()-rImageSize.Width();
else
rStateRect.Left() = rPos.X();
}
public:
CBCntrlTriState( Window* pParent, WinBits nStyle = 0 ) : TriStateBox( pParent, nStyle ) {}
CBCntrlTriState( Window* pParent, const ResId& rResId ) : TriStateBox( pParent, rResId ) {}
};
CheckBoxControl::CheckBoxControl(Window* pParent, WinBits nWinStyle)
:Control(pParent, nWinStyle)
{
......@@ -289,7 +267,7 @@ namespace svt
EnableChildTransparentMode();
pBox = new CBCntrlTriState(this,WB_CENTER|WB_VCENTER);
pBox = new TriStateBox(this,WB_CENTER|WB_VCENTER);
pBox->EnableChildTransparentMode();
pBox->SetPaintTransparent( sal_True );
pBox->SetClickHdl( LINK( this, CheckBoxControl, OnClick ) );
......
......@@ -406,6 +406,7 @@ public:
class VCL_DLLPUBLIC CheckBox : public Button
{
private:
Rectangle maStateRect;
Rectangle maMouseRect;
TriState meState;
......@@ -424,7 +425,7 @@ class VCL_DLLPUBLIC CheckBox : public Button
SAL_DLLPRIVATE void ImplDrawCheckBox( bool bLayout = false );
SAL_DLLPRIVATE long ImplGetImageToTextDistance() const;
SAL_DLLPRIVATE Size ImplGetCheckImageSize() const;
private:
// Copy assignment is forbidden and not implemented.
SAL_DLLPRIVATE CheckBox(const CheckBox &);
SAL_DLLPRIVATE CheckBox& operator= (const CheckBox &);
......@@ -432,19 +433,15 @@ private:
protected:
using Control::ImplInitSettings;
using Window::ImplInit;
// allows the behaviour of horizontal placement of the checbox image to be
// overridden.
virtual void ImplHandleHoriAlign( const Point& rPos, const Size& rSize,
const Size& rImageSize, Rectangle& rStateRect );
SAL_DLLPRIVATE void ImplInit( Window* pParent, WinBits nStyle );
SAL_DLLPRIVATE void ImplLoadRes( const ResId& rResId );
virtual void FillLayoutData() const;
virtual const Font&
SAL_DLLPRIVATE virtual void FillLayoutData() const;
SAL_DLLPRIVATE virtual const Font&
GetCanonicalFont( const StyleSettings& _rStyle ) const;
virtual const Color&
SAL_DLLPRIVATE virtual const Color&
GetCanonicalTextColor( const StyleSettings& _rStyle ) const;
virtual void ImplDrawCheckBoxState();
SAL_DLLPRIVATE virtual void ImplDrawCheckBoxState();
SAL_DLLPRIVATE const Rectangle& GetStateRect() const { return maStateRect; }
SAL_DLLPRIVATE const Rectangle& GetMouseRect() const { return maMouseRect; }
public:
......
......@@ -3261,9 +3261,12 @@ void CheckBox::ImplDraw( OutputDevice* pDev, sal_uLong nDrawFlags,
}
else
{
// allow specific handling of WB_CENTER, WB_LEFT & WB_RIGHT by
// by subclasses
ImplHandleHoriAlign( rPos, rSize, rImageSize, rStateRect );
if ( nWinStyle & WB_CENTER )
rStateRect.Left() = rPos.X()+((rSize.Width()-rImageSize.Width())/2);
else if ( nWinStyle & WB_RIGHT )
rStateRect.Left() = rPos.X()+rSize.Width()-rImageSize.Width();
else
rStateRect.Left() = rPos.X();
if ( nWinStyle & WB_VCENTER )
rStateRect.Top() = rPos.Y()+((rSize.Height()-rImageSize.Height())/2);
else if ( nWinStyle & WB_BOTTOM )
......@@ -3305,15 +3308,6 @@ void CheckBox::ImplDraw( OutputDevice* pDev, sal_uLong nDrawFlags,
// -----------------------------------------------------------------------
void CheckBox:: ImplHandleHoriAlign( const Point& rPos, const Size& /*rSize*/,
const Size& /*rImageSize*/, Rectangle& rStateRect )
{
// align Checkbox image left ( always )
rStateRect.Left() = rPos.X();
}
// -----------------------------------------------------------------------
void CheckBox::ImplDrawCheckBox( bool bLayout )
{
Size aImageSize = ImplGetCheckImageSize();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment