X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..31d80f31afd5e78f86d3d9e8e52d7124aac36a32:/include/wx/gtk1/tbargtk.h diff --git a/include/wx/gtk1/tbargtk.h b/include/wx/gtk1/tbargtk.h index adb04a56f0..3d7c30d434 100644 --- a/include/wx/gtk1/tbargtk.h +++ b/include/wx/gtk1/tbargtk.h @@ -2,8 +2,6 @@ // Name: tbargtk.h // Purpose: GTK toolbar // Author: Robert Roebling -// Modified by: -// Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Robert Roebling // Licence: wxWindows licence @@ -17,14 +15,19 @@ #endif #include "wx/defs.h" + +#if wxUSE_TOOLBAR + #include "wx/control.h" +#include "wx/bitmap.h" +#include "wx/tbarbase.h" //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- class wxToolBarTool; -class wxToolBarGTK; +class wxToolBar; //----------------------------------------------------------------------------- // constants @@ -37,61 +40,24 @@ class wxToolBarGTK; // global data //----------------------------------------------------------------------------- -extern const char *wxToolBarNameStr; - -//----------------------------------------------------------------------------- -// wxToolBarTool -//----------------------------------------------------------------------------- - -class wxToolBarTool: public wxObject -{ - DECLARE_DYNAMIC_CLASS(wxToolBarTool) - - public: - - wxToolBarTool(void) {}; - wxToolBarTool( wxToolBarGTK *owner, const int theIndex = 0, - const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap, - const bool toggle = FALSE, wxObject *clientData = NULL, - const wxString& shortHelpString = "", const wxString& longHelpString = ""); - ~wxToolBarTool(void); - - public: - - int m_toolStyle; - wxObject *m_clientData; - int m_index; - bool m_toggleState; - bool m_isToggle; - bool m_deleteSecondBitmap; - bool m_enabled; - wxBitmap m_bitmap1; - wxBitmap m_bitmap2; - bool m_isMenuCommand; - wxString m_shortHelpString; - wxString m_longHelpString; - wxToolBarGTK *m_owner; -}; +extern const wxChar *wxToolBarNameStr; //----------------------------------------------------------------------------- -// wxToolBarGTK +// wxToolBar //----------------------------------------------------------------------------- -class wxToolBarGTK: public wxControl +class wxToolBar: public wxControl { - DECLARE_DYNAMIC_CLASS(wxToolBarGTK) - - public: - - wxToolBarGTK(void); - wxToolBarGTK( wxWindow *parent, const wxWindowID id, +public: + wxToolBar(); + wxToolBar( wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - const long style = 0, const wxString& name = wxToolBarNameStr ); - ~wxToolBarGTK(void); + long style = 0, const wxString& name = wxToolBarNameStr ); + ~wxToolBar(); - bool Create( wxWindow *parent, const wxWindowID id, + bool Create( wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - const long style = 0, const wxString& name = wxToolBarNameStr); + long style = 0, const wxString& name = wxToolBarNameStr); // Only allow toggle if returns TRUE. Call when left button up. virtual bool OnLeftClick(int toolIndex, bool toggleDown); @@ -106,34 +72,71 @@ class wxToolBarGTK: public wxControl // 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. - virtual wxToolBarTool *AddTool( const int toolIndex, const wxBitmap& bitmap, - const wxBitmap& pushedBitmap = wxNullBitmap, const bool toggle = FALSE, - const float xPos = -1, const float yPos = -1, wxObject *clientData = NULL, + virtual wxToolBarTool *AddTool( int toolIndex, const wxBitmap& bitmap, + const wxBitmap& pushedBitmap = wxNullBitmap, bool toggle = FALSE, + wxCoord xPos = -1, wxCoord yPos = -1, wxObject *clientData = (wxObject *)NULL, const wxString& helpString1 = "", const wxString& helpString2 = ""); - virtual void AddSeparator(void); - virtual void ClearTools(void); - - virtual void EnableTool(const int toolIndex, const bool enable); - virtual void ToggleTool(const int toolIndex, const bool toggle); // toggle is TRUE if toggled on - virtual void SetToggle(const int toolIndex, const bool toggle); // Set this to be togglable (or not) - virtual wxObject *GetToolClientData(const int index) const; - - virtual bool GetToolState(const int toolIndex) const; - virtual bool GetToolEnabled(const int toolIndex) const; - - virtual void SetMargins(const int x, const int y); + + // Add arbitrary control + virtual bool AddControl(wxControl *control); + + // Add space + virtual void AddSeparator(); + + // Delete tool by index (=id) + virtual bool DeleteTool(int toolIndex); + + // Delete all tools + virtual void ClearTools(); + + // Has to be called after adding tools or changing something + virtual bool Realize(); + + virtual void EnableTool(int toolIndex, bool enable); + virtual void ToggleTool(int toolIndex, bool toggle); // toggle is TRUE if toggled on + virtual wxObject *GetToolClientData(int index) const; + + virtual bool GetToolState(int toolIndex) const; + virtual bool GetToolEnabled(int toolIndex) const; + + virtual void SetMargins(int x, int y); void SetMargins(const wxSize& size) { SetMargins(size.x, size.y); }; - virtual void SetToolPacking(const int packing); - virtual void SetToolSeparation(const int separation); - - public: + virtual wxSize GetToolMargins(void) { return wxSize(m_xMargin, m_yMargin); } + + virtual void SetToolPacking(int packing); + virtual void SetToolSeparation(int separation); + virtual int GetToolPacking(); + virtual int GetToolSeparation(); + + virtual wxString GetToolLongHelp(int toolIndex); + virtual wxString GetToolShortHelp(int toolIndex); + + virtual void SetToolLongHelp(int toolIndex, const wxString& helpString); + virtual void SetToolShortHelp(int toolIndex, const wxString& helpString); + + void OnIdle( wxIdleEvent &ievent ); + + // implementation GtkToolbar *m_toolbar; + int m_separation; wxList m_tools; - - DECLARE_EVENT_TABLE() + + GdkColor *m_fg; + GdkColor *m_bg; + int m_xMargin; + int m_yMargin; + bool m_hasToolAlready; + bool m_blockNextEvent; + + void OnInternalIdle(); + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxToolBar) }; #endif - // __TBARGTKH__ +#endif + // __TBARGTKH__