// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __TBARMSWH__
-#define __TBARMSWH__
+#ifndef _WX_TBARMSW_H_
+#define _WX_TBARMSW_H_
#ifdef __GNUG__
#pragma interface "tbarmsw.h"
#endif
-#if USE_BUTTONBAR && USE_TOOLBAR
+#if wxUSE_BUTTONBAR && wxUSE_TOOLBAR
#include "wx/tbarbase.h"
WXDLLEXPORT_DATA(extern const char*) wxButtonBarNameStr;
+class WXDLLEXPORT wxMemoryDC;
+
// Non-Win95 (WIN32, WIN16, UNIX) version
class WXDLLEXPORT wxToolBarMSW: public wxToolBarBase
*/
wxToolBarMSW(void);
-#if WXWIN_COMPATIBILITY > 0
- inline wxToolBarMSW(wxWindow *parent, int x, int y, int w, int h,
- long style = wxNO_BORDER, int orientation = wxVERTICAL, int RowsOrColumns = 2,
- const char *name = wxButtonBarNameStr)
+ inline wxToolBarMSW(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxNO_BORDER|wxTB_HORIZONTAL, const wxString& name = wxButtonBarNameStr)
{
- Create(parent, -1, wxPoint(x, y), wxSize(w, h), style, orientation, RowsOrColumns, name);
+ Create(parent, id, pos, size, style, name);
}
-#endif
- inline wxToolBarMSW(wxWindow *parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- const long style = wxNO_BORDER, const int orientation = wxVERTICAL,
- const int RowsOrColumns = 2, const wxString& name = wxButtonBarNameStr)
- {
- Create(parent, id, pos, size, style, orientation, RowsOrColumns, name);
- }
- bool Create(wxWindow *parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- const long style = wxNO_BORDER, const int orientation = wxVERTICAL,
- const int RowsOrColumns = 2, const wxString& name = wxButtonBarNameStr);
+ bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxNO_BORDER|wxTB_HORIZONTAL, const wxString& name = wxButtonBarNameStr);
~wxToolBarMSW(void);
// If pushedBitmap is NULL, a reversed version of bitmap is
// created and used as the pushed/toggled image.
// If toggle is TRUE, the button toggles between the two states.
- wxToolBarTool *AddTool(const int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
- const bool toggle = FALSE, const long xPos = -1, const long yPos = -1, wxObject *clientData = NULL,
- const wxString& helpString1 = "", const wxString& helpString2 = "");
+ wxToolBarTool *AddTool(int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
+ bool toggle = FALSE, long xPos = -1, long yPos = -1, wxObject *clientData = NULL,
+ const wxString& helpString1 = wxEmptyString, const wxString& helpString2 = wxEmptyString);
void DrawTool(wxDC& dc, wxMemoryDC& memDc, wxToolBarTool *tool);
- // New members
// Set default bitmap size
- virtual void SetDefaultSize(const wxSize& size);
- void EnableTool(const int toolIndex, const bool enable); // additional drawing on enabling
+ virtual void SetToolBitmapSize(const wxSize& size);
+ void EnableTool(int toolIndex, bool enable); // additional drawing on enabling
// The button size is bigger than the bitmap size
- wxSize GetDefaultButtonSize(void) const;
+ wxSize GetToolSize(void) const;
+
+ void LayoutTools();
+
+ // The post-tool-addition call
+ bool Realize() { Layout(); return TRUE; };
+
protected:
void DrawTool(wxDC& dc, wxToolBarTool *tool, int state);
WXHBITMAP CreateMappedBitmap(WXHINSTANCE hInstance, void *lpBitmapInfo);
WXHBITMAP CreateMappedBitmap(WXHINSTANCE hInstance, WXHBITMAP hBitmap);
- protected:
+protected:
+ int m_currentRowsOrColumns;
+ long m_lastX, m_lastY;
WXHBRUSH m_hbrDither;
WXDWORD m_rgbFace;
DECLARE_EVENT_TABLE()
};
-#define DEFAULTBITMAPX 16
-#define DEFAULTBITMAPY 15
-#define DEFAULTBUTTONX 24
-#define DEFAULTBUTTONY 22
-#define DEFAULTBARHEIGHT 27
-
//
// States (not all of them currently used)
//
#define wxTBSTATE_HIDDEN 0x08 // button is hidden
#define wxTBSTATE_INDETERMINATE 0x10 // button is indeterminate
-#endif // USE_TOOL/BUTTONBAR
+#endif // wxUSE_TOOL/BUTTONBAR
#endif
- // __TBARMSWH__
+ // _WX_TBARMSW_H_