]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/themes/metal.cpp
added wxDCTextColourChanger ctor that allows using the class in the same way other...
[wxWidgets.git] / src / univ / themes / metal.cpp
index 68ccc97db4402d4a3d0a9b8dcc6d75bd0ff24b68..af2b79fd60bc683595c71bda1759dc565d7533d2 100644 (file)
@@ -1,4 +1,5 @@
-// Name:        univ/themes/metal.cpp
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/univ/themes/metal.cpp
 // Purpose:     wxUniversal theme implementing Win32-like LNF
 // Author:      Vadim Zeitlin, Robert Roebling
 // Modified by:
 // Purpose:     wxUniversal theme implementing Win32-like LNF
 // Author:      Vadim Zeitlin, Robert Roebling
 // Modified by:
     #pragma hdrstop
 #endif
 
     #pragma hdrstop
 #endif
 
+#include "wx/univ/theme.h"
+
+#if wxUSE_THEME_METAL
+
 #ifndef WX_PRECOMP
     #include "wx/timer.h"
     #include "wx/intl.h"
 #ifndef WX_PRECOMP
     #include "wx/timer.h"
     #include "wx/intl.h"
     #include "wx/textctrl.h"
     #include "wx/toolbar.h"
 
     #include "wx/textctrl.h"
     #include "wx/toolbar.h"
 
-    #ifdef __WXMSW__
-        // for COLOR_* constants
-        #include "wx/msw/private.h"
-    #endif
+    #include "wx/menu.h"
+    #include "wx/settings.h"
+    #include "wx/toplevel.h"
 #endif // WX_PRECOMP
 
 #include "wx/notebook.h"
 #include "wx/spinbutt.h"
 #endif // WX_PRECOMP
 
 #include "wx/notebook.h"
 #include "wx/spinbutt.h"
-#include "wx/settings.h"
-#include "wx/menu.h"
 #include "wx/artprov.h"
 #include "wx/artprov.h"
-#include "wx/toplevel.h"
 
 #include "wx/univ/scrtimer.h"
 #include "wx/univ/renderer.h"
 
 #include "wx/univ/scrtimer.h"
 #include "wx/univ/renderer.h"
+#include "wx/univ/inpcons.h"
 #include "wx/univ/inphand.h"
 #include "wx/univ/colschem.h"
 #include "wx/univ/inphand.h"
 #include "wx/univ/colschem.h"
-#include "wx/univ/theme.h"
 
 // wxMetalRenderer: draw the GUI elements in Metal style
 // ----------------------------------------------------------------------------
 
 // wxMetalRenderer: draw the GUI elements in Metal style
 // ----------------------------------------------------------------------------
@@ -141,8 +142,6 @@ private:
 // wxMetalTheme
 // ----------------------------------------------------------------------------
 
 // wxMetalTheme
 // ----------------------------------------------------------------------------
 
-WX_DEFINE_ARRAY_PTR(wxInputHandler *, wxArrayHandlers);
-
 class wxMetalTheme : public wxTheme
 {
 public:
 class wxMetalTheme : public wxTheme
 {
 public:
@@ -151,8 +150,10 @@ public:
 
     virtual wxRenderer *GetRenderer();
     virtual wxArtProvider *GetArtProvider();
 
     virtual wxRenderer *GetRenderer();
     virtual wxArtProvider *GetArtProvider();
-    virtual wxInputHandler *GetInputHandler(const wxString& control);
+    virtual wxInputHandler *GetInputHandler(const wxString& control,
+                                            wxInputConsumer *consumer);
     virtual wxColourScheme *GetColourScheme();
     virtual wxColourScheme *GetColourScheme();
+
 private:
     bool GetOrCreateTheme()
     {
 private:
     bool GetOrCreateTheme()
     {
@@ -160,7 +161,7 @@ private:
             m_win32Theme = wxTheme::Create( wxT("win32") );
         return m_win32Theme != NULL;
     }
             m_win32Theme = wxTheme::Create( wxT("win32") );
         return m_win32Theme != NULL;
     }
-private:
+
     wxTheme *m_win32Theme;
     wxMetalRenderer *m_renderer;
 
     wxTheme *m_win32Theme;
     wxMetalRenderer *m_renderer;
 
@@ -207,11 +208,12 @@ wxArtProvider *wxMetalTheme::GetArtProvider()
     return m_win32Theme->GetArtProvider();
 }
 
     return m_win32Theme->GetArtProvider();
 }
 
-wxInputHandler *wxMetalTheme::GetInputHandler(const wxString& control)
+wxInputHandler *wxMetalTheme::GetInputHandler(const wxString& control,
+                                              wxInputConsumer *consumer)
 {
     if ( !GetOrCreateTheme() )
         return 0;
 {
     if ( !GetOrCreateTheme() )
         return 0;
-    return m_win32Theme->GetInputHandler(control);
+    return m_win32Theme->GetInputHandler(control, consumer);
 }
 
 wxColourScheme *wxMetalTheme::GetColourScheme()
 }
 
 wxColourScheme *wxMetalTheme::GetColourScheme()
@@ -226,7 +228,7 @@ wxColourScheme *wxMetalTheme::GetColourScheme()
 // ----------------------------------------------------------------------------
 
 wxMetalRenderer::wxMetalRenderer(wxRenderer *renderer, wxColourScheme *scheme)
 // ----------------------------------------------------------------------------
 
 wxMetalRenderer::wxMetalRenderer(wxRenderer *renderer, wxColourScheme *scheme)
-    : wxDelegateRenderer(renderer)
+               : wxDelegateRenderer(renderer)
 {
     // init colours and pens
     m_penBlack = wxPen(wxSCHEME_COLOUR(scheme, SHADOW_DARK), 0, wxSOLID);
 {
     // init colours and pens
     m_penBlack = wxPen(wxSCHEME_COLOUR(scheme, SHADOW_DARK), 0, wxSOLID);
@@ -592,3 +594,5 @@ void wxMetalRenderer::DrawMetal(wxDC &dc, const wxRect &rect )
        dc.DrawRectangle( rect.x, y, rect.width, 1 );
     }
 }
        dc.DrawRectangle( rect.x, y, rect.width, 1 );
     }
 }
+
+#endif // wxUSE_THEME_METAL