X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3216dbf5dccab8ed6dc0245b7e5c998738ef51d7..7a47e45eccd9d709ca782ce01b2c32a18ecd3664:/include/wx/univ/toolbar.h diff --git a/include/wx/univ/toolbar.h b/include/wx/univ/toolbar.h index 52d53e606b..c080710eec 100644 --- a/include/wx/univ/toolbar.h +++ b/include/wx/univ/toolbar.h @@ -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_