X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/58614078c466cffaf0e5d0369741706f130fb793..31d80f31afd5e78f86d3d9e8e52d7124aac36a32:/include/wx/gtk1/tbargtk.h diff --git a/include/wx/gtk1/tbargtk.h b/include/wx/gtk1/tbargtk.h index ac40522343..3d7c30d434 100644 --- a/include/wx/gtk1/tbargtk.h +++ b/include/wx/gtk1/tbargtk.h @@ -15,7 +15,12 @@ #endif #include "wx/defs.h" + +#if wxUSE_TOOLBAR + #include "wx/control.h" +#include "wx/bitmap.h" +#include "wx/tbarbase.h" //----------------------------------------------------------------------------- // classes @@ -35,43 +40,7 @@ class wxToolBar; // global data //----------------------------------------------------------------------------- -extern const char *wxToolBarNameStr; - -//----------------------------------------------------------------------------- -// wxToolBarTool -//----------------------------------------------------------------------------- - -class wxToolBarTool: public wxObject -{ - DECLARE_DYNAMIC_CLASS(wxToolBarTool) - - public: - - wxToolBarTool(void) {}; - wxToolBarTool( wxToolBar *owner, int theIndex = 0, - const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap, - bool toggle = FALSE, wxObject *clientData = (wxObject *) NULL, - const wxString& shortHelpString = "", const wxString& longHelpString = "", - GtkWidget *item = (GtkWidget *) NULL ); - ~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; - wxToolBar *m_owner; - GtkWidget *m_item; -}; +extern const wxChar *wxToolBarNameStr; //----------------------------------------------------------------------------- // wxToolBar @@ -79,15 +48,12 @@ class wxToolBarTool: public wxObject class wxToolBar: public wxControl { - DECLARE_DYNAMIC_CLASS(wxToolBar) - - public: - - wxToolBar(void); +public: + wxToolBar(); wxToolBar( wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxToolBarNameStr ); - ~wxToolBar(void); + ~wxToolBar(); bool Create( wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -108,12 +74,23 @@ class wxToolBar: public wxControl // If toggle is TRUE, the button toggles between the two states. virtual wxToolBarTool *AddTool( int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap, bool toggle = FALSE, - float xPos = -1, float yPos = -1, wxObject *clientData = (wxObject *)NULL, + 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 Realize(void); + // 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 @@ -124,15 +101,42 @@ class wxToolBar: public wxControl virtual void SetMargins(int x, int y); void SetMargins(const wxSize& size) { SetMargins(size.x, size.y); }; + 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 ); - public: + // implementation GtkToolbar *m_toolbar; + int m_separation; wxList m_tools; + + 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__