Add wxAuiToolBar::Create().
Implement two-step creation of wxAuiToolBar to allow doing it from XRC. See #13520. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -439,14 +439,26 @@ protected:
|
|||||||
class WXDLLIMPEXP_AUI wxAuiToolBar : public wxControl
|
class WXDLLIMPEXP_AUI wxAuiToolBar : public wxControl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
wxAuiToolBar() { Init(); }
|
||||||
|
|
||||||
wxAuiToolBar(wxWindow* parent,
|
wxAuiToolBar(wxWindow* parent,
|
||||||
wxWindowID id = -1,
|
wxWindowID id = wxID_ANY,
|
||||||
const wxPoint& position = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxAUI_TB_DEFAULT_STYLE);
|
long style = wxAUI_TB_DEFAULT_STYLE)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
Create(parent, id, pos, size, style);
|
||||||
|
}
|
||||||
|
|
||||||
virtual ~wxAuiToolBar();
|
virtual ~wxAuiToolBar();
|
||||||
|
|
||||||
|
bool Create(wxWindow* parent,
|
||||||
|
wxWindowID id = wxID_ANY,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = 0);
|
||||||
|
|
||||||
void SetWindowStyleFlag(long style);
|
void SetWindowStyleFlag(long style);
|
||||||
long GetWindowStyleFlag() const;
|
long GetWindowStyleFlag() const;
|
||||||
|
|
||||||
@@ -581,6 +593,7 @@ public:
|
|||||||
virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE);
|
virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
void Init();
|
||||||
|
|
||||||
virtual void OnCustomRender(wxDC& WXUNUSED(dc),
|
virtual void OnCustomRender(wxDC& WXUNUSED(dc),
|
||||||
const wxAuiToolBarItem& WXUNUSED(item),
|
const wxAuiToolBarItem& WXUNUSED(item),
|
||||||
|
@@ -596,11 +596,32 @@ public:
|
|||||||
class wxAuiToolBar : public wxControl
|
class wxAuiToolBar : public wxControl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
Default constructor, use Create() later.
|
||||||
|
|
||||||
|
@since 2.9.5
|
||||||
|
*/
|
||||||
|
wxAuiToolBar();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Constructor creating and initializing the object.
|
||||||
|
*/
|
||||||
wxAuiToolBar(wxWindow* parent,
|
wxAuiToolBar(wxWindow* parent,
|
||||||
wxWindowID id = -1,
|
wxWindowID id = wxID_ANY,
|
||||||
const wxPoint& position = wxDefaultPosition,
|
const wxPoint& position = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxAUI_TB_DEFAULT_STYLE);
|
long style = wxAUI_TB_DEFAULT_STYLE);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Really create wxAuiToolBar created using default constructor.
|
||||||
|
|
||||||
|
@since 2.9.5
|
||||||
|
*/
|
||||||
|
bool Create(wxWindow* parent,
|
||||||
|
wxWindowID id = wxID_ANY,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = wxAUI_TB_DEFAULT_STYLE);
|
||||||
virtual ~wxAuiToolBar();
|
virtual ~wxAuiToolBar();
|
||||||
|
|
||||||
void SetWindowStyleFlag(long style);
|
void SetWindowStyleFlag(long style);
|
||||||
|
@@ -798,17 +798,7 @@ BEGIN_EVENT_TABLE(wxAuiToolBar, wxControl)
|
|||||||
EVT_SET_CURSOR(wxAuiToolBar::OnSetCursor)
|
EVT_SET_CURSOR(wxAuiToolBar::OnSetCursor)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
void wxAuiToolBar::Init()
|
||||||
wxAuiToolBar::wxAuiToolBar(wxWindow* parent,
|
|
||||||
wxWindowID id,
|
|
||||||
const wxPoint& position,
|
|
||||||
const wxSize& size,
|
|
||||||
long style)
|
|
||||||
: wxControl(parent,
|
|
||||||
id,
|
|
||||||
position,
|
|
||||||
size,
|
|
||||||
style | wxBORDER_NONE)
|
|
||||||
{
|
{
|
||||||
m_sizer = new wxBoxSizer(wxHORIZONTAL);
|
m_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
m_buttonWidth = -1;
|
m_buttonWidth = -1;
|
||||||
@@ -824,15 +814,29 @@ wxAuiToolBar::wxAuiToolBar(wxWindow* parent,
|
|||||||
m_gripperSizerItem = NULL;
|
m_gripperSizerItem = NULL;
|
||||||
m_overflowSizerItem = NULL;
|
m_overflowSizerItem = NULL;
|
||||||
m_dragging = false;
|
m_dragging = false;
|
||||||
|
m_gripperVisible = (m_style & wxAUI_TB_GRIPPER) ? true : false;
|
||||||
|
m_overflowVisible = (m_style & wxAUI_TB_OVERFLOW) ? true : false;
|
||||||
|
m_overflowState = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxAuiToolBar::Create(wxWindow* parent,
|
||||||
|
wxWindowID id,
|
||||||
|
const wxPoint& pos,
|
||||||
|
const wxSize& size,
|
||||||
|
long style)
|
||||||
|
{
|
||||||
|
style = style|wxBORDER_NONE;
|
||||||
|
|
||||||
|
if (!wxControl::Create(parent, id, pos, size, style))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
m_style = style;
|
||||||
m_orientation = GetOrientation(style);
|
m_orientation = GetOrientation(style);
|
||||||
if (m_orientation == wxBOTH)
|
if (m_orientation == wxBOTH)
|
||||||
{
|
{
|
||||||
m_orientation = wxHORIZONTAL;
|
m_orientation = wxHORIZONTAL;
|
||||||
}
|
}
|
||||||
m_style = style | wxBORDER_NONE;
|
|
||||||
m_gripperVisible = (m_style & wxAUI_TB_GRIPPER) ? true : false;
|
|
||||||
m_overflowVisible = (m_style & wxAUI_TB_OVERFLOW) ? true : false;
|
|
||||||
m_overflowState = 0;
|
|
||||||
SetMargins(5, 5, 2, 2);
|
SetMargins(5, 5, 2, 2);
|
||||||
SetFont(*wxNORMAL_FONT);
|
SetFont(*wxNORMAL_FONT);
|
||||||
SetArtFlags();
|
SetArtFlags();
|
||||||
@@ -840,8 +844,9 @@ wxAuiToolBar::wxAuiToolBar(wxWindow* parent,
|
|||||||
if (style & wxAUI_TB_HORZ_LAYOUT)
|
if (style & wxAUI_TB_HORZ_LAYOUT)
|
||||||
SetToolTextOrientation(wxAUI_TBTOOL_TEXT_RIGHT);
|
SetToolTextOrientation(wxAUI_TBTOOL_TEXT_RIGHT);
|
||||||
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
|
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
|
||||||
}
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
wxAuiToolBar::~wxAuiToolBar()
|
wxAuiToolBar::~wxAuiToolBar()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user