]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/buttonbar.h
#9591: Item state (icons) for wxTreeCtrl on any platform
[wxWidgets.git] / include / wx / generic / buttonbar.h
index 1cb9d63a7f35084e52fd3cf9f12a5b4896f8dca6..3a4a464a45e5886119d8b625607832e723598f3a 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     2006-04-13
 // Id:          $Id$
 // Copyright:   (c) Julian Smart, Robert Roebling, Vadim Zeitlin,
 // Created:     2006-04-13
 // Id:          $Id$
 // Copyright:   (c) Julian Smart, Robert Roebling, Vadim Zeitlin,
-//              SciTech Software, Inc. 
+//              SciTech Software, Inc.
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #define _WX_BUTTONBAR_H_
 
 #include "wx/bmpbuttn.h"
 #define _WX_BUTTONBAR_H_
 
 #include "wx/bmpbuttn.h"
+#include "wx/toolbar.h"
 
 
-class WXDLLEXPORT wxButtonToolBarTool;
+class WXDLLIMPEXP_FWD_CORE wxButtonToolBarTool;
 
 // ----------------------------------------------------------------------------
 // wxButtonToolBar
 // ----------------------------------------------------------------------------
 
 
 // ----------------------------------------------------------------------------
 // wxButtonToolBar
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxButtonToolBar : public wxToolBarBase
-{    
+class WXDLLIMPEXP_CORE wxButtonToolBar : public wxToolBarBase
+{
 public:
     // construction/destruction
     wxButtonToolBar() { Init(); }
 public:
     // construction/destruction
     wxButtonToolBar() { Init(); }
@@ -44,7 +45,7 @@ public:
                  const wxSize& size = wxDefaultSize,
                  long style = 0,
                  const wxString& name = wxToolBarNameStr );
                  const wxSize& size = wxDefaultSize,
                  long style = 0,
                  const wxString& name = wxToolBarNameStr );
-                 
+
     virtual ~wxButtonToolBar();
 
     virtual bool Realize();
     virtual ~wxButtonToolBar();
 
     virtual bool Realize();
@@ -72,7 +73,8 @@ protected:
                                           wxObject *clientData,
                                           const wxString& shortHelp,
                                           const wxString& longHelp);
                                           wxObject *clientData,
                                           const wxString& shortHelp,
                                           const wxString& longHelp);
-    virtual wxToolBarToolBase *CreateTool(wxControl *control);
+    virtual wxToolBarToolBase *CreateTool(wxControl *control,
+                                          const wxString& label);
 
     virtual wxSize DoGetBestClientSize() const;
 
 
     virtual wxSize DoGetBestClientSize() const;
 
@@ -89,6 +91,12 @@ protected:
     // receives button commands
     void OnCommand(wxCommandEvent& event);
 
     // receives button commands
     void OnCommand(wxCommandEvent& event);
 
+    // paints a border
+    void OnPaint(wxPaintEvent& event);
+
+    // detects mouse clicks outside buttons
+    void OnLeftUp(wxMouseEvent& event);
+
 private:
     // have we calculated the positions of our tools?
     bool m_needsLayout;
 private:
     // have we calculated the positions of our tools?
     bool m_needsLayout;
@@ -100,6 +108,12 @@ private:
     wxCoord m_maxWidth,
             m_maxHeight;
 
     wxCoord m_maxWidth,
             m_maxHeight;
 
+    // the height of a label
+    int m_labelHeight;
+
+    // the space above the label
+    int m_labelMargin;
+
 private:
     DECLARE_DYNAMIC_CLASS(wxButtonToolBar)
     DECLARE_EVENT_TABLE()
 private:
     DECLARE_DYNAMIC_CLASS(wxButtonToolBar)
     DECLARE_EVENT_TABLE()