]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/tabg.cpp
move Ellipsize() to wxControl so it can be easily used by other controls
[wxWidgets.git] / src / generic / tabg.cpp
index 15f05003eabd7740ca722585d74d9db4e7a62b61..ca40c6010085d58b56e5b5c995377cd9d2248245 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        tabg.cpp
-// Purpose:     Generic tabbed dialogs
+// Name:        src/generic/tabg.cpp
+// Purpose:     Generic tabbed dialogs; used by wxMotif's wxNotebook
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
-#if wxUSE_TAB_DIALOG
-
 #ifndef WX_PRECOMP
     #include "wx/settings.h"
     #include "wx/intl.h"
     #include "wx/dcclient.h"
+    #include "wx/math.h"
 #endif
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
 
-#include "wx/math.h"
-#include "wx/tab.h"
+#include "wx/generic/tabg.h"
 #include "wx/listimpl.cpp"
 
-WX_DEFINE_LIST(wxTabLayerList);
+WX_DEFINE_LIST(wxTabLayerList)
 
 // not defined: use old, square tab implementation (fills in tabs)
 // defined: use new, rounded tab implementation (doesn't colour in tabs)
@@ -85,7 +83,8 @@ void wxTabControl::OnDraw(wxDC& dc, bool lastInRow)
   // Draw grey background
   if (m_view->GetTabStyle() & wxTAB_STYLE_COLOUR_INTERIOR)
   {
-    dc.SetBrush(*m_view->GetBackgroundBrush());
+    if(m_view->GetBackgroundBrush())
+      dc.SetBrush(*m_view->GetBackgroundBrush());
 
     // Add 1 because the pen is transparent. Under Motif, may be different.
 #ifdef __WXMOTIF__
@@ -206,7 +205,7 @@ void wxTabControl::OnDraw(wxDC& dc, bool lastInRow)
   wxColour col(m_view->GetTextColour());
   dc.SetTextForeground(col);
   dc.SetBackgroundMode(wxTRANSPARENT);
-  long textWidth, textHeight;
+  wxCoord textWidth, textHeight;
   dc.GetTextExtent(GetLabel(), &textWidth, &textHeight);
 
   int textX = (int)(tabX + (GetWidth() - textWidth)/2.0);
@@ -523,11 +522,11 @@ wxTabView::wxTabView(long style)
   m_tabViewRect.x = 300;
   m_highlightColour = *wxWHITE;
   m_shadowColour = wxColour(128, 128, 128);
-  m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
+  // m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
   m_textColour = *wxBLACK;
   m_highlightPen = wxWHITE_PEN;
   m_shadowPen = wxGREY_PEN;
-  SetBackgroundColour(m_backgroundColour);
+  // SetBackgroundColour(m_backgroundColour);
   m_tabFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
   m_tabSelectedFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
   m_window = (wxWindow *) NULL;
@@ -797,7 +796,8 @@ void wxTabView::Draw(wxDC& dc)
     if (GetTabStyle() & wxTAB_STYLE_COLOUR_INTERIOR)
     {
         dc.SetPen(*wxTRANSPARENT_PEN);
-        dc.SetBrush(*GetBackgroundBrush());
+        if(GetBackgroundBrush())
+            dc.SetBrush(*GetBackgroundBrush());
 
         // Add 1 because the pen is transparent. Under Motif, may be different.
         dc.DrawRectangle(
@@ -1009,20 +1009,20 @@ void wxTabView::OnTabActivate(int /*activateId*/, int /*deactivateId*/)
 void wxTabView::SetHighlightColour(const wxColour& col)
 {
   m_highlightColour = col;
-  m_highlightPen = wxThePenList->FindOrCreatePen(col, 1, wxSOLID);
+  m_highlightPen = wxThePenList->FindOrCreatePen(col);
 }
 
 void wxTabView::SetShadowColour(const wxColour& col)
 {
   m_shadowColour = col;
-  m_shadowPen = wxThePenList->FindOrCreatePen(col, 1, wxSOLID);
+  m_shadowPen = wxThePenList->FindOrCreatePen(col);
 }
 
 void wxTabView::SetBackgroundColour(const wxColour& col)
 {
   m_backgroundColour = col;
-  m_backgroundPen = wxThePenList->FindOrCreatePen(col, 1, wxSOLID);
-  m_backgroundBrush = wxTheBrushList->FindOrCreateBrush(col, wxSOLID);
+  m_backgroundPen = wxThePenList->FindOrCreatePen(col);
+  m_backgroundBrush = wxTheBrushList->FindOrCreateBrush(col);
 }
 
 // this may be called with sel = zero (which doesn't match any page)
@@ -1287,4 +1287,3 @@ void wxPanelTabView::ShowWindowForTab(int id)
   newWindow->Refresh();
 }
 
-#endif // wxUSE_TAB_DIALOG