]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/tbarmsw.h
wxDataObejct and related changes (won't compile right now)
[wxWidgets.git] / include / wx / msw / tbarmsw.h
index 5d18fb450c6819210e591fc74d51805d46270da9..accd6148a72652976ec7b6de14bf424831ea3790 100644 (file)
@@ -5,21 +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;
+WXDLLEXPORT_DATA(extern const wxChar*) wxButtonBarNameStr;
+
+class WXDLLEXPORT wxMemoryDC;
 
 // Non-Win95 (WIN32, WIN16, UNIX) version
 
@@ -32,23 +35,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 +55,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 LayoutTools();
+
+  // The post-tool-addition call
+  bool Realize() { Layout(); return TRUE; };
+
  protected:
   void DrawTool(wxDC& dc, wxToolBarTool *tool, int state);
 
@@ -89,7 +87,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 +110,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 +119,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_