]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dlimpexp.h
Allow customizing AUI tab colours in wxAuiTabArt.
[wxWidgets.git] / include / wx / dlimpexp.h
index e87c749ab71431107a0f3495cca7d4b153d40f60..13231ed6fd33e746cbc070f566291e03e3204bc2 100644 (file)
@@ -86,6 +86,8 @@
 #    define WXMAKINGDLL_XML
 #    define WXMAKINGDLL_XRC
 #    define WXMAKINGDLL_AUI
+#    define WXMAKINGDLL_RIBBON
+#    define WXMAKINGDLL_PROPGRID
 #    define WXMAKINGDLL_RICHTEXT
 #    define WXMAKINGDLL_MEDIA
 #    define WXMAKINGDLL_STC
 #ifdef WXMAKINGDLL_BASE
 #    define WXDLLIMPEXP_BASE WXEXPORT
 #    define WXDLLIMPEXP_DATA_BASE(type) WXEXPORT type
+#    if defined(HAVE_VISIBILITY)
+#        define WXDLLIMPEXP_INLINE_BASE WXEXPORT
+#    else
+#        define WXDLLIMPEXP_INLINE_BASE
+#    endif
 #elif defined(WXUSINGDLL)
 #    define WXDLLIMPEXP_BASE WXIMPORT
 #    define WXDLLIMPEXP_DATA_BASE(type) WXIMPORT type
+#    if defined(HAVE_VISIBILITY)
+#        define WXDLLIMPEXP_INLINE_BASE WXIMPORT
+#    else
+#        define WXDLLIMPEXP_INLINE_BASE
+#    endif
 #else /* not making nor using DLL */
 #    define WXDLLIMPEXP_BASE
 #    define WXDLLIMPEXP_DATA_BASE(type) type
+#    define WXDLLIMPEXP_INLINE_BASE
 #endif
 
 #ifdef WXMAKINGDLL_NET
 #ifdef WXMAKINGDLL_CORE
 #    define WXDLLIMPEXP_CORE WXEXPORT
 #    define WXDLLIMPEXP_DATA_CORE(type) WXEXPORT type
+#    if defined(HAVE_VISIBILITY)
+#        define WXDLLIMPEXP_INLINE_CORE WXEXPORT
+#    else
+#        define WXDLLIMPEXP_INLINE_CORE
+#    endif
 #elif defined(WXUSINGDLL)
 #    define WXDLLIMPEXP_CORE WXIMPORT
 #    define WXDLLIMPEXP_DATA_CORE(type) WXIMPORT type
+#    if defined(HAVE_VISIBILITY)
+#        define WXDLLIMPEXP_INLINE_CORE WXIMPORT
+#    else
+#        define WXDLLIMPEXP_INLINE_CORE
+#    endif
 #else /* not making nor using DLL */
 #    define WXDLLIMPEXP_CORE
 #    define WXDLLIMPEXP_DATA_CORE(type) type
+#    define WXDLLIMPEXP_INLINE_CORE
 #endif
 
 #ifdef WXMAKINGDLL_ADV
 #    define WXDLLIMPEXP_AUI
 #endif
 
+#ifdef WXMAKINGDLL_RIBBON
+#    define WXDLLIMPEXP_RIBBON WXEXPORT
+#elif defined(WXUSINGDLL)
+#    define WXDLLIMPEXP_RIBBON WXIMPORT
+#else /* not making nor using DLL */
+#    define WXDLLIMPEXP_RIBBON
+#endif
+
+#ifdef WXMAKINGDLL_PROPGRID
+#    define WXDLLIMPEXP_PROPGRID WXEXPORT
+#    define WXDLLIMPEXP_DATA_PROPGRID(type) WXEXPORT type
+#elif defined(WXUSINGDLL)
+#    define WXDLLIMPEXP_PROPGRID WXIMPORT
+#    define WXDLLIMPEXP_DATA_PROPGRID(type) WXIMPORT type
+#else /* not making nor using DLL */
+#    define WXDLLIMPEXP_PROPGRID
+#    define WXDLLIMPEXP_DATA_PROPGRID(type) type
+#endif
+
 #ifdef WXMAKINGDLL_RICHTEXT
 #    define WXDLLIMPEXP_RICHTEXT WXEXPORT
 #elif defined(WXUSINGDLL)
 #endif
 
 #ifdef WXMAKINGDLL_STC
-    #define WXDLLIMPEXP_STC WXEXPORT
+#    define WXDLLIMPEXP_STC WXEXPORT
+#    define WXDLLIMPEXP_DATA_STC(type) WXEXPORT type
 #elif defined(WXUSINGDLL)
-    #define WXDLLIMPEXP_STC WXIMPORT
+#    define WXDLLIMPEXP_STC WXIMPORT
+#    define WXDLLIMPEXP_DATA_STC(type) WXIMPORT type
 #else /* not making nor using DLL */
-    #define WXDLLIMPEXP_STC
+#    define WXDLLIMPEXP_STC
+#    define WXDLLIMPEXP_DATA_STC(type) type
 #endif
 
 /*
     #define WXDLLIMPEXP_FWD_XML
     #define WXDLLIMPEXP_FWD_XRC
     #define WXDLLIMPEXP_FWD_AUI
+    #define WXDLLIMPEXP_FWD_PROPGRID
     #define WXDLLIMPEXP_FWD_RICHTEXT
     #define WXDLLIMPEXP_FWD_MEDIA
     #define WXDLLIMPEXP_FWD_STC
     #define WXDLLIMPEXP_FWD_XML       WXDLLIMPEXP_XML
     #define WXDLLIMPEXP_FWD_XRC       WXDLLIMPEXP_XRC
     #define WXDLLIMPEXP_FWD_AUI       WXDLLIMPEXP_AUI
+    #define WXDLLIMPEXP_FWD_PROPGRID  WXDLLIMPEXP_PROPGRID
     #define WXDLLIMPEXP_FWD_RICHTEXT  WXDLLIMPEXP_RICHTEXT
     #define WXDLLIMPEXP_FWD_MEDIA     WXDLLIMPEXP_MEDIA
     #define WXDLLIMPEXP_FWD_STC       WXDLLIMPEXP_STC
        template <typename T> class Foo { ... };
        WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( Foo<int> )
 
-   (notice that currently we only need this for the wxBase library)
+   (notice that currently we only need this for wxBase and wxCore libraries)
  */
 #if defined(__VISUALC__) && (__VISUALC__ <= 1200)
     #ifdef WXMAKINGDLL_BASE
         #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \
             template class WXDLLIMPEXP_BASE decl;
+        #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) \
+            template class WXDLLIMPEXP_CORE decl;
     #else
         /*
            We need to disable this warning when using this macro, as
 
         #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \
             extern template class WXDLLIMPEXP_BASE decl;
+        #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) \
+            extern template class WXDLLIMPEXP_CORE decl;
     #endif
 #else /* not VC <= 6 */
     #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl)
+    #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl)
 #endif /* VC6/others */
 
 #endif /* _WX_DLIMPEXP_H_ */