]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/renderer.h
Added a Python-specific Append method to the wxListCtrl
[wxWidgets.git] / include / wx / univ / renderer.h
index a22d6466f68c08e7d94f5dcb81cd0f6d61798119..d00bc1c066833e6b3e8324e12a7b13af9a821b44 100644 (file)
@@ -42,6 +42,7 @@ class WXDLLEXPORT wxGauge;
 
 #include "wx/string.h"
 #include "wx/gdicmn.h"
+#include "wx/icon.h"
 #include "wx/scrolbar.h"            // for wxScrollBar::Element
 
 // helper class used by wxMenu-related functions
@@ -187,6 +188,14 @@ public:
                                  wxAlignment align = wxALIGN_LEFT,
                                  int indexAccel = -1) = 0;
 
+    // draw a toolbar button (label may be empty, bitmap may be invalid, if
+    // both conditions are true this function draws a separator)
+    virtual void DrawToolBarButton(wxDC& dc,
+                                   const wxString& label,
+                                   const wxBitmap& bitmap,
+                                   const wxRect& rect,
+                                   int flags = 0) = 0;
+
     // draw a (part of) line in the text control
     virtual void DrawTextLine(wxDC& dc,
                               const wxString& text,
@@ -355,15 +364,22 @@ public:
     virtual wxSize GetRadioBitmapSize() const = 0;
     virtual wxCoord GetCheckItemMargin() const = 0;
 
+    // get the standard size of a toolbar button and also return the size of
+    // a toolbar separator in the provided pointer
+    virtual wxSize GetToolBarButtonSize(wxCoord *separator) const = 0;
+
+    // get the margins between/around the toolbar buttons
+    virtual wxSize GetToolBarMargin() const = 0;
+
     // convert between text rectangle and client rectangle for text controls:
     // the former is typicall smaller to leave margins around text
     virtual wxRect GetTextTotalArea(const wxTextCtrl *text,
-                                    const wxRect& rectText) = 0;
+                                    const wxRect& rectText) const = 0;
 
     // extra space is for line indicators
     virtual wxRect GetTextClientArea(const wxTextCtrl *text,
                                      const wxRect& rectTotal,
-                                     wxCoord *extraSpaceBeyond) = 0;
+                                     wxCoord *extraSpaceBeyond) const = 0;
 
     // get the overhang of a selected tab
     virtual wxSize GetTabIndent() const = 0;
@@ -411,6 +427,9 @@ public:
     // get size of whole top level window, given size of its client area size
     virtual wxSize GetFrameTotalSize(const wxSize& clientSize, int flags) const = 0;
 
+    // get the minimal size of top level window
+    virtual wxSize GetFrameMinSize(int flags) const = 0;
+
     // get titlebar icon size
     virtual wxSize GetFrameIconSize() const = 0;
 
@@ -419,6 +438,12 @@ public:
                              const wxPoint& pt,
                              int flags = 0) const = 0;
 
+
+    // get the standard icon used by wxWin dialogs - this allows the user
+    // to customize the standard dialogs. The 'which' parameter is one of
+    // wxICON_XXX values
+    virtual wxIcon GetStdIcon(int which) const = 0;
+
     // virtual dtor for any base class
     virtual ~wxRenderer();
 
@@ -581,6 +606,12 @@ public:
                                  int indexAccel = -1)
         { m_renderer->DrawRadioButton(dc, label, bitmap, rect,
                                       flags, align, indexAccel); }
+    virtual void DrawToolBarButton(wxDC& dc,
+                                   const wxString& label,
+                                   const wxBitmap& bitmap,
+                                   const wxRect& rect,
+                                   int flags = 0)
+        { m_renderer->DrawToolBarButton(dc, label, bitmap, rect, flags); }
     virtual void DrawTextLine(wxDC& dc,
                               const wxString& text,
                               const wxRect& rect,
@@ -721,11 +752,17 @@ public:
     virtual wxCoord GetCheckItemMargin() const
         { return m_renderer->GetCheckItemMargin(); }
 
-    virtual wxRect GetTextTotalArea(const wxTextCtrl *text, const wxRect& rect)
+    virtual wxSize GetToolBarButtonSize(wxCoord *separator) const
+        { return m_renderer->GetToolBarButtonSize(separator); }
+    virtual wxSize GetToolBarMargin() const
+        { return m_renderer->GetToolBarMargin(); }
+
+    virtual wxRect GetTextTotalArea(const wxTextCtrl *text,
+                                    const wxRect& rect) const
         { return m_renderer->GetTextTotalArea(text, rect); }
     virtual wxRect GetTextClientArea(const wxTextCtrl *text,
                                      const wxRect& rect,
-                                     wxCoord *extraSpaceBeyond)
+                                     wxCoord *extraSpaceBeyond) const
         { return m_renderer->GetTextClientArea(text, rect, extraSpaceBeyond); }
 
     virtual wxSize GetTabIndent() const { return m_renderer->GetTabIndent(); }
@@ -754,12 +791,16 @@ public:
         { return m_renderer->GetFrameClientArea(rect, flags); }
     virtual wxSize GetFrameTotalSize(const wxSize& clientSize, int flags) const
         { return m_renderer->GetFrameTotalSize(clientSize, flags); }
+    virtual wxSize GetFrameMinSize(int flags) const
+        { return m_renderer->GetFrameMinSize(flags); }
     virtual wxSize GetFrameIconSize() const
         { return m_renderer->GetFrameIconSize(); }
     virtual int HitTestFrame(const wxRect& rect,
                              const wxPoint& pt,
                              int flags) const
         { return m_renderer->HitTestFrame(rect, pt, flags); }
+    virtual wxIcon GetStdIcon(int which) const
+        { return m_renderer->GetStdIcon(which); }
 
 protected:
     wxRenderer *m_renderer;