Mercurial > projects > dwt2
view org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/ole/win32/ifs.d @ 120:536e43f63c81
Comprehensive update for Win32/Linux32 dmd-2.053/dmd-1.068+Tango-r5661
===D2===
* added [Try]Immutable/Const/Shared templates to work with differenses in D1/D2 instead of version statements
used these templates to work with strict type storage rules of dmd-2.053
* com.ibm.icu now also compilable with D2, but not tested yet
* small fixes
Snippet288 - shared data is in TLS
===Phobos===
* fixed critical bugs in Phobos implemention
completely incorrect segfault prone fromStringz (Linux's port ruthless killer)
terrible, incorrect StringBuffer realization (StyledText killer)
* fixed small bugs as well
Snippet72 - misprint in the snippet
* implemented missed functionality for Phobos
ByteArrayOutputStream implemented (image loading available)
formatting correctly works for all DWT's cases
As a result, folowing snippets now works with Phobos (Snippet### - what is fixed):
Snippet24, 42, 111, 115, 130, 235, 276 - bad string formatting
Snippet48, 282 - crash on image loading
Snippet163, 189, 211, 213, 217, 218, 222 - crash on copy/cut in StyledText
Snippet244 - hang-up
===Tango===
* few changes for the latest Tango trunc-r5661
* few small performance improvments
===General===
* implMissing-s for only one version changed to implMissingInTango/InPhobos
* incorrect calls to Format in toString-s fixed
* fixed loading \uXXXX characters in ResourceBundle
* added good UTF-8 support for StyledText, TextLayout (Win32) and friends
UTF functions revised and tested. It is now in java.nonstandard.*Utf modules
StyledText and TextLayout (Win32) modules revised for UTF-8 support
* removed small diferences in most identical files in *.swt.* folders
*.swt.internal.image, *.swt.events and *.swt.custom are identical in Win32/Linux32
now 179 of 576 (~31%) files in *.swt.* folders are fully identical
* Win32: snippets now have right subsystem, pretty icons and native system style controls
* small fixes in snippets
Snippet44 - it's not Snippet44
Snippet212 - functions work with different images and offsets arrays
Win32: Snippet282 - crash on close if the button has an image
Snippet293 - setGrayed is commented
and others
Win32: As a result, folowing snippets now works
Snippet68 - color doesn't change
Snippet163, 189, 211, 213, 217, 218, 222 - UTF-8 issues (see above)
Snippet193 - no tabel headers
author | Denis Shelomovskij <verylonglogin.reg@gmail.com> |
---|---|
date | Sat, 09 Jul 2011 15:50:20 +0300 |
parents | 2e09b0e6857a |
children |
line wrap: on
line source
/* * extra interface not define in any other modules, copied from MSDN 2003 * don't import this module directly, import std.internal.ole.win32.com instead * * author : Shawn Liu */ module org.eclipse.swt.internal.ole.win32.ifs; private import org.eclipse.swt.SWT; private import org.eclipse.swt.internal.win32.WINTYPES; private import org.eclipse.swt.internal.ole.win32.COM; //private import std.c.windows.windows; //private import std.c.windows.com; private import org.eclipse.swt.internal.ole.win32.COMTYPES; private import org.eclipse.swt.internal.ole.win32.OAIDL; private import org.eclipse.swt.internal.ole.win32.OBJIDL; private import org.eclipse.swt.internal.ole.win32.OLEIDL; private import org.eclipse.swt.internal.ole.win32.DOCOBJ; private import org.eclipse.swt.internal.ole.win32.EXDISP; private import org.eclipse.swt.internal.ole.win32.MSHTMHST; private import org.eclipse.swt.internal.ole.win32.extras; interface IAccessible : IDispatch { // int GetTypeInfoCount(int pctinfo); // int GetTypeInfo(THIS_ UINT itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo); // int GetIDsOfNames - not implemented // int Invoke - not implemented HRESULT get_accParent(LPDISPATCH* ppdispParent); HRESULT get_accChildCount(LONG* pcountChildren); HRESULT get_accChild(VARIANT varChildID, LPDISPATCH* ppdispChild); HRESULT get_accName(VARIANT varID, BSTR* pszName); HRESULT get_accValue(VARIANT varID, BSTR* pszValue); HRESULT get_accDescription(VARIANT varID,BSTR* pszDescription); HRESULT get_accRole(VARIANT varID, VARIANT* pvarRole); HRESULT get_accState(VARIANT varID, VARIANT* pvarState); HRESULT get_accHelp(VARIANT varID, BSTR* pszHelp); HRESULT get_accHelpTopic(BSTR* pszHelpFile, VARIANT varChild, LONG* pidTopic); HRESULT get_accKeyboardShortcut(VARIANT varID, BSTR* pszKeyboardShortcut); HRESULT get_accFocus(VARIANT* pvarID); HRESULT get_accSelection(VARIANT* pvarChildren); HRESULT get_accDefaultAction(VARIANT varID,BSTR* pszDefaultAction); HRESULT accSelect(LONG flagsSelect, VARIANT varID); HRESULT accLocation(LONG* pxLeft, LONG* pyTop, LONG* pcxWidth, LONG* pcyHeight, VARIANT varID); HRESULT accNavigate(LONG navDir, VARIANT varStart, VARIANT* pvarEnd); HRESULT accHitTest(LONG xLeft, LONG yTop, VARIANT* pvarID); HRESULT accDoDefaultAction(VARIANT varID); HRESULT put_accName(VARIANT varID, BSTR* szName); HRESULT put_accValue(VARIANT varID, BSTR* szValue); } alias IAccessible LPACCESSIBLE; interface IClassFactory2 : IClassFactory { HRESULT GetLicInfo(LICINFO * pLicInfo); HRESULT RequestLicKey(DWORD dwReserved, BSTR * pbstrKey); HRESULT CreateInstanceLic(LPUNKNOWN pUnkOuter, LPUNKNOWN pUnkReserved, REFCIID riid, BSTR bstrKey, void ** ppvObject); } alias IClassFactory2 LPCLASSFACTORY2; interface IConnectionPoint : IUnknown { HRESULT GetConnectionInterface(IID * pIID); HRESULT GetConnectionPointContainer(LPCONNECTIONPOINTCONTAINER * ppCPC); HRESULT Advise(LPUNKNOWN pUnk, DWORD * pdwCookie); HRESULT Unadvise(DWORD dwCookie); HRESULT EnumConnections(LPENUMCONNECTIONS * ppEnum); } alias IConnectionPoint LPCONNECTIONPOINT; interface IConnectionPointContainer : IUnknown { HRESULT EnumConnectionPoints(LPENUMCONNECTIONPOINTS * ppEnum); HRESULT FindConnectionPoint(REFCIID riid, LPCONNECTIONPOINT * ppCP); } alias IConnectionPointContainer LPCONNECTIONPOINTCONTAINER; interface IEnumConnectionPoints : IUnknown { HRESULT Next(ULONG celt, LPCONNECTIONPOINT * rgelt, ULONG * pceltFetched); HRESULT Skip(ULONG celt); HRESULT Reset(); HRESULT Clone(LPENUMCONNECTIONPOINTS * ppenum); } alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; interface IEnumConnections : IUnknown { HRESULT Next(ULONG cConnections, CONNECTDATA ** rgpcd, ULONG * pcFetched); HRESULT Skip(ULONG cConnections); HRESULT Reset(); HRESULT Clone(LPENUMCONNECTIONS * ppEnum); }alias IEnumConnections LPENUMCONNECTIONS; interface IEnumVARIANT : IUnknown { HRESULT Next(ULONG celt, VARIANT *rgelt, ULONG *pceltFetched); HRESULT Skip(ULONG celt); HRESULT Reset(); HRESULT Clone(LPENUMVARIANT * ppenum); } alias IEnumVARIANT LPENUMVARIANT; interface IInternetSecurityManager : IUnknown { HRESULT SetSecuritySite(LPINTERNETSECURITYMGRSITE pSite); HRESULT GetSecuritySite(LPINTERNETSECURITYMGRSITE *ppSite); HRESULT MapUrlToZone(LPCWSTR pwszUrl, DWORD *pdwZone, DWORD dwFlags); HRESULT GetSecurityId(LPCWSTR pwszUrl, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved); HRESULT ProcessUrlAction(LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved); HRESULT QueryCustomPolicy(LPCWSTR pwszUrl, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved); HRESULT SetZoneMapping(DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags); HRESULT GetZoneMappings(DWORD dwZone, LPENUMSTRING * ppenumString, DWORD dwFlags); } interface IInternetSecurityMgrSite : IUnknown { HRESULT EnableModeless(BOOL fEnable); HRESULT GetWindow(HWND *phwnd); } alias IInternetSecurityMgrSite LPINTERNETSECURITYMGRSITE; interface IOleControl : IUnknown { HRESULT GetControlInfo(CONTROLINFO* pCI); HRESULT OnMnemonic(LPMSG pMsg); HRESULT OnAmbientPropertyChange(DISPID dispID); HRESULT FreezeEvents(BOOL bFreeze); } alias IOleControl LPOLECONTROL; interface IOleControlSite : IUnknown { HRESULT OnControlInfoChanged(); HRESULT LockInPlaceActive( BOOL fLock //Indicates whether to ensure the active state ); HRESULT GetExtendedControl( LPDISPATCH* ppDisp //Address of output variable that receives the // IDispatch interface pointer ); HRESULT TransformCoords( POINTL* pPtlHimetric , //Address of POINTL structure POINTF* pPtfContainer , //Address of POINTF structure DWORD dwFlags //Flags indicating the exact conversion ); HRESULT TranslateAccelerator( LPMSG pMsg , //Pointer to the structure DWORD grfModifiers //Flags describing the state of the keys ); HRESULT OnFocus( BOOL fGotFocus //Indicates whether the control gained focus ); HRESULT ShowPropertyFrame(); } alias IOleControlSite LPOLECONTROLSITE; interface IPersistStreamInit : IPersist { HRESULT IsDirty(); HRESULT Load(LPSTREAM pStm); HRESULT Save(LPSTREAM pStm, BOOL fClearDirty); HRESULT GetSizeMax(ULARGE_INTEGER * pcbSize); HRESULT InitNew(); } interface IPropertyNotifySink : IUnknown { HRESULT OnChanged(DISPID dispID); HRESULT OnRequestEdit(DISPID dispID); } alias IPropertyNotifySink LPPROPERTYNOTIFYSINK; interface IProvideClassInfo : IUnknown { HRESULT GetClassInfo(LPTYPEINFO * ppTI); } alias IProvideClassInfo LPPROVIDECLASSINFO; interface IProvideClassInfo2 : IProvideClassInfo { HRESULT GetGUID(DWORD dwGuidKind, GUID * pGUID); } alias IProvideClassInfo2 LPPROVIDECLASSINFO2; /* interface IDocHostUIHandler : IUnknown { int ShowContextMenu( int dwID, POINT* ppt, ComObj pcmdtReserved, ComObj pdispReserved); int GetHostInfo( int pInfo ); int ShowUI( int dwID, ComObj pActiveObject, ComObj pCommandTarget, ComObj pFrame, ComObj pDoc ); int HideUI(); int UpdateUI(); int EnableModeless( int fEnable ); int OnDocWindowActivate( int fActivate ); int OnFrameWindowActivate( int fActivate ); int ResizeBorder( RECT* prcBorder, ComObj pUIWindow, int fRameWindow ); int TranslateAccelerator( int lpMsg, int pguidCmdGroup, int nCmdID ); int GetOptionKeyPath( int pchKey, int dw ); int GetDropTarget( ComObj pDropTarget, ComObj* ppDropTarget ); int GetExternal( ComObj** ppDispatch ); int TranslateUrl( int dwTranslate, int pchURLIn, int ppchURLOut ); int FilterDataObject( ComObj pDO, ComObj* ppDORet ); } interface IDocHostShowUI : IUnknown { int ShowMessage( HWND hwnd, wchar* lpstrText, int lpstrCaption, int dwType, int lpstrHelpFile, int dwHelpContext, int plResult); int ShowHelp( HWND hwnd, int pszHelpFile, int uCommand, int dwData, long ptMouse, ComObj pDispatchObjectHit ); } */ interface IServiceProvider : IUnknown { HRESULT QueryService(REFGUID guidService, REFCIID riid, void **ppv); } alias IServiceProvider LPSERVICEPROVIDER; interface ISpecifyPropertyPages : IUnknown { HRESULT GetPages( CAUUID *pPages //Pointer to structure ); } alias ISpecifyPropertyPages LPSPECIFYPROPERTYPAGES; /* interface IEnumFORMATETC : IEnumXXXX {} interface IDataObject : IUnknown { int GetData(int pFormatetc, int pmedium); int GetDataHere(FORMATETC* pFormatetc, STGMEDIUM* pmedium); int QueryGetData(FORMATETC* pFormatetc); int GetCanonicalFormatEtc(int pFormatetcIn, int pFormatetcOut); int SetData(int pFormatetc, int pmedium, int fRelease); int EnumFormatEtc(int dwDirection, int ppenumFormatetc); int DAdvise(int pFormatetc, int advf, int pAdvSink, int pdwConnection); int DUnadvise(int dwConnection); int EnumDAdvise(ComObj* ppenumAdvise); } interface IDropSource : IUnknown { int QueryContinueDrag(int fEscapePressed, int grfKeyState); int GiveFeedback(int dwEffect); } interface IDropTarget : IUnknown { // NOTE : POINT* is splited to pt_x, pt_y int DragEnter(ComObj pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect); int DragOver(int grfKeyState, int pt_x, int pt_y, int pdwEffect); int DragLeave(); int Drop(ComObj pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect); } */