Mercurial > projects > dwt2
view org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/ole/win32/MSHTMHST.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
module org.eclipse.swt.internal.ole.win32.MSHTMHST; //+------------------------------------------------------------------------ // // Microsoft Forms // Copyright 1996 - 1998 Microsoft Corporation. // // File: mshtmhst.idl // // Contents: MSHTML advanced host interfaces // //------------------------------------------------------------------------- //private import std.c.windows.windows; //private import std.c.windows.com; import org.eclipse.swt.internal.win32.OS; import org.eclipse.swt.internal.ole.win32.COMTYPES; //import win32.oleextra; private import org.eclipse.swt.internal.ole.win32.extras; 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; extern( Windows ) { /* cpp_quote("#define CONTEXT_MENU_DEFAULT 0") cpp_quote("#define CONTEXT_MENU_IMAGE 1") cpp_quote("#define CONTEXT_MENU_CONTROL 2") cpp_quote("#define CONTEXT_MENU_TABLE 3") cpp_quote("// in browse mode") cpp_quote("#define CONTEXT_MENU_TEXTSELECT 4") cpp_quote("#define CONTEXT_MENU_ANCHOR 5") cpp_quote("#define CONTEXT_MENU_UNKNOWN 6") cpp_quote("//;begin_internal") cpp_quote("// These 2 are mapped to IMAGE for the public") cpp_quote("#define CONTEXT_MENU_IMGDYNSRC 7") cpp_quote("#define CONTEXT_MENU_IMGART 8") cpp_quote("#define CONTEXT_MENU_DEBUG 9") cpp_quote("//;end_internal") cpp_quote("#define MENUEXT_SHOWDIALOG 0x1") cpp_quote("#define DOCHOSTUIFLAG_BROWSER DOCHOSTUIFLAG_DISABLE_HELP_MENU | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE ") import "ocidl.idl"; import "objidl.idl"; import "oleidl.idl"; import "oaidl.idl"; import "docobj.idl"; import "mshtml.idl"; cpp_quote("EXTERN_C const GUID CGID_MSHTML;") cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML") cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"") #pragma midl_echo("typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);") #pragma midl_echo("STDAPI ShowHTMLDialog( ") #pragma midl_echo(" HWND hwndParent, ") #pragma midl_echo(" IMoniker * pMk, ") #pragma midl_echo(" VARIANT * pvarArgIn, ") #pragma midl_echo(" TCHAR * pchOptions, ") #pragma midl_echo(" VARIANT * pvarArgOut ") #pragma midl_echo(" ); ") */ //------------------------------------------------------------------------- // IDocHostUIHandler // //------------------------------------------------------------------------- enum DOCHOSTUITYPE { DOCHOSTUITYPE_BROWSE = 0, DOCHOSTUITYPE_AUTHOR = 1, BROWSE = 0, AUTHOR = 1, } enum DOCHOSTUIDBLCLK { DOCHOSTUIDBLCLK_DEFAULT = 0, DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1, DOCHOSTUIDBLCLK_SHOWCODE = 2, DEFAULT = 0, SHOWPROPERTIES = 1, SHOWCODE = 2, } enum DOCHOSTUIFLAG { DOCHOSTUIFLAG_DIALOG = 1, DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2, DOCHOSTUIFLAG_NO3DBORDER = 4, DOCHOSTUIFLAG_SCROLL_NO = 8, DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16, DOCHOSTUIFLAG_OPENNEWWIN = 32, DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64, DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128, DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256, DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512, DOCHOSTUIFLAG_DISABLE_COOKIE = 1024, // // DOCHOSTUIFLAG.name versions // DIALOG = 1, DISABLE_HELP_MENU = 2, NO3DBORDER = 4, SCROLL_NO = 8, DISABLE_SCRIPT_INACTIVE = 16, OPENNEWWIN = 32, DISABLE_OFFSCREEN = 64, FLAT_SCROLLBAR = 128, DIV_BLOCKDEFAULT = 256, ACTIVATE_CLIENTHIT_ONLY = 512, DISABLE_COOKIE = 1024, } /* polute the global namespace */ enum { DOCHOSTUITYPE_BROWSE = 0, DOCHOSTUITYPE_AUTHOR = 1, DOCHOSTUIDBLCLK_DEFAULT = 0, DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1, DOCHOSTUIDBLCLK_SHOWCODE = 2, DOCHOSTUIFLAG_DIALOG = 1, DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2, DOCHOSTUIFLAG_NO3DBORDER = 4, DOCHOSTUIFLAG_SCROLL_NO = 8, DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16, DOCHOSTUIFLAG_OPENNEWWIN = 32, DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64, DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128, DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256, DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512, DOCHOSTUIFLAG_DISABLE_COOKIE = 1024, } struct DOCHOSTUIINFO { ULONG cbSize; DWORD dwFlags; DWORD dwDoubleClick; } interface IDocHostUIHandler : IUnknown { HRESULT ShowContextMenu( DWORD dwID, POINT* ppt, IUnknown pcmdtReserved, IDispatch pdispReserved); HRESULT GetHostInfo( DOCHOSTUIINFO * pInfo ); HRESULT ShowUI( DWORD dwID, IOleInPlaceActiveObject pActiveObject, IOleCommandTarget pCommandTarget, IOleInPlaceFrame pFrame, IOleInPlaceUIWindow pDoc ); HRESULT HideUI(); HRESULT UpdateUI(); HRESULT EnableModeless( BOOL fEnable ); HRESULT OnDocWindowActivate( BOOL fActivate ); HRESULT OnFrameWindowActivate( BOOL fActivate ); HRESULT ResizeBorder(LPRECT prcBorder, IOleInPlaceUIWindow pUIWindow, BOOL fRameWindow ); HRESULT TranslateAccelerator( LPMSG lpMsg, GUID * pguidCmdGroup, DWORD nCmdID ); HRESULT GetOptionKeyPath( LPOLESTR * pchKey, DWORD dw ); HRESULT GetDropTarget( IDropTarget pDropTarget, IDropTarget * ppDropTarget ); HRESULT GetExternal( IDispatch * ppDispatch ); HRESULT TranslateUrl( DWORD dwTranslate, OLECHAR * pchURLIn, OLECHAR ** ppchURLOut ); HRESULT FilterDataObject( IDataObject pDO, IDataObject * ppDORet ); } //------------------------------------------------------------------------- // ICustomDoc // //------------------------------------------------------------------------- interface ICustomDoc : IUnknown { HRESULT SetUIHandler( IDocHostUIHandler pUIHandler ); } //------------------------------------------------------------------------- // IDocHostShowUI // //------------------------------------------------------------------------- interface IDocHostShowUI : IUnknown { HRESULT ShowMessage( HWND hwnd, LPOLESTR lpstrText, LPOLESTR lpstrCaption, DWORD dwType, LPOLESTR lpstrHelpFile, DWORD dwHelpContext, LRESULT * plResult); HRESULT ShowHelp( HWND hwnd, LPOLESTR pszHelpFile, UINT uCommand, DWORD dwData, POINT ptMouse, IDispatch pDispatchObjectHit ); } /* //------------------------------------------------------------------------- // ICSSFilterSite // //------------------------------------------------------------------------- interface ICSSFilterSite : IUnknown { HRESULT GetElement( IHTMLElement * ppElem ); HRESULT FireOnFilterChangeEvent(); } //------------------------------------------------------------------------- // ICSSFilter // //------------------------------------------------------------------------- interface ICSSFilter : IUnknown { HRESULT SetSite( ICSSFilterSite * pSink ); HRESULT OnAmbientPropertyChange( LONG dispid ); } */ } // extern( Windows )