/////////////////////////////////////////////////////////////////////////////
// Name: toolbar.h
// Purpose: wxToolBar class
-// Author: AUTHOR
+// Author: Stefan Csomor
// Modified by:
-// Created: ??/??/98
+// Created: 1998-01-01
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
-// Licence: wxWindows licence
+// Copyright: (c) Stefan Csomor
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TOOLBAR_H_
#define _WX_TOOLBAR_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "toolbar.h"
#endif
#include "wx/tbarbase.h"
#include "wx/dynarray.h"
-WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
+WXDLLEXPORT_DATA(extern const wxChar*) wxToolBarNameStr;
class WXDLLEXPORT wxToolBar: public wxToolBarBase
{
* Public interface
*/
- wxToolBar();
+ wxToolBar() { Init(); }
- inline wxToolBar(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- long style = wxNO_BORDER|wxTB_HORIZONTAL,
- const wxString& name = wxToolBarNameStr)
+
+ inline wxToolBar(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxNO_BORDER|wxTB_HORIZONTAL,
+ const wxString& name = wxToolBarNameStr)
{
+ Init();
Create(parent, id, pos, size, style, name);
}
~wxToolBar();
long style = wxNO_BORDER|wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr);
- // If pushedBitmap is NULL, a reversed version of bitmap is
- // created and used as the pushed/toggled image.
- // If toggle is TRUE, the button toggles between the two states.
- wxToolBarTool *AddTool(int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
- bool toggle = FALSE, long xPos = -1, long yPos = -1, wxObject *clientData = NULL,
- const wxString& helpString1 = "", const wxString& helpString2 = "");
+ // override/implement base class virtuals
+ virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
- // Set default bitmap size
- void SetToolBitmapSize(const wxSize& size);
- void EnableTool(int toolIndex, bool enable); // additional drawing on enabling
- void ToggleTool(int toolIndex, bool toggle); // toggle is TRUE if toggled on
- void ClearTools();
+ virtual bool Realize();
- // The button size is bigger than the bitmap size
- wxSize GetToolSize() const;
+ virtual void SetToolBitmapSize(const wxSize& size);
+ virtual wxSize GetToolSize() const;
- wxSize GetMaxSize() const;
+ virtual void SetRows(int nRows);
// Add all the buttons
- virtual bool CreateTools();
- virtual void LayoutButtons() {}
- // The post-tool-addition call. TODO: do here whatever's
- // necessary for completing the toolbar construction.
- bool Realize() { return CreateTools(); };
- virtual void MacHandleControlClick( ControlHandle control , SInt16 controlpart ) ;
+ virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ;
+ virtual wxString MacGetToolTipString( wxPoint &where ) ;
+ void OnPaint(wxPaintEvent& event) ;
+ void OnMouse(wxMouseEvent& event) ;
+ virtual void MacSuperChangedPosition() ;
protected:
- wxArrayPtrVoid m_macToolHandles ;
-
-DECLARE_EVENT_TABLE()
+ // common part of all ctors
+ void Init();
+
+ // implement base class pure virtuals
+ virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
+ virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
+
+ virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
+ 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);
+
+ DECLARE_EVENT_TABLE()
};
#endif // wxUSE_TOOLBAR