]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/theme.h
implemented SetFocus
[wxWidgets.git] / include / wx / univ / theme.h
index ab00b081e7c20d2f4133b47797f9a6f8bf2007b4..64417f09001cd9e5780d5330520638201aa4f539 100644 (file)
 #ifndef _WX_UNIV_THEME_H_
 #define _WX_UNIV_THEME_H_
 
-#ifdef __GNUG__
-    #pragma interface "theme.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // wxTheme
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxRenderer;
+class WXDLLEXPORT wxArtProvider;
 class WXDLLEXPORT wxColourScheme;
+class WXDLLEXPORT wxInputConsumer;
 class WXDLLEXPORT wxInputHandler;
-class WXDLLEXPORT wxArtProvider;
+class WXDLLEXPORT wxRenderer;
 struct WXDLLEXPORT wxThemeInfo;
 
 class WXDLLEXPORT wxTheme
@@ -52,12 +49,13 @@ public:
     // get the renderer implementing all the control-drawing operations in
     // this theme
     virtual wxRenderer *GetRenderer() = 0;
-    
+
     // get the art provider to be used together with this theme
     virtual wxArtProvider *GetArtProvider() = 0;
 
-    // get the input handler of the given type
-    virtual wxInputHandler *GetInputHandler(const wxString& handlerType) = 0;
+    // get the input handler of the given type, forward to the standard one
+    virtual wxInputHandler *GetInputHandler(const wxString& handlerType,
+                                            wxInputConsumer *consumer) = 0;
 
     // get the colour scheme for the control with this name
     virtual wxColourScheme *GetColourScheme() = 0;
@@ -105,10 +103,10 @@ struct WXDLLEXPORT wxThemeInfo
 // without it, an over optimizing linker may discard the object module
 // containing the theme implementation entirely
 #define WX_USE_THEME(themename)                                             \
-    WXDLLEXPORT_DATA(extern bool) wxThemeUse##themename;                    \
+    extern WXDLLEXPORT_DATA(bool) wxThemeUse##themename;                    \
     static struct wxThemeUserFor##themename                                 \
     {                                                                       \
-        wxThemeUserFor##themename() { wxThemeUse##themename = TRUE; }       \
+        wxThemeUserFor##themename() { wxThemeUse##themename = true; }       \
     } wxThemeDoUse##themename
 
 // to declare a new theme, this macro must be used in the class declaration
@@ -121,7 +119,7 @@ struct WXDLLEXPORT wxThemeInfo
 
 // and this one must be inserted in the source file
 #define WX_IMPLEMENT_THEME(classname, themename, themedesc)                 \
-    WXDLLEXPORT_DATA(bool) wxThemeUse##themename = TRUE;                    \
+    WXDLLEXPORT_DATA(bool) wxThemeUse##themename = true;                    \
     wxTheme *wxCtorFor##themename() { return new classname; }               \
     wxThemeInfo classname::ms_info##themename(wxCtorFor##themename,         \
                                               wxT( #themename ), themedesc)