wxWidgets/include/wx/os2/toolbar.h

123 lines
4.0 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// 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_