Ambients.cpp Implements the ambient property UserMode. DEInsTab.cpp Implements DEInsertTableParam, a COM object which is passed to ExecCommand to create a table. DENames.cpp Implements DEGetBlockFmtNamesParam, which returns a SAFEARRAY of format names for populating style menus. DHSHWUI.cpp Implements a very bland IDocHostShowUI interface. DHTMLEd.cpp Basic DLL functions. DllRegisterServer removes some older GUIDs as well. DllUnregisterServer deals with ATL bugs for logo compliance. DHTMLEd.idl Automation enumerations and interfaces. Includes DEGetBlockFmtNamesParam, DEGetBlockFmtNamesParam, and both Safe and Unsafe versions of the control. Two duplicate event interfaces were required for VB5 compatibility. DHTMLEdit.cpp Registry scripts and toolbox bitmaps. One string ("DHTMLEd") unused. DHTMLEdit.cpp Implements safe and unsafe controls. Unsafe control aggregates safe control and contains all unsafe code. Sinks safe control events and fires them on unsafe control (required for VB5 compat.) Also implements IInternetSecurityManager for unsafe control when in edit mode, copied from VID's implementation. DHTMLUIHNDL.cpp Implements IDocHostUIHandler, overriding GetHostInfo and ShowContextMenu. DispExA.cpp GetLength and GetElement for a JavaScript array. Used by SetContextMenu when called from JS. IAdvSink.cpp Implements perfectly empty IAdviseSink for TriEdit site. ICliSite.cpp Implements IOleClientSite for TriEdit site, does nothing but GetContainer. Idocsite.cpp Implements IOleDocumentSite for TriEdit site, handles ActivateMe. IIPsite.cpp Implements IOleInPlaceSite for TriEdit site, minimal functionality. Inc.cpp Same as StdAfx.cpp in basic ATL control. Compiles ATL cpp's. IOleObj.cpp For unsafe control, overrides GetUserClassID and GetUserType. IPropSink.cpp Implements minimal CImplPropertyNotifySink for TriEdit site. PlgProt.cpp Pluggable protocol handler for protocol "dhtmledN[N...]", adapted from VID. Allows us to override BaseURL, reload and optionally filter stream via URLOpenBlockingStream. Parses security URL from outer most containing Trident instance. ProxyFrame.cpp Implements the bulk of the controls properties and methods. Creates and destroys hosted TriEdit aggregating Trident. Handles ExecCommand. LoadDocument stashes string, URL or file name and loads via pluggable protocol. LATE_BIND_URLMON_WININET ifdefs allowed late loading of WinINet and UrlMon in 1.0. Switches between edit and browse mode. Handles accelerators. Finds default BaseURL. Calculates security URL for pluggable protocol. Returns HTML stream to pluggable protocol. Fires events from Trident on control. Registers and unregisters pluggable protocol. Site.cpp Implements site for TriEdit. Creates, destroys, initializes, loads and saves it. TriFilter.cpp Converts between stream, BSTR, file and URL. Converts to and from Unicode. Provides single routine which interfaces with TriEdit's filtering. Win95Wrp.cpp Translates to ANSI API routines on win95/98, uses Unicode APIs on NT. CPDHTMLEd.h ATL event firing code for safe and unsafe control. Private.h A few interfaces used only internally. TriEdSnk.cpp Allows easy sinking of various Trident event interfaces.