Make the CreateTool factories be public so they can be used from application code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -58,6 +58,17 @@ public:
|
||||
static wxVisualAttributes
|
||||
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(int id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap1,
|
||||
const wxBitmap& bitmap2 = wxNullBitmap,
|
||||
wxItemKind kind = wxITEM_NORMAL,
|
||||
wxObject *clientData = NULL,
|
||||
const wxString& shortHelpString = wxEmptyString,
|
||||
const wxString& longHelpString = wxEmptyString);
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
|
||||
// implementation from now on
|
||||
// --------------------------
|
||||
|
||||
@@ -73,17 +84,6 @@ protected:
|
||||
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
|
||||
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(int id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap1,
|
||||
const wxBitmap& bitmap2,
|
||||
wxItemKind kind,
|
||||
wxObject *clientData,
|
||||
const wxString& shortHelpString,
|
||||
const wxString& longHelpString);
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
|
||||
private:
|
||||
void Init();
|
||||
void GtkSetStyle();
|
||||
|
@@ -85,6 +85,17 @@ public:
|
||||
virtual WXHBRUSH MSWGetBgBrushForChild(WXHDC hDC, wxWindowMSW *child);
|
||||
#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(int id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled = wxNullBitmap,
|
||||
wxItemKind kind = wxITEM_NORMAL,
|
||||
wxObject *clientData = NULL,
|
||||
const wxString& shortHelp = wxEmptyString,
|
||||
const wxString& longHelp = wxEmptyString);
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
@@ -103,18 +114,6 @@ protected:
|
||||
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
|
||||
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(int id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled,
|
||||
wxItemKind kind,
|
||||
wxObject *clientData,
|
||||
const wxString& shortHelp,
|
||||
const wxString& longHelp);
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
|
||||
// return the appropriate size and flags for the toolbar control
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
|
||||
|
@@ -77,6 +77,18 @@ class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase
|
||||
bool MacWantsNativeToolbar();
|
||||
bool MacTopLevelHasNativeToolbar(bool *ownToolbarInstalled) const;
|
||||
#endif
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(int id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled = wxNullBitmap,
|
||||
wxItemKind kind = wxITEM_NORMAL,
|
||||
wxObject *clientData = NULL,
|
||||
const wxString& shortHelp = wxEmptyString,
|
||||
const wxString& longHelp = wxEmptyString);
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
@@ -99,17 +111,6 @@ protected:
|
||||
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
|
||||
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(int id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled,
|
||||
wxItemKind kind,
|
||||
wxObject *clientData,
|
||||
const wxString& shortHelp,
|
||||
const wxString& longHelp);
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
#if wxOSX_USE_NATIVE_TOOLBAR
|
||||
bool m_macUsesNativeToolbar ;
|
||||
|
@@ -567,6 +567,33 @@ public:
|
||||
// use GetToolMargins() instead
|
||||
wxSize GetMargins() const { return GetToolMargins(); }
|
||||
|
||||
// Tool factories,
|
||||
// helper functions to create toolbar tools
|
||||
// -------------------------
|
||||
virtual wxToolBarToolBase *CreateTool(int toolid,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled = wxNullBitmap,
|
||||
wxItemKind kind = wxITEM_NORMAL,
|
||||
wxObject *clientData = NULL,
|
||||
const wxString& shortHelp = wxEmptyString,
|
||||
const wxString& longHelp = wxEmptyString) = 0;
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label) = 0;
|
||||
|
||||
// this one is not virtual but just a simple helper/wrapper around
|
||||
// CreateTool() for separators
|
||||
wxToolBarToolBase *CreateSeparator()
|
||||
{
|
||||
return CreateTool(wxID_SEPARATOR,
|
||||
wxEmptyString,
|
||||
wxNullBitmap, wxNullBitmap,
|
||||
wxITEM_SEPARATOR, NULL,
|
||||
wxEmptyString, wxEmptyString);
|
||||
}
|
||||
|
||||
|
||||
// implementation only from now on
|
||||
// -------------------------------
|
||||
|
||||
@@ -618,29 +645,6 @@ protected:
|
||||
// called when the tools "can be toggled" flag changes
|
||||
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle) = 0;
|
||||
|
||||
// the functions to create toolbar tools
|
||||
virtual wxToolBarToolBase *CreateTool(int toolid,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled,
|
||||
wxItemKind kind,
|
||||
wxObject *clientData,
|
||||
const wxString& shortHelp,
|
||||
const wxString& longHelp) = 0;
|
||||
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label) = 0;
|
||||
|
||||
// this one is not virtual but just a simple helper/wrapper around
|
||||
// CreateTool() for separators
|
||||
wxToolBarToolBase *CreateSeparator()
|
||||
{
|
||||
return CreateTool(wxID_SEPARATOR,
|
||||
wxEmptyString,
|
||||
wxNullBitmap, wxNullBitmap,
|
||||
wxITEM_SEPARATOR, NULL,
|
||||
wxEmptyString, wxEmptyString);
|
||||
}
|
||||
|
||||
// helper functions
|
||||
// ----------------
|
||||
|
@@ -976,5 +976,28 @@ public:
|
||||
tool.
|
||||
*/
|
||||
virtual void ToggleTool(int toolId, bool toggle);
|
||||
|
||||
|
||||
/**
|
||||
Factory function to create a new toolbar tool.
|
||||
*/
|
||||
virtual wxToolBarToolBase *CreateTool(int toolid,
|
||||
const wxString& label,
|
||||
const wxBitmap& bmpNormal,
|
||||
const wxBitmap& bmpDisabled = wxNullBitmap,
|
||||
wxItemKind kind = wxITEM_NORMAL,
|
||||
wxObject *clientData = NULL,
|
||||
const wxString& shortHelp = wxEmptyString,
|
||||
const wxString& longHelp = wxEmptyString);
|
||||
/**
|
||||
Factory function to create a new control toolbar tool.
|
||||
*/
|
||||
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
||||
const wxString& label);
|
||||
|
||||
/**
|
||||
Factory function to create a new separator toolbar tool.
|
||||
*/
|
||||
wxToolBarToolBase *CreateSeparator()
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user