implement wxBitmapButton::DoGetBestSize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -68,6 +68,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnSetBitmap();
|
virtual void OnSetBitmap();
|
||||||
|
virtual wxSize DoGetBestSize() const;
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
|
@@ -68,6 +68,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnSetBitmap();
|
virtual void OnSetBitmap();
|
||||||
|
virtual wxSize DoGetBestSize() const;
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
|
@@ -150,11 +150,11 @@ bool wxBitmapButton::Create( wxWindow *parent,
|
|||||||
if (m_bmpNormal.Ok())
|
if (m_bmpNormal.Ok())
|
||||||
{
|
{
|
||||||
wxSize newSize = size;
|
wxSize newSize = size;
|
||||||
int border = (style & wxNO_BORDER) ? 4 : 10;
|
wxSize bestSize = DoGetBestSize();
|
||||||
if (newSize.x == -1)
|
if (newSize.x == -1)
|
||||||
newSize.x = m_bmpNormal.GetWidth()+border;
|
newSize.x = bestSize.x;
|
||||||
if (newSize.y == -1)
|
if (newSize.y == -1)
|
||||||
newSize.y = m_bmpNormal.GetHeight()+border;
|
newSize.y = bestSize.y;
|
||||||
SetSize( newSize.x, newSize.y );
|
SetSize( newSize.x, newSize.y );
|
||||||
OnSetBitmap();
|
OnSetBitmap();
|
||||||
}
|
}
|
||||||
@@ -258,6 +258,19 @@ void wxBitmapButton::OnSetBitmap()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxSize wxBitmapButton::DoGetBestSize() const
|
||||||
|
{
|
||||||
|
wxSize best;
|
||||||
|
|
||||||
|
if (m_bmpNormal.Ok())
|
||||||
|
{
|
||||||
|
int border = HasFlag(wxNO_BORDER) ? 4 : 10;
|
||||||
|
best.x = m_bmpNormal.GetWidth()+border;
|
||||||
|
best.y = m_bmpNormal.GetHeight()+border;
|
||||||
|
}
|
||||||
|
return best;
|
||||||
|
}
|
||||||
|
|
||||||
bool wxBitmapButton::Enable( bool enable )
|
bool wxBitmapButton::Enable( bool enable )
|
||||||
{
|
{
|
||||||
if ( !wxWindow::Enable(enable) )
|
if ( !wxWindow::Enable(enable) )
|
||||||
|
@@ -150,11 +150,11 @@ bool wxBitmapButton::Create( wxWindow *parent,
|
|||||||
if (m_bmpNormal.Ok())
|
if (m_bmpNormal.Ok())
|
||||||
{
|
{
|
||||||
wxSize newSize = size;
|
wxSize newSize = size;
|
||||||
int border = (style & wxNO_BORDER) ? 4 : 10;
|
wxSize bestSize = DoGetBestSize();
|
||||||
if (newSize.x == -1)
|
if (newSize.x == -1)
|
||||||
newSize.x = m_bmpNormal.GetWidth()+border;
|
newSize.x = bestSize.x;
|
||||||
if (newSize.y == -1)
|
if (newSize.y == -1)
|
||||||
newSize.y = m_bmpNormal.GetHeight()+border;
|
newSize.y = bestSize.y;
|
||||||
SetSize( newSize.x, newSize.y );
|
SetSize( newSize.x, newSize.y );
|
||||||
OnSetBitmap();
|
OnSetBitmap();
|
||||||
}
|
}
|
||||||
@@ -258,6 +258,19 @@ void wxBitmapButton::OnSetBitmap()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxSize wxBitmapButton::DoGetBestSize() const
|
||||||
|
{
|
||||||
|
wxSize best;
|
||||||
|
|
||||||
|
if (m_bmpNormal.Ok())
|
||||||
|
{
|
||||||
|
int border = HasFlag(wxNO_BORDER) ? 4 : 10;
|
||||||
|
best.x = m_bmpNormal.GetWidth()+border;
|
||||||
|
best.y = m_bmpNormal.GetHeight()+border;
|
||||||
|
}
|
||||||
|
return best;
|
||||||
|
}
|
||||||
|
|
||||||
bool wxBitmapButton::Enable( bool enable )
|
bool wxBitmapButton::Enable( bool enable )
|
||||||
{
|
{
|
||||||
if ( !wxWindow::Enable(enable) )
|
if ( !wxWindow::Enable(enable) )
|
||||||
|
Reference in New Issue
Block a user