]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/toolbar.h
handle volume part of the path correctly in wxFileName(path, name, ext) ctor
[wxWidgets.git] / include / wx / univ / toolbar.h
index 52d53e606b1770fc67d11357d43276e247a6bf6a..c080710eeceb0606612909b68fcdf6f444b9f628 100644 (file)
@@ -6,13 +6,13 @@
 // Created:     10.09.00
 // RCS-ID:      $Id$
 // Copyright:   (c) Robert Roebling
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_UNIV_TOOLBAR_H_
 #define _WX_UNIV_TOOLBAR_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "univtoolbar.h"
 #endif
 
@@ -67,6 +67,10 @@ public:
 
     virtual void SetToolShortHelp(int id, const wxString& helpString);
 
+    virtual void SetMargins(int x, int y);
+    void SetMargins(const wxSize& size)
+        { SetMargins((int) size.x, (int) size.y); }
+    
 protected:
     // common part of all ctors
     void Init();
@@ -80,12 +84,13 @@ protected:
     virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
 
     virtual wxToolBarToolBase *CreateTool(int id,
-                                          const wxBitmap& bitmap1,
-                                          const wxBitmap& bitmap2,
-                                          bool toggle,
+                                          const wxString& label,
+                                          const wxBitmap& bmpNormal,
+                                          const wxBitmap& bmpDisabled,
+                                          wxItemKind kind,
                                           wxObject *clientData,
-                                          const wxString& shortHelpString,
-                                          const wxString& longHelpString);
+                                          const wxString& shortHelp,
+                                          const wxString& longHelp);
     virtual wxToolBarToolBase *CreateTool(wxControl *control);
 
     // implement wxUniversal methods
@@ -93,6 +98,9 @@ protected:
                                long numArg = -1,
                                const wxString& strArg = wxEmptyString);
     virtual wxSize DoGetBestClientSize() const;
+    virtual void DoSetSize(int x, int y,
+                           int width, int height,
+                           int sizeFlags = wxSIZE_AUTO);
     virtual void DoDraw(wxControlRenderer *renderer);
 
     // get the bounding rect for the given tool
@@ -102,22 +110,13 @@ protected:
     void RefreshTool(wxToolBarToolBase *tool);
 
     // (re)calculate the tool positions, should only be called if it is
-    // necessary to do it, i.e. m_needsLayout == TRUE
+    // necessary to do it, i.e. m_needsLayout == true
     void DoLayout();
     
     // get the rect limits depending on the orientation: top/bottom for a
     // vertical toolbar, left/right for a horizontal one
     void GetRectLimits(const wxRect& rect, wxCoord *start, wxCoord *end) const;
 
-    // wxButton actions: all these use m_toolPressed and can only be called if
-    // we have one
-    void Toggle();
-    void Press();
-    void Release();
-
-    // this one used m_toolCurrent
-    void Click();
-
 private:
     // have we calculated the positions of our tools?
     bool m_needsLayout;
@@ -128,13 +127,8 @@ private:
     // the total size of all toolbar elements
     wxCoord m_maxWidth,
             m_maxHeight;
-    
-    // the current tool or NULL
-    wxToolBarToolBase *m_toolCurrent;
-
-    // the currently pressed tool or NULL
-    wxToolBarToolBase *m_toolPressed;
 
+private:
     DECLARE_DYNAMIC_CLASS(wxToolBar)
 };
 
@@ -143,7 +137,7 @@ private:
 // click into button press/release actions
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxStdToolbarInputHandler : public wxStdButtonInputHandler
+class WXDLLEXPORT wxStdToolbarInputHandler : public wxStdInputHandler
 {
 public:
     wxStdToolbarInputHandler(wxInputHandler *inphand);
@@ -151,9 +145,16 @@ public:
     virtual bool HandleKey(wxInputConsumer *consumer,
                            const wxKeyEvent& event,
                            bool pressed);
+    virtual bool HandleMouse(wxInputConsumer *consumer,
+                             const wxMouseEvent& event);
     virtual bool HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event);
     virtual bool HandleFocus(wxInputConsumer *consumer, const wxFocusEvent& event);
     virtual bool HandleActivation(wxInputConsumer *consumer, bool activated);
+    
+private:
+    wxWindow            *m_winCapture;
+    wxToolBarToolBase   *m_toolCapture;
+    wxToolBarToolBase   *m_toolLast;
 };
 
 #endif // _WX_UNIV_TOOLBAR_H_