#define _WX_TOOLBAR_H_
#if wxUSE_TOOLBAR
+#include "wx/timer.h"
#include "wx/tbarbase.h"
-class WXDLLEXPORT wxToolBar: public wxToolBarBase
+#define ID_TOOLTIMER 100
+#define ID_TOOLEXPTIMER 101
+
+class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase
{
public:
/*
* Public interface
*/
- wxToolBar() { Init(); }
+ wxToolBar()
+ : m_vToolTimer(this, ID_TOOLTIMER)
+ , m_vToolExpTimer(this, ID_TOOLEXPTIMER)
+ { Init(); }
inline wxToolBar( wxWindow* pParent
,wxWindowID vId
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxNO_BORDER | wxTB_HORIZONTAL
,const wxString& rName = wxToolBarNameStr
- )
+ ) : m_vToolTimer(this, ID_TOOLTIMER)
+ , m_vToolExpTimer(this, ID_TOOLEXPTIMER)
{
Init();
Create( pParent
virtual bool Realize(void);
virtual void SetRows(int nRows);
+ //
+ // Special overrides for OS/2
+ //
+ virtual wxToolBarToolBase* InsertControl( size_t nPos
+ ,wxControl* pControl
+ );
+ virtual wxToolBarToolBase* InsertSeparator(size_t nPos);
+ virtual wxToolBarToolBase* InsertTool( size_t nPos
+ ,int nId
+ ,const wxString& rsLabel
+ ,const wxBitmap& rBitmap
+ ,const wxBitmap& rBmpDisabled = wxNullBitmap
+ ,wxItemKind eKind = wxITEM_NORMAL
+ ,const wxString& rsShortHelp = wxEmptyString
+ ,const wxString& rsLongHelp = wxEmptyString
+ ,wxObject* pClientData = NULL
+ );
+ wxToolBarToolBase* InsertTool( size_t nPos
+ ,int nId
+ ,const wxBitmap& rBitmap
+ ,const wxBitmap& rBmpDisabled = wxNullBitmap
+ ,bool bToggle = FALSE
+ ,wxObject* pClientData = NULL
+ ,const wxString& rsShortHelp = wxEmptyString
+ ,const wxString& rsLongHelp = wxEmptyString
+ )
+ {
+ return InsertTool( nPos
+ ,nId
+ ,wxEmptyString
+ ,rBitmap
+ ,rBmpDisabled
+ ,bToggle ? wxITEM_CHECK : wxITEM_NORMAL
+ ,rsShortHelp
+ ,rsLongHelp
+ ,pClientData
+ );
+ }
+ virtual bool DeleteTool(int nId);
+ virtual bool DeleteToolByPos(size_t nPos);
+
//
// Event handlers
//
,const wxString& rsShortHelp
,const wxString& rsLongHelp
);
- virtual wxToolBarToolBase* CreateTool(wxControl* pControl);
+ virtual wxToolBarToolBase* CreateTool(wxControl* pControl,
+ const wxString& label);
//
// Helpers
void RaiseTool( wxToolBarToolBase* pTool
,bool bRaise = TRUE
);
+ void OnTimer(wxTimerEvent& rEvent);
static bool m_bInitialized;
+ wxTimer m_vToolTimer;
+ wxTimer m_vToolExpTimer;
+ wxToolTip* m_pToolTip;
+ wxCoord m_vXMouse;
+ wxCoord m_vYMouse;
+
+ //
+ // Virtual function hiding supression
+ virtual wxToolBarToolBase *InsertTool (size_t nPos, wxToolBarToolBase* pTool)
+ {
+ return( wxToolBarBase::InsertTool( nPos
+ ,pTool
+ ));
+ }
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
};