X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2049ba38adafa0ec146880de29f26e32dd69a125..d069d02e1e27f6d924c3b28173ff81d87ec8b072:/include/wx/tbarbase.h diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index c1b0ce3ad0..260b2526a0 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -9,17 +9,16 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __TBARBASEH__ -#define __TBARBASEH__ +#ifndef _WX_TBARBASE_H_ +#define _WX_TBARBASE_H_ #ifdef __GNUG__ #pragma interface "tbarbase.h" #endif +#include "wx/setup.h" #include "wx/defs.h" -#if USE_TOOLBAR - #include "wx/bitmap.h" #include "wx/list.h" #include "wx/control.h" @@ -47,10 +46,10 @@ public: int m_toolStyle; wxObject * m_clientData; int m_index; - long m_x; - long m_y; - long m_width; - long m_height; + long m_x; + long m_y; + long m_width; + long m_height; bool m_toggleState; bool m_isToggle; bool m_deleteSecondBitmap; @@ -64,7 +63,7 @@ public: class WXDLLEXPORT wxToolBarBase : public wxControl { - DECLARE_DYNAMIC_CLASS(wxToolBarBase) + DECLARE_ABSTRACT_CLASS(wxToolBarBase) public: wxToolBarBase(void); @@ -114,7 +113,7 @@ class WXDLLEXPORT wxToolBarBase : public wxControl virtual wxString GetToolLongHelp(int toolIndex) const; virtual void SetMargins(int x, int y); - inline void SetMargins(const wxSize& size) { SetMargins(size.x, size.y); } + inline void SetMargins(const wxSize& size) { SetMargins((int) size.x, (int) size.y); } virtual void SetToolPacking(int packing); virtual void SetToolSeparation(int separation); @@ -122,29 +121,35 @@ class WXDLLEXPORT wxToolBarBase : public wxControl inline virtual int GetToolPacking(void) { return m_toolPacking; } inline virtual int GetToolSeparation(void) { return m_toolSeparation; } - virtual void SetDefaultSize(const wxSize& size) { m_defaultWidth = size.x; m_defaultHeight = size.y; }; - virtual wxSize GetDefaultSize(void) const { return wxSize(m_defaultWidth, m_defaultHeight); } + virtual void SetToolBitmapSize(const wxSize& size) { m_defaultWidth = size.x; m_defaultHeight = size.y; }; + virtual wxSize GetToolBitmapSize(void) const { return wxSize(m_defaultWidth, m_defaultHeight); } // The button size (in some implementations) is bigger than the bitmap size: this returns // the total button size. - virtual wxSize GetDefaultButtonSize(void) const { return wxSize(m_defaultWidth, m_defaultHeight); } ; + virtual wxSize GetToolSize(void) const { return wxSize(m_defaultWidth, m_defaultHeight); } ; // Compatibility #if WXWIN_COMPATIBILITY inline void SetDefaultSize(int w, int h) { SetDefaultSize(wxSize(w, h)); } inline long GetDefaultWidth(void) const { return m_defaultWidth; } inline long GetDefaultHeight(void) const { return m_defaultHeight; } - inline int GetDefaultButtonWidth(void) const { return GetDefaultButtonSize().x; }; - inline int GetDefaultButtonHeight(void) const { return GetDefaultButtonSize().y; }; + inline int GetDefaultButtonWidth(void) const { return (int) GetDefaultButtonSize().x; }; + inline int GetDefaultButtonHeight(void) const { return (int) GetDefaultButtonSize().y; }; + virtual void SetDefaultSize(const wxSize& size) { SetToolBitmapSize(size); } + virtual wxSize GetDefaultSize(void) const { return GetToolBitmapSize(); } + virtual wxSize GetDefaultButtonSize(void) const { return GetToolSize(); } #endif // Lay the tools out virtual void Layout(void); // Add all the buttons: required for Win95. - // TODO: unify API so there's no ambiguity virtual bool CreateTools(void) { return TRUE; } + // Calls the appropriate function after tools have been created. + // E.g. Layout, or CreateTools. + virtual bool Realize() = 0; + void Command(wxCommandEvent& event); // SCROLLING: this has to be copied from wxScrolledWindow since wxToolBarBase @@ -178,10 +183,9 @@ class WXDLLEXPORT wxToolBarBase : public wxControl // Do the toolbar button updates (check for EVT_UPDATE_UI handlers) virtual void DoToolbarUpdates(void); -/* - virtual void CalcScrolledPosition(int x, int y, int *xx, int *yy) const ; - virtual void CalcUnscrolledPosition(int x, int y, long *xx, long *yy) const ; -*/ + inline void SetMaxRowsCols(int rows, int cols) { m_maxRows = rows; m_maxCols = cols; } + inline int GetMaxRows() const { return m_maxRows; } + inline int GetMaxCols() const { return m_maxCols; } void OnScroll(wxScrollEvent& event); void OnSize(wxSizeEvent& event); @@ -189,15 +193,15 @@ class WXDLLEXPORT wxToolBarBase : public wxControl // Required to force normal cursor-setting behaviour in Windows #ifdef __WXMSW__ - virtual void MSWOnMouseMove(int x, int y, const WXUINT flags); + virtual void MSWOnMouseMove(int x, int y, WXUINT flags); #endif protected: wxList m_tools; - int m_tilingDirection; - int m_rowsOrColumns; - int m_currentRowsOrColumns; - long m_lastX, m_lastY; +// int m_tilingDirection; +// int m_rowsOrColumns; + int m_maxRows; + int m_maxCols; long m_maxWidth, m_maxHeight; int m_currentTool; // Tool where mouse currently is int m_pressedTool; // Tool where mouse pressed @@ -234,7 +238,6 @@ public: DECLARE_EVENT_TABLE() }; -#endif // USE_TOOLBAR #endif - // __TBARBASEH__ + // _WX_TBARBASE_H_