| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/univ/toolbar.h
 
- // Purpose:     wxToolBar declaration
 
- // Author:      Robert Roebling
 
- // Modified by:
 
- // Created:     10.09.00
 
- // Copyright:   (c) Robert Roebling
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_UNIV_TOOLBAR_H_
 
- #define _WX_UNIV_TOOLBAR_H_
 
- #include "wx/button.h"      // for wxStdButtonInputHandler
 
- class WXDLLIMPEXP_FWD_CORE wxToolBarTool;
 
- // ----------------------------------------------------------------------------
 
- // the actions supported by this control
 
- // ----------------------------------------------------------------------------
 
- #define wxACTION_TOOLBAR_TOGGLE  wxACTION_BUTTON_TOGGLE
 
- #define wxACTION_TOOLBAR_PRESS   wxACTION_BUTTON_PRESS
 
- #define wxACTION_TOOLBAR_RELEASE wxACTION_BUTTON_RELEASE
 
- #define wxACTION_TOOLBAR_CLICK   wxACTION_BUTTON_CLICK
 
- #define wxACTION_TOOLBAR_ENTER   wxT("enter")     // highlight the tool
 
- #define wxACTION_TOOLBAR_LEAVE   wxT("leave")     // unhighlight the tool
 
- // ----------------------------------------------------------------------------
 
- // wxToolBar
 
- // ----------------------------------------------------------------------------
 
- class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
 
- {
 
- public:
 
-     // construction/destruction
 
-     wxToolBar() { Init(); }
 
-     wxToolBar(wxWindow *parent,
 
-               wxWindowID id,
 
-               const wxPoint& pos = wxDefaultPosition,
 
-               const wxSize& size = wxDefaultSize,
 
-               long style = 0,
 
-               const wxString& name = wxToolBarNameStr)
 
-     {
 
-         Init();
 
-         Create(parent, id, pos, size, style, name);
 
-     }
 
-     bool Create( wxWindow *parent,
 
-                  wxWindowID id,
 
-                  const wxPoint& pos = wxDefaultPosition,
 
-                  const wxSize& size = wxDefaultSize,
 
-                  long style = 0,
 
-                  const wxString& name = wxToolBarNameStr );
 
-     virtual ~wxToolBar();
 
-     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);
 
-     static wxInputHandler *GetStdInputHandler(wxInputHandler *handlerDef);
 
-     virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef)
 
-     {
 
-         return GetStdInputHandler(handlerDef);
 
-     }
 
- protected:
 
-     // common part of all ctors
 
-     void Init();
 
-     // implement base class pure virtuals
 
-     virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
 
-     virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
 
-     virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
 
-     virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
 
-     virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
 
-     virtual wxToolBarToolBase *CreateTool(int id,
 
-                                           const wxString& label,
 
-                                           const wxBitmap& bmpNormal,
 
-                                           const wxBitmap& bmpDisabled,
 
-                                           wxItemKind kind,
 
-                                           wxObject *clientData,
 
-                                           const wxString& shortHelp,
 
-                                           const wxString& longHelp);
 
-     virtual wxToolBarToolBase *CreateTool(wxControl *control,
 
-                                           const wxString& label);
 
-     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
 
-     wxRect GetToolRect(wxToolBarToolBase *tool) const;
 
-     // redraw the given tool
 
-     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
 
-     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;
 
- private:
 
-     // have we calculated the positions of our tools?
 
-     bool m_needsLayout;
 
-     // the width of a separator
 
-     wxCoord m_widthSeparator;
 
-     // the total size of all toolbar elements
 
-     wxCoord m_maxWidth,
 
-             m_maxHeight;
 
- private:
 
-     DECLARE_DYNAMIC_CLASS(wxToolBar)
 
- };
 
- #endif // _WX_UNIV_TOOLBAR_H_
 
 
  |