]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/tbargtk.h
implement support for bitmaps for all states in wxGTK wxButton
[wxWidgets.git] / include / wx / gtk / tbargtk.h
index 340d70d6658d1b0ae596ee09ae389022bf451e14..07bff7128a392a882b595d133a685ddff5460d85 100644 (file)
 #ifndef _WX_GTK_TBARGTK_H_
 #define _WX_GTK_TBARGTK_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma interface "tbargtk.h"
-#endif
-
 #if wxUSE_TOOLBAR
 
 // ----------------------------------------------------------------------------
 // wxToolBar
 // ----------------------------------------------------------------------------
 
-class wxToolBar : public wxToolBarBase
+class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
 {
 public:
     // construction/destruction
@@ -29,7 +25,7 @@ public:
                wxWindowID id,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
-               long style = 0,
+               long style = wxTB_HORIZONTAL,
                const wxString& name = wxToolBarNameStr )
     {
         Init();
@@ -41,42 +37,31 @@ public:
                  wxWindowID id,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
-                 long style = 0,
+                 long style = wxTB_HORIZONTAL,
                  const wxString& name = wxToolBarNameStr );
 
     virtual ~wxToolBar();
 
-    // override base class virtuals
-    virtual void SetMargins(int x, int y);
-    virtual void SetToolSeparation(int separation);
-
     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
 
     virtual void SetToolShortHelp(int id, const wxString& helpString);
 
     virtual void SetWindowStyleFlag( long style );
 
+    virtual void SetToolNormalBitmap(int id, const wxBitmap& bitmap);
+    virtual void SetToolDisabledBitmap(int id, const wxBitmap& bitmap);
+
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
-    
+
     // implementation from now on
     // --------------------------
 
-    GtkToolbar   *m_toolbar;
-
-    GdkColor     *m_fg;
-    GdkColor     *m_bg;
-
-    bool          m_blockEvent;
-
     void OnInternalIdle();
 
 protected:
-    // common part of all ctors
-    void Init();
-
-    // set the GTK toolbar style and orientation
-    void GtkSetStyle();
+    virtual wxSize DoGetBestSize() const;
+    virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
 
     // implement base class pure virtuals
     virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
@@ -94,9 +79,18 @@ protected:
                                           wxObject *clientData,
                                           const wxString& shortHelpString,
                                           const wxString& longHelpString);
-    virtual wxToolBarToolBase *CreateTool(wxControl *control);
+    virtual wxToolBarToolBase *CreateTool(wxControl *control,
+                                          const wxString& label);
 
 private:
+    void Init();
+    void GtkSetStyle();
+    GSList* GetRadioGroup(size_t pos);
+    virtual void AddChildGTK(wxWindowGTK* child);
+
+    GtkToolbar* m_toolbar;
+    GtkTooltips* m_tooltips;
+
     DECLARE_DYNAMIC_CLASS(wxToolBar)
 };