]> git.saurik.com Git - wxWidgets.git/commitdiff
drawing improvements; empty caption w/ tab drawing looks better
authorBenjamin Williams <bwilliams@kirix.com>
Mon, 24 Jul 2006 09:28:59 +0000 (09:28 +0000)
committerBenjamin Williams <bwilliams@kirix.com>
Mon, 24 Jul 2006 09:28:59 +0000 (09:28 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/aui/auibook.cpp

index 2553b63f17c763b31e105904e055edf559543d78..da6a2edd7c7a40a8046f74cc2a4898bdd3424d23 100644 (file)
@@ -313,7 +313,7 @@ void wxAuiTabContainer::AddButton(int id, const wxBitmap& bmp)
 
 void wxAuiTabContainer::DrawTab(wxDC* dc,
                                 const wxRect& in_rect,
 
 void wxAuiTabContainer::DrawTab(wxDC* dc,
                                 const wxRect& in_rect,
-                                const wxString& caption,
+                                const wxString& _caption,
                                 bool active,
                                 wxRect* out_rect,
                                 int* x_extent)
                                 bool active,
                                 wxRect* out_rect,
                                 int* x_extent)
@@ -324,6 +324,11 @@ void wxAuiTabContainer::DrawTab(wxDC* dc,
     wxCoord textx, texty;
 
 
     wxCoord textx, texty;
 
 
+    // if the caption is empty, measure some temporary text
+    wxString caption = _caption;
+    if (_caption.IsEmpty())
+        caption = wxT("Xj");
+        
     // measure text
     dc->SetFont(m_measuring_font);
     dc->GetTextExtent(caption, &measured_textx, &measured_texty);
     // measure text
     dc->SetFont(m_measuring_font);
     dc->GetTextExtent(caption, &measured_textx, &measured_texty);
@@ -334,6 +339,7 @@ void wxAuiTabContainer::DrawTab(wxDC* dc,
     dc->SetFont(m_normal_font);
     dc->GetTextExtent(caption, &normal_textx, &normal_texty);
 
     dc->SetFont(m_normal_font);
     dc->GetTextExtent(caption, &normal_textx, &normal_texty);
 
+    caption = _caption;
 
     wxCoord tab_height = measured_texty + 4;
     wxCoord tab_width = measured_textx + tab_height + 5;
 
     wxCoord tab_height = measured_texty + 4;
     wxCoord tab_width = measured_textx + tab_height + 5;
@@ -824,6 +830,7 @@ public:
         m_tabs->SetSize(m_rect.x, m_rect.y, m_rect.width, tab_height);
         m_tabs->SetRect(wxRect(0, 0, m_rect.width, tab_height));
         m_tabs->Refresh();
         m_tabs->SetSize(m_rect.x, m_rect.y, m_rect.width, tab_height);
         m_tabs->SetRect(wxRect(0, 0, m_rect.width, tab_height));
         m_tabs->Refresh();
+        m_tabs->Update();
 
         wxAuiNotebookPageArray& pages = m_tabs->GetPages();
         size_t i, page_count = pages.GetCount();
 
         wxAuiNotebookPageArray& pages = m_tabs->GetPages();
         size_t i, page_count = pages.GetCount();