97f6c85d9b
This first version provides only a generic implementation of wxBitmapBundle using a collection of bitmaps and only supports using it in wxToolBar in wxMSW and wxGTK. More methods of creating wxBitmapBundle will be provided later and more functions taking wxBitmap will be changed to take wxBitmapBundle later too and, of course, all the other ports will be updated to use the new API too.
103 lines
3.3 KiB
C++
103 lines
3.3 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk1/toolbar.h
|
|
// Purpose: GTK toolbar
|
|
// Author: Robert Roebling
|
|
// Copyright: (c) Robert Roebling
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GTK_TOOLBAR_H_
|
|
#define _WX_GTK_TOOLBAR_H_
|
|
|
|
#if wxUSE_TOOLBAR
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// 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 = wxASCII_STR(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 = wxASCII_STR(wxToolBarNameStr) );
|
|
|
|
virtual ~wxToolBar();
|
|
|
|
// override base class virtuals
|
|
virtual void SetMargins(int x, int y);
|
|
virtual void SetToolSeparation(int separation);
|
|
|
|
virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
|
|
|
|
virtual void SetToolShortHelp(int id, const wxString& helpString);
|
|
|
|
virtual void SetWindowStyleFlag( long style );
|
|
|
|
static wxVisualAttributes
|
|
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
|
|
|
// implementation from now on
|
|
// --------------------------
|
|
|
|
GtkToolbar *m_toolbar;
|
|
|
|
bool m_blockEvent;
|
|
|
|
void OnInternalIdle();
|
|
|
|
protected:
|
|
// common part of all ctors
|
|
void Init();
|
|
|
|
// choose the default border for this window
|
|
virtual wxBorder GetDefaultBorder() const { return wxBORDER_DEFAULT; }
|
|
|
|
// set the GTK toolbar style and orientation
|
|
void GtkSetStyle();
|
|
|
|
// 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 wxBitmapBundle& bitmap1,
|
|
const wxBitmapBundle& bitmap2,
|
|
wxItemKind kind,
|
|
wxObject *clientData,
|
|
const wxString& shortHelpString,
|
|
const wxString& longHelpString);
|
|
virtual wxToolBarToolBase *CreateTool(wxControl *control,
|
|
const wxString& label);
|
|
|
|
private:
|
|
wxDECLARE_DYNAMIC_CLASS(wxToolBar);
|
|
};
|
|
|
|
#endif // wxUSE_TOOLBAR
|
|
|
|
#endif
|
|
// _WX_GTK_TOOLBAR_H_
|