// constants
// ----------------------------------------------------------------------------
-extern WXDLLEXPORT_DATA(const char) wxToolBarNameStr[];
-extern WXDLLEXPORT_DATA(const wxSize) wxDefaultSize;
-extern WXDLLEXPORT_DATA(const wxPoint) wxDefaultPosition;
+extern WXDLLIMPEXP_DATA_CORE(const char) wxToolBarNameStr[];
+extern WXDLLIMPEXP_DATA_CORE(const wxSize) wxDefaultSize;
+extern WXDLLIMPEXP_DATA_CORE(const wxPoint) wxDefaultPosition;
enum wxToolBarToolStyle
{
// for the applications status bar.
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxToolBarToolBase : public wxObject
+class WXDLLIMPEXP_CORE wxToolBarToolBase : public wxObject
{
public:
// ctors & dtor
// ------------
- wxToolBarToolBase(wxToolBarBase *tbar = (wxToolBarBase *)NULL,
+ wxToolBarToolBase(wxToolBarBase *tbar = NULL,
int toolid = wxID_SEPARATOR,
const wxString& label = wxEmptyString,
const wxBitmap& bmpNormal = wxNullBitmap,
const wxBitmap& bmpDisabled = wxNullBitmap,
wxItemKind kind = wxITEM_NORMAL,
- wxObject *clientData = (wxObject *) NULL,
+ wxObject *clientData = NULL,
const wxString& shortHelpString = wxEmptyString,
const wxString& longHelpString = wxEmptyString)
: m_label(label),
wxControl *GetControl() const
{
- wxASSERT_MSG( IsControl(), _T("this toolbar tool is not a control") );
+ wxASSERT_MSG( IsControl(), wxT("this toolbar tool is not a control") );
return m_control;
}
int GetStyle() const { return m_toolStyle; }
wxItemKind GetKind() const
{
- wxASSERT_MSG( IsButton(), _T("only makes sense for buttons") );
+ wxASSERT_MSG( IsButton(), wxT("only makes sense for buttons") );
return m_kind;
}
}
// modifiers: return true if the state really changed
- bool Enable(bool enable);
- bool Toggle(bool toggle);
- bool SetToggle(bool toggle);
- bool SetShortHelp(const wxString& help);
- bool SetLongHelp(const wxString& help);
+ virtual bool Enable(bool enable);
+ virtual bool Toggle(bool toggle);
+ virtual bool SetToggle(bool toggle);
+ virtual bool SetShortHelp(const wxString& help);
+ virtual bool SetLongHelp(const wxString& help);
void Toggle() { Toggle(!IsToggled()); }
- void SetNormalBitmap(const wxBitmap& bmp) { m_bmpNormal = bmp; }
- void SetDisabledBitmap(const wxBitmap& bmp) { m_bmpDisabled = bmp; }
+ virtual void SetNormalBitmap(const wxBitmap& bmp) { m_bmpNormal = bmp; }
+ virtual void SetDisabledBitmap(const wxBitmap& bmp) { m_bmpDisabled = bmp; }
virtual void SetLabel(const wxString& label) { m_label = label; }
}
// add tool to/remove it from a toolbar
- virtual void Detach() { m_tbar = (wxToolBarBase *)NULL; }
+ virtual void Detach() { m_tbar = NULL; }
virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; }
// these methods are only for tools of wxITEM_DROPDOWN kind (but even such
// tools can have a NULL associated menu)
- void SetDropdownMenu(wxMenu *menu);
+ virtual void SetDropdownMenu(wxMenu *menu);
wxMenu *GetDropdownMenu() const { return m_dropdownMenu; }
protected:
// the base class for all toolbars
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxToolBarBase : public wxControl
+class WXDLLIMPEXP_CORE wxToolBarBase : public wxControl
{
public:
wxToolBarBase();
// must be called after all buttons have been created to finish toolbar
// initialisation
+ //
+ // derived class versions should call the base one first, before doing
+ // platform-specific stuff
virtual bool Realize();
// tools state
virtual void SetToolDisabledBitmap(int WXUNUSED(id),
const wxBitmap& WXUNUSED(bitmap)) {}
-
+
// margins/packing/separation
// --------------------------
wxToolBarToolBase *FindById(int toolid) const;
// return true if this is a vertical toolbar, otherwise false
- bool IsVertical() const { return HasFlag(wxTB_LEFT | wxTB_RIGHT); }
-
+ bool IsVertical() const;
+#if WXWIN_COMPATIBILITY_2_8
// the old versions of the various methods kept for compatibility
// don't use in the new code!
// --------------------------------------------------------------
-
+ wxDEPRECATED_INLINE(
wxToolBarToolBase *AddTool(int toolid,
const wxBitmap& bitmap,
const wxBitmap& bmpDisabled,
wxObject *clientData = NULL,
const wxString& shortHelpString = wxEmptyString,
const wxString& longHelpString = wxEmptyString)
- {
+ ,
return AddTool(toolid, wxEmptyString,
bitmap, bmpDisabled,
toggle ? wxITEM_CHECK : wxITEM_NORMAL,
shortHelpString, longHelpString, clientData);
- }
-
+ )
+ wxDEPRECATED_INLINE(
wxToolBarToolBase *AddTool(int toolid,
const wxBitmap& bitmap,
const wxString& shortHelpString = wxEmptyString,
const wxString& longHelpString = wxEmptyString)
- {
+ ,
return AddTool(toolid, wxEmptyString,
bitmap, wxNullBitmap, wxITEM_NORMAL,
shortHelpString, longHelpString, NULL);
- }
-
+ )
+ wxDEPRECATED_INLINE(
wxToolBarToolBase *AddTool(int toolid,
const wxBitmap& bitmap,
const wxBitmap& bmpDisabled,
wxObject *clientData = NULL,
const wxString& shortHelp = wxEmptyString,
const wxString& longHelp = wxEmptyString)
- {
+ ,
return DoAddTool(toolid, wxEmptyString, bitmap, bmpDisabled,
toggle ? wxITEM_CHECK : wxITEM_NORMAL,
shortHelp, longHelp, clientData, xPos, yPos);
- }
-
+ )
+ wxDEPRECATED_INLINE(
wxToolBarToolBase *InsertTool(size_t pos,
int toolid,
const wxBitmap& bitmap,
wxObject *clientData = NULL,
const wxString& shortHelp = wxEmptyString,
const wxString& longHelp = wxEmptyString)
- {
+ ,
return InsertTool(pos, toolid, wxEmptyString, bitmap, bmpDisabled,
toggle ? wxITEM_CHECK : wxITEM_NORMAL,
shortHelp, longHelp, clientData);
- }
+ )
+#endif // WXWIN_COMPATIBILITY_2_8
// event handlers
// --------------
// un-toggle all buttons in the same radio group
void UnToggleRadioGroup(wxToolBarToolBase *tool);
+ // make the size of the buttons big enough to fit the largest bitmap size
+ void AdjustToolBitmapSize();
+
+
// the list of all our tools
wxToolBarToolsList m_tools;
private:
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxToolBarBase)
+ wxDECLARE_NO_COPY_CLASS(wxToolBarBase);
};
// deprecated function for creating the image for disabled buttons, use