]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toolbar.h
A few tweaks and cleanups
[wxWidgets.git] / include / wx / toolbar.h
index 3e09456f594782028c3887458630dc76622e5568..81ca04152df0ea121abad33b3c57953415bcbecc 100644 (file)
-#ifndef _TOOLBAR_H_BASE_
-#define _TOOLBAR_H_BASE_
-
-// the application code should use only wxToolBar which is #define'd to be the
-// native implementation for each platform
-#if defined(__WXMSW__) && defined(__WIN95__)
-#   include "wx/msw/tbar95.h"
-#   define wxToolBar wxToolBar95
-#   define classwxToolBar classwxToolBar95
-#elif defined(__WXMSW__)
-#   include "wx/msw/tbarmsw.h"
-#   define wxToolBar wxToolBarMSW
-#   define classwxToolBar classwxToolBarMSW
-#elif defined(__WXGTK__)
-#   include "wx/gtk/tbargtk.h"
-#elif defined(__WXQT__)
-#   include "wx/qt/tbarqt.h"
-#elif defined(__WXMAC__)
-#   include "wx/mac/toolbar.h"
-#elif defined(__WXSTUBS__)
-#   include "wx/stubs/toolbar.h"
-#endif
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/toolbar.h
+// Purpose:     wxToolBar interface declaration
+// Author:      Vadim Zeitlin
+// Modified by:
+// Created:     20.11.99
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWindows team
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TOOLBAR_H_BASE_
+#define _WX_TOOLBAR_H_BASE_
+
+#include "wx/tbarbase.h"     // the base class for all toolbars
+
+#if wxUSE_TOOLBAR
+    #if !wxUSE_TOOLBAR_NATIVE && !defined(__WXUNIVERSAL__)
+        #include "wx/tbarsmpl.h"
+
+        class WXDLLEXPORT wxToolBar : public wxToolBarSimple
+        {
+        public:
+            wxToolBar() { }
+
+            wxToolBar(wxWindow *parent,
+                      wxWindowID id,
+                      const wxPoint& pos = wxDefaultPosition,
+                      const wxSize& size = wxDefaultSize,
+                      long style = wxNO_BORDER | wxTB_HORIZONTAL,
+                      const wxString& name = wxToolBarNameStr)
+                : wxToolBarSimple(parent, id, pos, size, style, name) { }
+
+            // the most commonly used version of AddTool()
+            wxToolBarToolBase *AddTool(int id,
+                               const wxBitmap& bitmap,
+                               const wxString& shortHelpString = wxEmptyString,
+                               const wxString& longHelpString = wxEmptyString)
+            {
+                return wxToolBarSimple::AddTool(id, bitmap, wxNullBitmap, FALSE, -1, -1, NULL,
+                       shortHelpString, longHelpString);
+            }
+
+            // old form
+            wxToolBarToolBase *AddTool
+                               (
+                                   int id,
+                                   const wxBitmap& bitmap,
+                                   const wxBitmap& pushedBitmap,
+                                   bool toggle,
+                                   wxObject *clientData = NULL,
+                                   const wxString& shortHelpString = wxEmptyString,
+                                   const wxString& longHelpString = wxEmptyString
+                               )
+            {
+                return wxToolBarSimple::AddTool(id, bitmap, pushedBitmap, toggle, -1, -1, clientData,
+                       shortHelpString, longHelpString);
+            }
+
+            // virtual overridden
+            virtual wxToolBarToolBase *AddTool
+                               (
+                                   int id,
+                                   const wxBitmap& bitmap,
+                                   const wxBitmap& pushedBitmap,
+                                   bool toggle,
+                                   wxCoord xPos,
+                                   wxCoord yPos = -1,
+                                   wxObject *clientData = NULL,
+                                   const wxString& shortHelpString = wxEmptyString,
+                                   const wxString& longHelpString = wxEmptyString
+                               )
+            {
+                return wxToolBarSimple::AddTool(id, bitmap, pushedBitmap, toggle, xPos, yPos, clientData,
+                       shortHelpString, longHelpString);
+            }
+
+        private:
+            DECLARE_DYNAMIC_CLASS(wxToolBar)
+        };
+    #else // wxUSE_TOOLBAR_NATIVE
+        #if defined(__WXUNIVERSAL__)
+           #include "wx/univ/toolbar.h"
+        #elif defined(__WXMSW__) && defined(__WIN95__)
+           #include "wx/msw/tbar95.h"
+        #elif defined(__WXMSW__)
+           #include "wx/msw/tbarmsw.h"
+        #elif defined(__WXMOTIF__)
+           #include "wx/motif/toolbar.h"
+        #elif defined(__WXGTK__)
+           #include "wx/gtk/tbargtk.h"
+        #elif defined(__WXMAC__)
+           #include "wx/mac/toolbar.h"
+        #elif defined(__WXPM__)
+           #include "wx/os2/toolbar.h"
+        #elif defined(__WXSTUBS__)
+           #include "wx/stubs/toolbar.h"
+        #endif
+    #endif // !wxUSE_TOOLBAR_NATIVE/wxUSE_TOOLBAR_NATIVE
+#endif // wxUSE_TOOLBAR
 
 #endif
-    // _TOOLBAR_H_BASE_
+    // _WX_TOOLBAR_H_BASE_