From: Vadim Zeitlin Date: Mon, 2 Oct 2006 22:37:07 +0000 (+0000) Subject: added wxUSE_ACTIVEX which depends on wxUSE_VARIANT and which wxUSE_MEDIACTRL depends... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a1f48575d11df10dba9353588003f71d8b126e90 added wxUSE_ACTIVEX which depends on wxUSE_VARIANT and which wxUSE_MEDIACTRL depends on (closes 1569606) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/chkconf.h b/include/wx/msw/chkconf.h index 058db00c70..3dfde0d6dd 100644 --- a/include/wx/msw/chkconf.h +++ b/include/wx/msw/chkconf.h @@ -179,6 +179,48 @@ # define wxUSE_DATEPICKCTRL_GENERIC 1 #endif + +/* check that MSW-specific options are defined too */ +#ifndef wxUSE_ACTIVEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ACTIVEX must be defined." +# else +# define wxUSE_ACTIVEX 0 +# endif +#endif /* !defined(wxUSE_ACTIVEX) */ + +#ifndef wxUSE_DIALUP_MANAGER +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_DIALUP_MANAGER must be defined." +# else +# define wxUSE_DIALUP_MANAGER 0 +# endif +#endif /* !defined(wxUSE_DIALUP_MANAGER) */ + +#ifndef wxUSE_MS_HTML_HELP +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_MS_HTML_HELP must be defined." +# else +# define wxUSE_MS_HTML_HELP 0 +# endif +#endif /* !defined(wxUSE_MS_HTML_HELP) */ + +#ifndef wxUSE_OLE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_OLE must be defined." +# else +# define wxUSE_OLE 0 +# endif +#endif /* !defined(wxUSE_OLE) */ + +#ifndef wxUSE_OLE_AUTOMATION +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_OLE_AUTOMATION must be defined." +# else +# define wxUSE_OLE_AUTOMATION 0 +# endif +#endif /* !defined(wxUSE_OLE_AUTOMATION) */ + #ifndef wxUSE_UNICODE_MSLU # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_UNICODE_MSLU must be defined." @@ -203,24 +245,31 @@ # endif #endif /* wxUSE_UXTHEME_AUTO */ -#ifndef wxUSE_MS_HTML_HELP -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_MS_HTML_HELP must be defined." -# else -# define wxUSE_MS_HTML_HELP 0 -# endif -#endif /* !defined(wxUSE_MS_HTML_HELP) */ -#ifndef wxUSE_DIALUP_MANAGER -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_DIALUP_MANAGER must be defined." -# else -# define wxUSE_DIALUP_MANAGER 0 -# endif -#endif /* !defined(wxUSE_DIALUP_MANAGER) */ +/* + un/redefine the options which we can't compile (after checking that they're + defined + */ +#ifdef __WINE__ + /* apparently it doesn't compile under Wine, remove it/when it does */ + #if wxUSE_ACTIVEX + #undef wxUSE_ACTIVEX + #define wxUSE_ACTIVEX 0 + #endif // wxUSE_ACTIVEX +#endif // __WINE__ + /* check settings consistency for MSW-specific ones */ #if !wxUSE_VARIANT +# if wxUSE_ACTIVEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxActiveXContainer requires wxVariant" +# else +# undef wxUSE_ACTIVEX +# define wxUSE_ACTIVEX 0 +# endif +# endif + # if wxUSE_OLE_AUTOMATION # ifdef wxABORT_ON_CONFIG_ERROR # error "wxAutomationObject requires wxVariant" @@ -229,7 +278,7 @@ # define wxUSE_OLE_AUTOMATION 0 # endif # endif -#endif /* wxUSE_VARIANT */ +#endif /* !wxUSE_VARIANT */ #if !wxUSE_DYNAMIC_LOADER # if wxUSE_MS_HTML_HELP @@ -248,7 +297,7 @@ # define wxUSE_DIALUP_MANAGER 0 # endif # endif -#endif /* wxUSE_DYNAMIC_LOADER */ +#endif /* !wxUSE_DYNAMIC_LOADER */ #if !wxUSE_DYNLIB_CLASS # if wxUSE_UXTHEME @@ -275,9 +324,18 @@ # define wxUSE_INKEDIT 0 # endif # endif -#endif /* wxUSE_DYNLIB_CLASS */ +#endif /* !wxUSE_DYNLIB_CLASS */ #if !wxUSE_OLE +# if wxUSE_ACTIVEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxActiveXContainer requires wxUSE_OLE" +# else +# undef wxUSE_ACTIVEX +# define wxUSE_ACTIVEX 0 +# endif +# endif + # if wxUSE_DATAOBJ # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_DATAOBJ requires wxUSE_OLE" @@ -295,6 +353,17 @@ # define wxUSE_OLE_AUTOMATION 0 # endif # endif -#endif /* wxUSE_OLE */ +#endif /* !wxUSE_OLE */ + +#if !wxUSE_ACTIVEX +# if wxUSE_MEDIACTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxMediaCtl requires wxActiveXContainer" +# else +# undef wxUSE_MEDIACTRL +# define wxUSE_MEDIACTRL 0 +# endif +# endif +#endif /* !wxUSE_ACTIVEX */ #endif /* _WX_MSW_CHKCONF_H_ */ diff --git a/include/wx/msw/ole/activex.h b/include/wx/msw/ole/activex.h index 31a9eb2a4c..5635819639 100644 --- a/include/wx/msw/ole/activex.h +++ b/include/wx/msw/ole/activex.h @@ -16,31 +16,14 @@ #ifndef _WX_MSW_OLE_ACTIVEXCONTAINER_H_ #define _WX_MSW_OLE_ACTIVEXCONTAINER_H_ -//--------------------------------------------------------------------------- -// COM includes -//--------------------------------------------------------------------------- -#include "wx/msw/ole/oleutils.h" //wxBasicString, IID etc. -#include "wx/msw/ole/uuid.h" //IID etc.. +#if wxUSE_ACTIVEX //--------------------------------------------------------------------------- -// COM compatability definitions +// wx includes //--------------------------------------------------------------------------- -#ifndef STDMETHODCALLTYPE -#define STDMETHODCALLTYPE __stdcall -#endif -#ifndef STDMETHOD -#define STDMETHOD(funcname) virtual HRESULT STDMETHODCALLTYPE funcname -#endif -#ifndef PURE -#define PURE = 0 -#endif -#ifndef __RPC_FAR -#define __RPC_FAR FAR -#endif -//--------------------------------------------------------------------------- -// WX includes -//--------------------------------------------------------------------------- +#include "wx/msw/ole/oleutils.h" // wxBasicString &c +#include "wx/msw/ole/uuid.h" #include "wx/window.h" #include "wx/variant.h" @@ -56,23 +39,27 @@ #include +#ifndef STDMETHOD + #define STDMETHOD(funcname) virtual HRESULT wxSTDCALL funcname +#endif + // // These defines are from another ole header - but its not in the // latest sdk. Also the ifndef DISPID_READYSTATE is here because at // least on my machine with the latest sdk olectl.h defines these 3 // #ifndef DISPID_READYSTATE - #define DISPID_READYSTATE -525 - #define DISPID_READYSTATECHANGE -609 - #define DISPID_AMBIENT_TRANSFERPRIORITY -728 + #define DISPID_READYSTATE (-525) + #define DISPID_READYSTATECHANGE (-609) + #define DISPID_AMBIENT_TRANSFERPRIORITY (-728) #endif -#define DISPID_AMBIENT_OFFLINEIFNOTCONNECTED -5501 -#define DISPID_AMBIENT_SILENT -5502 +#define DISPID_AMBIENT_OFFLINEIFNOTCONNECTED (-5501) +#define DISPID_AMBIENT_SILENT (-5502) #ifndef DISPID_AMBIENT_CODEPAGE -# define DISPID_AMBIENT_CODEPAGE -725 -# define DISPID_AMBIENT_CHARSET -727 + #define DISPID_AMBIENT_CODEPAGE (-725) + #define DISPID_AMBIENT_CHARSET (-727) #endif @@ -228,4 +215,6 @@ typedef void (wxEvtHandler::*wxActiveXEventFunction)(wxActiveXEvent&); #define wxActiveXEventHandler(func) \ (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxActiveXEventFunction, &func) +#endif // wxUSE_ACTIVEX + #endif // _WX_MSW_OLE_ACTIVEXCONTAINER_H_ diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 30321ff610..18c02c696d 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -1203,6 +1203,14 @@ // Automation, can be safely set to 0 otherwise #define wxUSE_OLE_AUTOMATION 1 +// Set this to 1 to enable wxActiveXContainer class allowing to embed OLE +// controls in wx. +// +// Default is 1. +// +// Recommended setting: 1, required by wxMediaCtrl +#define wxUSE_ACTIVEX 1 + // wxDC cacheing implementation #define wxUSE_DC_CACHEING 1 diff --git a/setup.h.in b/setup.h.in index 60ae8105ba..3195952c78 100644 --- a/setup.h.in +++ b/setup.h.in @@ -710,6 +710,7 @@ */ #define wxUSE_OLE 0 #define wxUSE_OLE_AUTOMATION 0 +#define wxUSE_ACTIVEX 0 /* for compatibility */ #define wxUSE_WX_RESOURCES wxUSE_RESOURCES diff --git a/src/msw/ole/activex.cpp b/src/msw/ole/activex.cpp index 2341500182..2c53f29629 100644 --- a/src/msw/ole/activex.cpp +++ b/src/msw/ole/activex.cpp @@ -23,15 +23,13 @@ #pragma hdrstop #endif +#if wxUSE_ACTIVEX + #ifndef WX_PRECOMP #include "wx/dcclient.h" #include "wx/math.h" #endif -// I don't know why members of tagVARIANT aren't found when compiling -// with Wine -#ifndef __WINE__ - #include "wx/msw/ole/activex.h" // autointerfaces that we only use here WX_DECLARE_AUTOOLE(wxAutoIOleInPlaceSite, IOleInPlaceSite) @@ -1163,5 +1161,4 @@ void wxActiveXContainer::OnKillFocus(wxFocusEvent& event) event.Skip(); } -#endif -// __WINE__ +#endif // wxUSE_ACTIVEX