]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/themes/gtk.cpp
removed the SetMargins call
[wxWidgets.git] / src / univ / themes / gtk.cpp
index ce8692df8d855fa2801e5472c8738f3a8c30a43b..392160d221c4a9c9507e13bd4c8aecf9659cd856 100644 (file)
@@ -54,7 +54,7 @@
 // constants (to be removed, for testing only)
 // ----------------------------------------------------------------------------
 
-static const wxCoord BORDER_THICKNESS = 1;
+static const size_t BORDER_THICKNESS = 1;
 
 // ----------------------------------------------------------------------------
 // wxGTKRenderer: draw the GUI elements in GTK style
@@ -239,6 +239,7 @@ public:
     // titlebars
     virtual wxRect GetFrameClientArea(const wxRect& rect, int flags) const;
     virtual wxSize GetFrameTotalSize(const wxSize& clientSize, int flags) const;
+    virtual wxSize GetFrameMinSize(int flags) const;
     virtual wxSize GetFrameIconSize() const;
     virtual int HitTestFrame(const wxRect& rect, const wxPoint& pt, int flags) const;
     
@@ -549,9 +550,9 @@ public:
     wxGTKTheme();
     virtual ~wxGTKTheme();
 
-    virtual wxRenderer *GetRenderer() { return m_renderer; }
+    virtual wxRenderer *GetRenderer();
     virtual wxInputHandler *GetInputHandler(const wxString& control);
-    virtual wxColourScheme *GetColourScheme() { return m_scheme; }
+    virtual wxColourScheme *GetColourScheme();
 
 private:
     // get the default input handler
@@ -583,8 +584,8 @@ WX_IMPLEMENT_THEME(wxGTKTheme, gtk, wxTRANSLATE("GTK+ theme"));
 
 wxGTKTheme::wxGTKTheme()
 {
-    m_scheme = new wxGTKColourScheme;
-    m_renderer = new wxGTKRenderer(m_scheme);
+    m_scheme = NULL;
+    m_renderer = NULL;
     m_handlerDefault = NULL;
 }
 
@@ -602,6 +603,25 @@ wxGTKTheme::~wxGTKTheme()
     delete m_scheme;
 }
 
+wxRenderer *wxGTKTheme::GetRenderer()
+{
+    if ( !m_renderer )
+    {
+        m_renderer = new wxGTKRenderer(GetColourScheme());
+    }
+
+    return m_renderer;
+}
+
+wxColourScheme *wxGTKTheme::GetColourScheme()
+{
+    if ( !m_scheme )
+    {
+        m_scheme = new wxGTKColourScheme;
+    }
+    return m_scheme;
+}
+
 wxInputHandler *wxGTKTheme::GetDefaultInputHandler()
 {
     if ( !m_handlerDefault )
@@ -744,6 +764,8 @@ wxColour wxGTKColourScheme::Get(wxGTKColourScheme::StdColour col) const
         case HIGHLIGHT:         return wxColour(0x9c0000);
         case HIGHLIGHT_TEXT:    return wxColour(0xffffff);
 
+        case GAUGE:             return Get(CONTROL_CURRENT);
+
         case MAX:
         default:
             wxFAIL_MSG(_T("invalid standard colour"));
@@ -1547,7 +1569,7 @@ wxRect wxGTKRenderer::GetTextClientArea(const wxTextCtrl *text,
                                         wxCoord *extraSpaceBeyond)
 {
     wxRect rectText = rect;
-    rectText.Inflate(-2*BORDER_THICKNESS);
+    rectText.Deflate(2*BORDER_THICKNESS);
 
     if ( text->WrapLines() )
     {
@@ -2376,7 +2398,7 @@ void wxGTKRenderer::AdjustSize(wxSize *size, const wxWindow *window)
             size->y += 4;
         }
     } else
-#endif wxUSE_BUTTON
+#endif //wxUSE_BUTTON
     if ( wxDynamicCast(window, wxScrollBar) )
     {
         // we only set the width of vert scrollbars and height of the
@@ -2452,6 +2474,11 @@ wxSize wxGTKRenderer::GetFrameTotalSize(const wxSize& clientSize, int flags) con
     return clientSize;
 }
 
+wxSize wxGTKRenderer::GetFrameMinSize(int flags) const
+{
+    return wxSize(0,0);
+}
+
 wxSize wxGTKRenderer::GetFrameIconSize() const
 {
     return wxSize(-1, -1);