]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/toolbar.h
Applied patch which allows you to detach a stream
[wxWidgets.git] / include / wx / univ / toolbar.h
index 823888bda40f264e01a0f8cc0fee93d457421a17..feb9ae4bc3b26f87e3b7752b3be7d13104978219 100644 (file)
@@ -6,16 +6,12 @@
 // 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__
-    #pragma interface "univtoolbar.h"
-#endif
-
 #include "wx/button.h"      // for wxStdButtonInputHandler
 
 class WXDLLEXPORT wxToolBarTool;
@@ -63,10 +59,19 @@ public:
 
     virtual bool Realize();
 
+    virtual void SetWindowStyleFlag( long style );
+
     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
 
     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); }
+
+    virtual bool PerformAction(const wxControlAction& action,
+                               long numArg = -1,
+                               const wxString& strArg = wxEmptyString);
 protected:
     // common part of all ctors
     void Init();
@@ -80,19 +85,19 @@ 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
-    virtual bool PerformAction(const wxControlAction& action,
-                               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 +107,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,14 +124,8 @@ private:
     // the total size of all toolbar elements
     wxCoord m_maxWidth,
             m_maxHeight;
-    
-    // the tool over which the mouse currently is or NULL
-    wxToolBarToolBase *m_toolCurrent;
-
-    // the tool which currently has the mouse capture (i.e. the one user is
-    // pressing) or NULL
-    wxToolBarTool *m_toolPressed;
 
+private:
     DECLARE_DYNAMIC_CLASS(wxToolBar)
 };
 
@@ -144,7 +134,7 @@ private:
 // click into button press/release actions
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxStdToolbarInputHandler : public wxStdButtonInputHandler
+class WXDLLEXPORT wxStdToolbarInputHandler : public wxStdInputHandler
 {
 public:
     wxStdToolbarInputHandler(wxInputHandler *inphand);
@@ -157,6 +147,11 @@ public:
     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_