]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/ctrlrend.cpp
Correct bug in the wxSpinCtrlGeneric sub-controls resizing.
[wxWidgets.git] / src / univ / ctrlrend.cpp
index b4a3cedd00a0e8b85292e9b17461143fa1f96678..1a55bb9576f6f60a5e8218d639ef7e08dfa5ca07 100644 (file)
@@ -67,8 +67,28 @@ wxControlRenderer::wxControlRenderer(wxWindow *window,
     m_rect.height = size.y;
 }
 
     m_rect.height = size.y;
 }
 
-void wxControlRenderer::DrawLabel(const wxBitmap& bitmap,
-                                  wxCoord marginX, wxCoord marginY)
+void wxControlRenderer::DrawLabel()
+{
+    m_dc.SetBackgroundMode(wxTRANSPARENT);
+    m_dc.SetFont(m_window->GetFont());
+    m_dc.SetTextForeground(m_window->GetForegroundColour());
+
+    wxString label = m_window->GetLabel();
+    if ( !label.empty() )
+    {
+        wxControl *ctrl = wxStaticCast(m_window, wxControl);
+
+        m_renderer->DrawLabel(m_dc,
+                              label,
+                              m_rect,
+                              m_window->GetStateFlags(),
+                              ctrl->GetAlignment(),
+                              ctrl->GetAccelIndex());
+    }
+}
+
+void wxControlRenderer::DrawButtonLabel(const wxBitmap& bitmap,
+                                        wxCoord marginX, wxCoord marginY)
 {
     m_dc.SetBackgroundMode(wxTRANSPARENT);
     m_dc.SetFont(m_window->GetFont());
 {
     m_dc.SetBackgroundMode(wxTRANSPARENT);
     m_dc.SetFont(m_window->GetFont());
@@ -208,9 +228,9 @@ void wxControlRenderer::DrawScrollbar(const wxScrollBar *scrollbar,
 
     {
         wxRect rectUpdate = rgnUpdate.GetBox();
 
     {
         wxRect rectUpdate = rgnUpdate.GetBox();
-        wxLogTrace(_T("scrollbar"),
-                   _T("%s redraw: update box is (%d, %d)-(%d, %d)"),
-                   scrollbar->IsVertical() ? _T("vert") : _T("horz"),
+        wxLogTrace(wxT("scrollbar"),
+                   wxT("%s redraw: update box is (%d, %d)-(%d, %d)"),
+                   scrollbar->IsVertical() ? wxT("vert") : wxT("horz"),
                    rectUpdate.GetLeft(),
                    rectUpdate.GetTop(),
                    rectUpdate.GetRight(),
                    rectUpdate.GetLeft(),
                    rectUpdate.GetTop(),
                    rectUpdate.GetRight(),
@@ -243,12 +263,12 @@ void wxControlRenderer::DrawScrollbar(const wxScrollBar *scrollbar,
         wxScrollBar::Element elem =
             (wxScrollBar::Element)(wxScrollBar::Element_Bar_1 + nBar);
 
         wxScrollBar::Element elem =
             (wxScrollBar::Element)(wxScrollBar::Element_Bar_1 + nBar);
 
-        wxRect rectBar = m_renderer->GetScrollbarRect(scrollbar, elem);
+        wxRect rectBar = scrollbar->GetScrollbarRect(elem);
 
         if ( rgnUpdate.Contains(rectBar) )
         {
 
         if ( rgnUpdate.Contains(rectBar) )
         {
-            wxLogTrace(_T("scrollbar"),
-                       _T("drawing bar part %d at (%d, %d)-(%d, %d)"),
+            wxLogTrace(wxT("scrollbar"),
+                       wxT("drawing bar part %d at (%d, %d)-(%d, %d)"),
                        nBar + 1,
                        rectBar.GetLeft(),
                        rectBar.GetTop(),
                        nBar + 1,
                        rectBar.GetLeft(),
                        rectBar.GetTop(),
@@ -268,11 +288,11 @@ void wxControlRenderer::DrawScrollbar(const wxScrollBar *scrollbar,
         wxScrollBar::Element elem =
             (wxScrollBar::Element)(wxScrollBar::Element_Arrow_Line_1 + nArrow);
 
         wxScrollBar::Element elem =
             (wxScrollBar::Element)(wxScrollBar::Element_Arrow_Line_1 + nArrow);
 
-        wxRect rectArrow = m_renderer->GetScrollbarRect(scrollbar, elem);
+        wxRect rectArrow = scrollbar->GetScrollbarRect(elem);
         if ( rgnUpdate.Contains(rectArrow) )
         {
         if ( rgnUpdate.Contains(rectArrow) )
         {
-            wxLogTrace(_T("scrollbar"),
-                       _T("drawing arrow %d at (%d, %d)-(%d, %d)"),
+            wxLogTrace(wxT("scrollbar"),
+                       wxT("drawing arrow %d at (%d, %d)-(%d, %d)"),
                        nArrow + 1,
                        rectArrow.GetLeft(),
                        rectArrow.GetTop(),
                        nArrow + 1,
                        rectArrow.GetLeft(),
                        rectArrow.GetTop(),
@@ -293,11 +313,11 @@ void wxControlRenderer::DrawScrollbar(const wxScrollBar *scrollbar,
 
     // and the thumb
     wxScrollBar::Element elem = wxScrollBar::Element_Thumb;
 
     // and the thumb
     wxScrollBar::Element elem = wxScrollBar::Element_Thumb;
-    wxRect rectThumb = m_renderer->GetScrollbarRect(scrollbar, elem);
+    wxRect rectThumb = scrollbar->GetScrollbarRect(elem);
     if ( rectThumb.width && rectThumb.height && rgnUpdate.Contains(rectThumb) )
     {
     if ( rectThumb.width && rectThumb.height && rgnUpdate.Contains(rectThumb) )
     {
-        wxLogTrace(_T("scrollbar"),
-                   _T("drawing thumb at (%d, %d)-(%d, %d)"),
+        wxLogTrace(wxT("scrollbar"),
+                   wxT("drawing thumb at (%d, %d)-(%d, %d)"),
                    rectThumb.GetLeft(),
                    rectThumb.GetTop(),
                    rectThumb.GetRight(),
                    rectThumb.GetLeft(),
                    rectThumb.GetTop(),
                    rectThumb.GetRight(),
@@ -315,7 +335,7 @@ void wxControlRenderer::DrawScrollbar(const wxScrollBar *scrollbar,
 void wxControlRenderer::DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
 {
     wxASSERT_MSG( x1 == x2 || y1 == y2,
 void wxControlRenderer::DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
 {
     wxASSERT_MSG( x1 == x2 || y1 == y2,
-                  _T("line must be either horizontal or vertical") );
+                  wxT("line must be either horizontal or vertical") );
 
     if ( x1 == x2 )
         m_renderer->DrawVerticalLine(m_dc, x1, y1, y2);
 
     if ( x1 == x2 )
         m_renderer->DrawVerticalLine(m_dc, x1, y1, y2);
@@ -465,7 +485,7 @@ void wxControlRenderer::DrawProgressBar(const wxGauge *gauge)
         int step = gauge->IsVertical() ? sizeStep.y : sizeStep.x;
 
         // we divide by it below!
         int step = gauge->IsVertical() ? sizeStep.y : sizeStep.x;
 
         // we divide by it below!
-        wxCHECK_RET( step, _T("invalid wxGauge step") );
+        wxCHECK_RET( step, wxT("invalid wxGauge step") );
 
         // round up to make the progress appear to start faster
         int lenTotal = gauge->IsVertical() ? rect.height : rect.width;
 
         // round up to make the progress appear to start faster
         int lenTotal = gauge->IsVertical() ? rect.height : rect.width;