X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/debe6624c1e9d4bf3243381153d1e173c849bcd8..8a2c6ef8d186df490df28a694820a5e8afc4b5e8:/include/wx/msw/tbarmsw.h diff --git a/include/wx/msw/tbarmsw.h b/include/wx/msw/tbarmsw.h index 5d18fb450c..5ce62ea20d 100644 --- a/include/wx/msw/tbarmsw.h +++ b/include/wx/msw/tbarmsw.h @@ -5,22 +5,24 @@ // 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 @@ -32,23 +34,13 @@ public: */ 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) - { - Create(parent, -1, wxPoint(x, y), wxSize(w, h), style, orientation, RowsOrColumns, name); - } -#endif inline wxToolBarMSW(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxNO_BORDER, int orientation = wxVERTICAL, - int RowsOrColumns = 2, const wxString& name = wxButtonBarNameStr) + long style = wxNO_BORDER|wxTB_HORIZONTAL, const wxString& name = wxButtonBarNameStr) { - Create(parent, id, pos, size, style, orientation, RowsOrColumns, name); + Create(parent, id, pos, size, style, name); } bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxNO_BORDER, int orientation = wxVERTICAL, - int RowsOrColumns = 2, const wxString& name = wxButtonBarNameStr); + long style = wxNO_BORDER|wxTB_HORIZONTAL, const wxString& name = wxButtonBarNameStr); ~wxToolBarMSW(void); @@ -62,17 +54,22 @@ public: // If toggle is TRUE, the button toggles between the two states. 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 = "", const wxString& helpString2 = ""); + 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); + 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 Layout(void); + + // The post-tool-addition call + bool Realize() { Layout(); return TRUE; }; + protected: void DrawTool(wxDC& dc, wxToolBarTool *tool, int state); @@ -89,7 +86,9 @@ public: 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; @@ -110,12 +109,6 @@ public: 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) // @@ -125,6 +118,6 @@ DECLARE_EVENT_TABLE() #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_