1999-07-29 01:11:30 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: toolbar.h
|
|
|
|
// Purpose: wxToolBar class
|
1999-10-17 23:30:47 -04:00
|
|
|
// Author: David Webster
|
1999-07-29 01:11:30 -04:00
|
|
|
// Modified by:
|
1999-10-17 23:30:47 -04:00
|
|
|
// Created: 10/17/98
|
1999-07-29 01:11:30 -04:00
|
|
|
// RCS-ID: $Id$
|
1999-10-17 23:30:47 -04:00
|
|
|
// Copyright: (c) David Webster
|
|
|
|
// Licence: wxWindows licence
|
1999-07-29 01:11:30 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_TOOLBAR_H_
|
|
|
|
#define _WX_TOOLBAR_H_
|
|
|
|
|
1999-10-17 23:30:47 -04:00
|
|
|
#if wxUSE_TOOLBAR
|
1999-07-29 01:11:30 -04:00
|
|
|
#include "wx/tbarbase.h"
|
|
|
|
|
1999-10-17 23:30:47 -04:00
|
|
|
WXDLLEXPORT_DATA(extern const wxChar*) wxToolBarNameStr;
|
1999-07-29 01:11:30 -04:00
|
|
|
|
|
|
|
class WXDLLEXPORT wxToolBar: public wxToolBarBase
|
|
|
|
{
|
1999-12-17 00:42:26 -05:00
|
|
|
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);
|
1999-10-17 23:30:47 -04:00
|
|
|
|
1999-07-29 01:11:30 -04:00
|
|
|
protected:
|
1999-12-17 00:42:26 -05:00
|
|
|
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
|
2000-02-21 00:12:34 -05:00
|
|
|
virtual MRESULT OS2WindowProc( WXUINT ulMsg
|
1999-12-17 00:42:26 -05:00
|
|
|
,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)
|
1999-07-29 01:11:30 -04:00
|
|
|
};
|
|
|
|
|
1999-10-17 23:30:47 -04:00
|
|
|
#endif // wxUSE_TOOLBAR
|
|
|
|
|
1999-07-29 01:11:30 -04:00
|
|
|
#endif
|
|
|
|
// _WX_TOOLBAR_H_
|