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 )