git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			123 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        toolbar.h
 | 
						|
// Purpose:     wxToolBar class
 | 
						|
// Author:      David Webster
 | 
						|
// Modified by:
 | 
						|
// Created:     10/17/98
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) David Webster
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _WX_TOOLBAR_H_
 | 
						|
#define _WX_TOOLBAR_H_
 | 
						|
 | 
						|
#if wxUSE_TOOLBAR
 | 
						|
#include "wx/tbarbase.h"
 | 
						|
 | 
						|
WXDLLEXPORT_DATA(extern const wxChar*) wxToolBarNameStr;
 | 
						|
 | 
						|
class WXDLLEXPORT wxToolBar: public wxToolBarBase
 | 
						|
{
 | 
						|
public:
 | 
						|
    /*
 | 
						|
     * Public interface
 | 
						|
     */
 | 
						|
 | 
						|
    wxToolBar() { Init(); }
 | 
						|
 | 
						|
    inline wxToolBar( wxWindow*       pParent
 | 
						|
                     ,wxWindowID      vId
 | 
						|
                     ,const wxPoint&  rPos = wxDefaultPosition
 | 
						|
                     ,const wxSize&   rSize = wxDefaultSize
 | 
						|
                     ,long            lStyle = wxNO_BORDER|wxTB_HORIZONTAL
 | 
						|
                     ,const wxString& rName = wxToolBarNameStr
 | 
						|
                    )
 | 
						|
    {
 | 
						|
        Create( pParent
 | 
						|
               ,vId
 | 
						|
               ,rPos
 | 
						|
               ,rSize
 | 
						|
               ,lStyle
 | 
						|
               ,rName
 | 
						|
              );
 | 
						|
    }
 | 
						|
    bool Create( wxWindow*       pParent
 | 
						|
                ,wxWindowID      vId
 | 
						|
                ,const wxPoint&  rPos = wxDefaultPosition
 | 
						|
                ,const wxSize&   rSize = wxDefaultSize
 | 
						|
                ,long            lStyle = wxNO_BORDER|wxTB_HORIZONTAL
 | 
						|
                ,const wxString& rName = wxToolBarNameStr
 | 
						|
               );
 | 
						|
 | 
						|
    virtual ~wxToolBar();
 | 
						|
 | 
						|
    // override/implement base class virtuals
 | 
						|
    virtual wxToolBarToolBase* FindToolForPosition( wxCoord x
 | 
						|
                                                   ,wxCoord y
 | 
						|
                                                  ) const;
 | 
						|
 | 
						|
    // The post-tool-addition call
 | 
						|
    virtual bool Realize(void);
 | 
						|
 | 
						|
    virtual void SetToolBitmapSize(const wxSize& rSize);
 | 
						|
    virtual wxSize GetToolSize(void) const;
 | 
						|
 | 
						|
    virtual void SetRows(int nRows);
 | 
						|
 | 
						|
    // IMPLEMENTATION
 | 
						|
    virtual bool OS2Command( WXUINT uParam
 | 
						|
                            ,WXWORD wId
 | 
						|
                           );
 | 
						|
    virtual bool OS2OnNotify( int       nCtrl
 | 
						|
                             ,WXLPARAM  lParam
 | 
						|
                             ,WXLPARAM* pResult
 | 
						|
                            );
 | 
						|
    void OnMouseEvent(wxMouseEvent& rEvent);
 | 
						|
    void OnSysColourChanged(wxSysColourChangedEvent& rEvent);
 | 
						|
 | 
						|
protected:
 | 
						|
    void Init(void);
 | 
						|
    // 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             vId
 | 
						|
                                          ,const wxBitmap& rBitmap1
 | 
						|
                                          ,const wxBitmap& rBitmap2
 | 
						|
                                          ,bool            bToggle
 | 
						|
                                          ,wxObject*       pClientData
 | 
						|
                                          ,const wxString& rShortHelpString
 | 
						|
                                          ,const wxString& rLongHelpString
 | 
						|
                                         );
 | 
						|
    virtual wxToolBarToolBase* CreateTool(wxControl* pControl);
 | 
						|
 | 
						|
    // should be called whenever the toolbar size changes
 | 
						|
    void UpdateSize(void);
 | 
						|
 | 
						|
    // override WndProc to process WM_SIZE
 | 
						|
    virtual MRESULT OS2WindowProc( WXUINT   ulMsg
 | 
						|
                                  ,WXWPARAM wParam
 | 
						|
                                  ,WXLPARAM lParam
 | 
						|
                                 );
 | 
						|
 | 
						|
    // the big bitmap containing all bitmaps of the toolbar buttons
 | 
						|
    WXHBITMAP                       m_hBitmap;
 | 
						|
 | 
						|
    // the total number of toolbar elements
 | 
						|
    size_t                          m_nButtons;
 | 
						|
 | 
						|
private:
 | 
						|
    DECLARE_EVENT_TABLE()
 | 
						|
    DECLARE_DYNAMIC_CLASS(wxToolBar)
 | 
						|
};
 | 
						|
 | 
						|
#endif // wxUSE_TOOLBAR
 | 
						|
 | 
						|
#endif
 | 
						|
    // _WX_TOOLBAR_H_
 |