// HippoEdit.idl : IDL source for HippoEdit // // This file will be processed by the MIDL tool to // produce the type library (HippoEdit.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; import "dispex.idl"; import "basetsd.h"; [ uuid(3BBD783B-B86B-4894-AC0D-90DC945D9604), version(1.0), helpstring("HippoEdit 1.0 Type Library") ] library HippoEditLib { importlib("stdole2.tlb"); // force inclusion of EditLib interfaces enum FIND; enum FIND_EX; enum eCheckState; enum eDialogResult; enum HE_ACTION; enum eSearchAction; enum eSearchType; enum eSearchResultType; struct POINT_T; interface ICommandHandler; interface ICommandHandlerListener; interface IContextMenuHandler; interface IDocument; interface IDocumentData; interface IDocuments; interface IMenuObject; interface IMenuLocation; interface IStyle; interface IStyleCollector; interface IStyleInformer; interface IStyleInformerCreator; interface ISyntax; interface ISyntaxes; interface IView; interface IViews; interface IPosition; interface IPositions; interface IRange; interface IRanges; interface IFileRanges; interface IFilesRanges; interface IMarker; interface IBookmark; interface IBookmarks; interface IToolHandler; interface IToolHandlers; interface IUrlHandler; interface IUrlHandlers; interface ISettingsStorage; interface INameValue; interface INameValues; interface IListBoxItem; interface IListBoxItems; //#include "EditLib.idl" import "EditLib.idl"; module HEConstants { // we need "module" definition, otherwise none of enums will be loaded after AddTypeLib const double PI = 3.141592653589793238462643383279502884197169399375; }; typedef [uuid(C5ACA0AE-DC6D-4405-9C07-952D65DAEEB1), helpstring("Access type")] enum eAccessType { [helpstring("Only data Read")] eAccessTypeRead, [helpstring("Only data Write")] eAccessTypeWrite, [helpstring("Read and Write of data")] eAccessTypeReadWrite, } eAccessType; interface IApplication; [ object, uuid(0CCD209D-F7CE-42b1-9DA4-231792AEC140), dual, helpstring("Base Plugin Interface"), pointer_default(unique) ] interface IPlugin : IDispatch { [propget, id(1), helpstring("Returns Unique ID")] HRESULT GUID([out, retval] BSTR* psGUID); [propget, id(2), helpstring("Returns Name")] HRESULT Name([out, retval] BSTR* psName); [propget, id(3), helpstring("Returns Version")] HRESULT Version([out, retval] BSTR* psVersion); [propget, id(4), helpstring("Returns Application Object during plug-in initialization")] HRESULT Application([out, retval] IApplication** pApplication); [id(20), helpstring("Detailed information")] HRESULT GetInfo(BSTR* psDescription, BSTR* psAuthor, BSTR* psEmail, BSTR* psHomepage); [id(21), helpstring("Called for plugin initialization")] HRESULT Init(IApplication* pApplication); [id(22), helpstring("Called before plugin unload")] HRESULT UnInit(); }; [ object, uuid(6CC725B5-2CD4-4086-BB75-0038C2F8FCF5), helpstring("Plugin Factory Interface"), pointer_default(unique) ] interface IPluginFactory : IUnknown { [id(1), helpstring("Returns list of register plugins")] HRESULT GetPluginList(ULONG celt, BSTR* ppGUIDs, ULONG *pceltFetched); [id(2), helpstring("Creates Plugin by GUID")] HRESULT CreatePlugin(BSTR psGUID, IPlugin** ppPlugin); }; /************************************************************************/ /* Base ToolBar Handling */ /************************************************************************/ [ object, uuid(5816B331-B1D0-418e-B875-965BFF41B16D), dual, helpstring("Base ToolBar Interface"), pointer_default(unique) ] interface IBaseToolBar : IDispatchEx { typedef [uuid(370E1743-F03D-476B-BE44-34E60E074363), helpstring("Toolbar button style")] enum eToolButtonStyle { [helpstring("Standard toolbar button")] eToolButtonStyleStandard, [helpstring("Toolbar button with drop menu")] eToolButtonStyleDropMenu, [helpstring("Toolbar button with drop menu and WITHOUT default button action")] eToolButtonStyleFullDropMenu, [helpstring("Toolbar owned popup")] eToolButtonStylePopup, } eToolButtonStyle; [propget, id(1), helpstring("Returns items count")] HRESULT ItemCount([out, retval] long* pnVal); [id(10), helpstring("Add button to the toolbar")] HRESULT AddButton([in, optional] VARIANT pHandler, [in, defaultvalue(eToolButtonStyleStandard)] eToolButtonStyle eStyle); [id(11), helpstring("Inserts button to the toolbar")] HRESULT InsertButton([in] long nPosition, [in, optional] VARIANT pHandler, [in, defaultvalue(eToolButtonStyleStandard)] eToolButtonStyle eStyle); [id(12), helpstring("Get command index")] HRESULT CommandToIndex([in] BSTR strCommandName, [out, retval] long* pnPosition); [id(13), helpstring("Get command index by handler")] HRESULT HandlerToIndex([in] ICommandHandler* pHandler, [out, retval] long* pnPosition); [id(14), helpstring("Remove button from the toolbar")] HRESULT RemoveButton([in] long nIndex); }; /************************************************************************/ /* Toolbar Handling */ /************************************************************************/ [ object, uuid(10D5B4F1-AAB8-4195-8229-0113DF346C86), dual, helpstring("ToolBar Interface"), pointer_default(unique) ] interface IToolBar : IBaseToolBar { [propget, id(100), helpstring("Returns ToolBar ID")] HRESULT VerbID([out, retval] BSTR* psID); [propget, id(101), helpstring("Returns ToolBar Name")] HRESULT Name([out, retval] BSTR* psName); [propput, id(101), helpstring("Sets ToolBar Name")] HRESULT Name([in] BSTR sName); [propget, id(102), helpstring("Returns ToolBar Visibility")] HRESULT Visible([out, retval] VARIANT_BOOL* pbVal); [propput, id(102), helpstring("Sets ToolBar Visibility")] HRESULT Visible([in] VARIANT_BOOL bVal); [id(150), helpstring("Add syntax for which toolbar should be shown")] HRESULT AddSyntax([in] VARIANT syntax, [in, defaultvalue(-1)] VARIANT_BOOL bInherited); [id(151), helpstring("Remove syntax for which toolbar should be shown")] HRESULT RemoveSyntax([in] VARIANT syntax, [in, defaultvalue(-1)] VARIANT_BOOL bInherited); }; [ object, uuid(EEB85BDA-2E9F-4f53-8027-A7503B2197FA), dual, helpstring("ToolBar Manager Interface"), pointer_default(unique) ] interface IToolBarManager : IDispatchEx { [id(1), helpstring("Finds or creates toolbar instance by name")] HRESULT GetToolBar([in] BSTR strToolbarID, [in] VARIANT_BOOL bCreate, [in, defaultvalue(-1)] VARIANT_BOOL bVisible, [out, retval] IToolBar** ppToolBar); }; [ object, uuid(BB67F782-9A27-40c2-9258-F08BF5CDBD6B), dual, helpstring("ToolBar Creation Handler, implemented by plugin which wants to add own toolbar"), pointer_default(unique) ] interface IToolBarHandler : IDispatch { [id(1), helpstring("Called when toolbars should be re/created")] HRESULT Init([in] IToolBarManager* pToolBarManager); }; /************************************************************************/ /* Status Bar handler */ /************************************************************************/ [ object, uuid(D614F52A-CF57-4E02-8984-6DAE425D5E28), dual, helpstring("StatusBar Interface"), pointer_default(unique) ] interface IStatusBar : IDispatchEx { [propget, id(1), helpstring("Returns items count")] HRESULT ItemCount([out, retval] ULONG* pnCount); [id(10), helpstring("Add indicator to the status bar")] HRESULT AddIndicator([in] ICommandHandler* pHandler, [in, defaultvalue(-1)] long nSize, [in, defaultvalue(-1)] VARIANT_BOOL bVisible, [in, defaultvalue(0)] long nFlags); [id(11), helpstring("Inserts button to the toolbar")] HRESULT InsertIndicator([in] long nPosition, [in] ICommandHandler* pHandler, [in, defaultvalue(-1)] long nSize, [in, defaultvalue(-1)] VARIANT_BOOL bVisible, [in, defaultvalue(0)] long nFlags); [id(12), helpstring("Get command index")] HRESULT CommandToIndex([in] BSTR strCommandName, [out, retval] long* pnPosition); [id(13), helpstring("Get command index by handler")] HRESULT HandlerToIndex([in] ICommandHandler* pHandler, [out, retval] long* pnPosition); [id(14), helpstring("Remove button from the toolbar")] HRESULT RemoveIndicator([in] long nIndex); }; [ object, uuid(01D8094D-642D-4B3C-A926-F4C452A6D2C8), dual, helpstring("StatusBar Creation Handler, implemented by plugin which wants to add own indicators to the status bar"), pointer_default(unique) ] interface IStatusBarHandler : IDispatch { [id(1), helpstring("Called when indicators should be added")] HRESULT Init([in] IStatusBar* pStatusBar); }; /************************************************************************/ /* Main Menu handler */ /************************************************************************/ [ object, uuid(0A05F56D-B3CB-4b60-9D3B-E2CFA8A48AA0), dual, helpstring("Main Menu Handler, implemented by plugin which wants to change main menu"), pointer_default(unique) ] interface IMainMenuHandler : IDispatch { [id(1), helpstring("Called when be main menu should updated")] HRESULT Init([in] IMenuObject* pMenu, [in] VARIANT_BOOL bUpdate); [id(2), helpstring("Called before first level sub menu is displayed")] HRESULT OnSubMenuUpdate([in] IMenuObject* pMenu); }; /************************************************************************/ /* File handler */ /************************************************************************/ [ object, pointer_default(unique), helpstring("IFileFilter Interface"), uuid(C1A434DA-8ACE-45b4-B917-6688C288C4AC), dual, nonextensible ] interface IFileFilter : IDispatch { [propget, id(1), helpstring("Mask")] HRESULT Mask([out, retval] BSTR* pstrMask); [propget, id(2), helpstring("Description")] HRESULT Description([out, retval] BSTR* pstrDescription); }; [ object, pointer_default(unique), helpstring("IFileFilters Interface"), uuid(9A0FF1A2-C8AE-4359-B9F6-218D61750BE2), dual, nonextensible ] interface IFileFilters : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IFileFilter** ppFileFilters); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; [ object, uuid(F4518730-06BC-453f-919C-A924C551FA12), dual, helpstring("File Handler, implemented by plugin which wants to do custom file loading"), pointer_default(unique) ] interface IFileHandler : IDispatch { [propget, id(1), helpstring("File Filters List")] HRESULT Filters([out, retval] IFileFilters** ppFilters); [id(10), helpstring("Called when file to be loaded")] HRESULT Load([in] BSTR strFileName, [out, retval] IDocument** ppDocument); [id(11), helpstring("Called when document file to be loaded")] HRESULT LoadDocument([in] BSTR strFileName, [out, retval] IDocument** ppDocument); }; /************************************************************************/ /* Plugin Options */ /************************************************************************/ [ object, uuid(C6835020-FDEF-4b9e-912E-0666251727B2), helpstring("Options Page class"), pointer_default(unique) ] interface IOptionsPage : IUnknown { [propget, id(1), helpstring("Returns Unique Verb ID")] HRESULT GUID([out, retval] BSTR* psID); [propget, id(2), helpstring("Returns Page name/caption in native language")] HRESULT Name([out, retval] BSTR* psName); [propget, id(3), helpstring("Returns Page window handler")] HRESULT Window([out, retval] HANDLE_PTR* phWnd); [propget, id(4), helpstring("Returns Page Modified state")] HRESULT Modified([out, retval] VARIANT_BOOL* pbModified); [propput, id(4), helpstring("Sets Page Modified state")] HRESULT Modified([in, defaultvalue(-1)] VARIANT_BOOL bModified); [id(10), helpstring("Called when page should be created")] HRESULT Create([in] HANDLE_PTR hWnd); [id(11), helpstring("Called when settings should be applied by user request")] HRESULT ApplySettings(); [id(12), helpstring("Called to display option related page")] HRESULT onContextHelp([in] UINT nCntrlID, [out, retval] BSTR* pstrDescription); }; [ object, uuid(04AB20DC-4575-4e2e-A34E-5A6E1C6FD624), helpstring("IOptionsPage Collector"), pointer_default(unique) ] interface IOptionsPageCollector : IUnknown { [id(1), helpstring("Adds options page to collection")] HRESULT Add([in] IOptionsPage* pPage); }; [ object, uuid(192F6435-A19A-4524-A5E8-29BD9D3D4756), dual, helpstring("Factory class for creating of plugin Options Pages"), pointer_default(unique) ] interface IOptionsCreator : IDispatch { [id(1), helpstring("Called to create options page")] HRESULT Create([in] IOptionsPageCollector* pPageCollector); }; /************************************************************************/ /* Settings handling */ /************************************************************************/ [ object, uuid(D652E2B4-47C6-4270-9031-46E2A1543E24), dual, helpstring("Global Settings Object Interface"), pointer_default(unique) ] interface ISettings : IDispatchEx { [propget, id(1), helpstring("Returns user data directory")] HRESULT UserDirectory([out, retval] BSTR* psPath); [propget, id(2), helpstring("Returns syntaxes collection")] HRESULT Syntaxes([out, retval] ISyntaxes** ppSyntaxes); [propget, id(3), helpstring("Returns default syntax")] HRESULT DefaultSyntax([out, retval] ISyntax** ppSyntax); [propget, id(4), helpstring("Returns default encoding")] HRESULT DefaultEncoding([out, retval] long* pEncoding); [propget, id(5), helpstring("Returns default line break style")] HRESULT DefaultLineBreak([out, retval] BSTR* psLineBreak); [propget, id(6), helpstring("Returns NoRecent flag")] HRESULT NoRecent([out, retval] VARIANT_BOOL* pbNoRecent); [id(21), helpstring("Collects syntaxes by criteria")] HRESULT CollectSyntaxes([in, defaultvalue(-1)] VARIANT_BOOL bDisabled, [in, defaultvalue(-1)] VARIANT_BOOL bAbstract, [in, defaultvalue(-1)] VARIANT_BOOL bWithoutExt, [out, retval] ISyntaxes** ppSyntaxes); [id(22), helpstring("Get syntax by Name")] HRESULT GetSyntax([in] BSTR strSyntax, [out, retval] ISyntax** ppSyntax); [id(23), helpstring("Get color value by name or hex value")] HRESULT GetColor([in] VARIANT value, [out, retval] OLE_COLOR* pColor); [id(24), helpstring("(Re)Load syntax from syntax specification file")] HRESULT LoadSyntax([in] BSTR strSyntaxSpecPath, [out, retval] ISyntax** ppSyntax); }; /************************************************************************/ /* IFileSystemListener object */ /************************************************************************/ [ object, uuid(9886CBC5-5820-4171-B0C1-1468EAC0CC73), dual, helpstring("File system event listener"), pointer_default(unique) ] interface IFileSystemListener : IDispatch { typedef [uuid(C1CAE96A-64BE-41A1-9C96-7CA1542D1F7D), helpstring("File system event type")] enum eFileSystemEvent { [helpstring("File modification time has been changed")] eFileSystemEventChanged, [helpstring("File attributes were changed")] eFileSystemEventChangedAttribute, [helpstring("File was removed")] eFileSystemEventRemoved, [helpstring("File was created")] eFileSystemEventCreated, [helpstring("Directory was updated; Directory only flag")] eFileSystemEventUpdated, } eFileSystemEvent; [id(21), helpstring("Called after registered file system event")] HRESULT OnFileUpdate(BSTR sPath, eFileSystemEvent eEvent); }; /************************************************************************/ /* IFileSystemManager object */ /************************************************************************/ [ object, uuid(4ED95FDB-E6AE-4afd-A181-C46F31FD579E), dual, helpstring("File system manager"), pointer_default(unique) ] interface IFileSystemManager : IDispatch { [id(1), helpstring("Register file system listener")] HRESULT RegisterListener([in] BSTR strFileName, [in] VARIANT_BOOL bWhatchSubTree, [in] long dwFlags, [in] VARIANT pListener); [id(2), helpstring("UnRegister file system listener")] HRESULT UnRegisterListener([in] BSTR strFileName, [in] VARIANT pListener); }; /************************************************************************/ /* IFolderFavorites object */ /************************************************************************/ [ object, uuid(64185B59-33DA-415b-9099-4CFED6CE9ADC), dual, helpstring("Folder Favorites manager"), pointer_default(unique) ] interface IFolderFavorites : IDispatch { [id(1), helpstring("Add directory to favorite folders tree")] HRESULT AddFavorite([in] BSTR strDirectoryName); [id(2), helpstring("Creates native menu")] HRESULT FillFavoritesMenu([in] HANDLE_PTR hMenu); [id(3), helpstring("Translates favorite folder ID to folder")] HRESULT TranslateFavoritesID([in] long nID, [out, retval] BSTR* psDirectory); }; /************************************************************************/ /* IProject object */ /************************************************************************/ [ object, uuid(A12FB07A-BEB2-41c2-9ABF-2FD21256886E), dual, helpstring("Project object interface"), pointer_default(unique) ] interface IProject : IDispatchEx { [propget, id(1), helpstring("Project Name")] HRESULT Name([out, retval] BSTR* psPathName); [propput, id(1), helpstring("Project Name")] HRESULT Name([in] BSTR sPathName); [propget, id(2), helpstring("Project Title")] HRESULT Title([out, retval] BSTR* psTitle); [propget, id(3), helpstring("Main File path")] HRESULT MainFile([out, retval] BSTR* psPathName); [propget, id(4), helpstring("Working Directory path")] HRESULT WorkingDirectory([out, retval] BSTR* psPathName); [propget, id(5), helpstring("Default syntax")] HRESULT Syntax([out, retval] ISyntax** ppSyntax); [propget, id(6), helpstring("Default encoding")] HRESULT Encoding([out, retval] long* pEncoding); [propget, id(7), helpstring("Default line break style")] HRESULT LineBreak([out, retval] BSTR* psLineBreak); [propget, id(8), helpstring("Indicates that project is initial, non-modified state")] HRESULT Initial([out, retval] VARIANT_BOOL* pbResult); [id(21), helpstring("Checks if file is in project")] HRESULT IsFileInProject([in] BSTR strFileName, [out, retval] VARIANT_BOOL* pbFound); [id(22), helpstring("Resolve file by title")] HRESULT FilePathByTitle([in] BSTR strTitle, [out, retval] BSTR* strFileName); [id(23), helpstring("Adds file to the project")] HRESULT AddFile([in] BSTR strFileName); [id(24), helpstring("Collects file names from project, using filter (NULL is take all). Returns SAFEARRAY of BSTR")] HRESULT GetFiles([in] BSTR strPatern, [out, retval] VARIANT* ppFileNames); [id(25), helpstring("Returns storage object")] HRESULT GetStorage([in] BSTR strName, [in] eAccessType access, [out, retval] ISettingsStorage** ppStorage); [id(26), helpstring("Project defined user variables. SAFEARRAY of BSTR")] HRESULT GetUserVariables([in, optional, defaultvalue("")] BSTR strConfiguration, [out, retval] VARIANT* ppUserVariables); [id(27), helpstring("Read user variable value by name")] HRESULT GetUserVariable([in] BSTR strName, [in, optional, defaultvalue("")] BSTR strConfiguration, [out, retval] VARIANT* pVal); [id(28), helpstring("User configurations. SAFEARRAY of BSTR")] HRESULT GetUserConfigurations([out, retval] VARIANT* ppUserConfigurations); }; [ object, uuid(405164FB-A354-4788-A21B-CE8BB77AF092), dual, helpstring("Project Manager Interface"), pointer_default(unique) ] interface IProjectManager : IDispatch { [propget, id(1), helpstring("Active project")] HRESULT Active([out, retval] IProject** ppProject); [propget, id(2), helpstring("Recent project files. SAFEARRAY of BSTR")] HRESULT Recent([out, retval] VARIANT* ppProjects); [id(20), helpstring("Load and activates project by name")] HRESULT LoadProject([in, defaultvalue("")] BSTR strPath, [out, retval] IProject** ppProject); }; /************************************************************************/ /* Panes Handling */ /************************************************************************/ [ object, uuid(7A55D296-5B98-4765-A80F-477E939D26E4), dual, helpstring("Pane Interface"), pointer_default(unique) ] interface IPane : IDispatchEx { typedef [uuid(C41FE5C7-E3C5-4C04-97D3-CC8D3C0E0838), helpstring("Pane layout style")] enum ePaneLayout { [helpstring("Pane occupies client area")] ePaneLayoutClient, [helpstring("Pane docked to top of the screen")] ePaneLayoutTop, [helpstring("Pane docked to left of the screen")] ePaneLayoutLeft, [helpstring("Pane docked to right of the screen")] ePaneLayoutRight, [helpstring("Pane docked to bottom of the screen")] ePaneLayoutBottom, [helpstring("Pane should be floating")] ePaneLayoutFloat } ePaneLayout; [propget, id(1), helpstring("Returns Pane verb ID")] HRESULT Name([out, retval] BSTR* psName); [propget, id(2), helpstring("Returns pane title")] HRESULT Title([out, retval] BSTR* psTitle); [propput, id(2), helpstring("Sets pane title")] HRESULT Title([in] BSTR sTitle); [propget, id(3), helpstring("Returns pane associated image")] HRESULT Image([out, retval] long* pnImage); [propput, id(3), helpstring("Sets pane associated image")] HRESULT Image([in] long nImage); [propget, id(4), helpstring("Returns pane window handle")] HRESULT Window([out, retval] HANDLE_PTR* phWnd); [propget, id(5), helpstring("Returns preferred pane layout")] HRESULT Layout([out, retval] ePaneLayout* peLayout); [propget, id(6), helpstring("Indicates that pane can be closed")] HRESULT CanClose([out, retval] VARIANT_BOOL* pbValue); [propget, id(7), helpstring("Return parent plugin")] HRESULT Plugin([out, retval] IPlugin** ppPlugin); [id(10), helpstring("Creates page on demand")] HRESULT Create([in] HANDLE_PTR hWndParent); [id(11), helpstring("Activates the pane")] HRESULT Activate([in, defaultvalue(0)] VARIANT_BOOL bSetFocus); }; [ object, pointer_default(unique), helpstring("IPanes Interface"), uuid(4D51FB7A-DBFB-4d87-9D51-95491DADB46E), dual, nonextensible ] interface IPanes : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IPane** ppPane); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; [ object, uuid(836E3FCD-D5AD-414a-8785-697B340982C7), dual, helpstring("Output Pane Interface"), pointer_default(unique) ] interface IOutputPane : IPane { [propget, id(104), helpstring("Returns pane syntax")] HRESULT Syntax([out, retval] BSTR* psSyntax); [propput, id(104), helpstring("Sets pane syntax")] HRESULT Syntax([in] BSTR sSyntax); [propget, id(105), helpstring("Returns output running state")] HRESULT Running([out, retval] VARIANT_BOOL* pbValue); [propput, id(105), helpstring("Sets output pane running state")] HRESULT Running([in, defaultvalue(-1)] VARIANT_BOOL bValue); [propget, id(109), helpstring("Returns capture options")] HRESULT Options([out, retval] long* pdwOptions); [propput, id(109), helpstring("Sets capture options")] HRESULT Options([in] long dwOptions); [propget, id(110), helpstring("Returns pane input state")] HRESULT InputAllowed([out, retval] VARIANT_BOOL* pbValue); [propput, id(110), helpstring("Sets pane input state")] HRESULT InputAllowed([in, defaultvalue(-1)] VARIANT_BOOL bValue); [propget, id(112), helpstring("Returns lines count")] HRESULT LineCount([out, retval] long* pnCount); [id(100), helpstring("Clears the contents of the output pane")] HRESULT Clear(); [id(101), helpstring("Appends a string to the output pane")] HRESULT write([in] BSTR strText); [id(102), helpstring("Appends a string and a new line to the output pane")] HRESULT writeln([in, defaultvalue("")] BSTR strText); [id(103), helpstring("Creates a copy of the output pane")] HRESULT Clone([in] BSTR strPaneID, [in, defaultvalue(-1)]VARIANT_BOOL bInitialize, [out, retval] IOutputPane** ppPane); [id(106), helpstring("Captures external tool output")] HRESULT Capture([in] BSTR sCmdLine, [in, defaultvalue(0)] long dwOptions, [in, defaultvalue("")] BSTR sInitialDir, [in, defaultvalue("")] BSTR sExitCmd, [in, defaultvalue(0)] ULONG nCodePage, [in, defaultvalue("")] BSTR sPattern, [in, defaultvalue(0)] long nFile, [in, defaultvalue(0)] long nLine, [in, defaultvalue(0)] long nColumn); [id(107), helpstring("Pass command to running tool")] HRESULT AddCommand([in] BSTR sCommand, [in, defaultvalue(-1)] VARIANT_BOOL bAddToHistory); [id(108), helpstring("Sets output pattern")] HRESULT SetPattern([in, defaultvalue("")] BSTR sPattern, [in, defaultvalue(0)] long nFile, [in, defaultvalue(0)] long nLine, [in, defaultvalue(0)] long nColumn); [id(111), helpstring("Returns line text")] HRESULT GetLine([in] long nLine, [out, retval] BSTR* pstrLine); }; [ object, uuid(962C4E6C-B0FE-421f-B981-5E71FDBF44BA), dual, helpstring("Scripting Output Pane Interface Extension"), pointer_default(unique) ] interface IScriptOutputPane : IOutputPane { [propget, id(1001), helpstring("onInitContextMenu handler (function)")] HRESULT onOutputInitContextMenu([out, retval] VARIANT* pAction); [propput, id(1001), helpstring("onInitContextMenu handler (function)")] HRESULT onOutputInitContextMenu([in] VARIANT Action); [propget, id(1002), helpstring("onOutputNavigate handler (function)")] HRESULT onOutputNavigate([out, retval] VARIANT* pAction); [propput, id(1002), helpstring("onOutputNavigate handler (function)")] HRESULT onOutputNavigate([in] VARIANT Action); [propget, id(1003), helpstring("onToolStateChange handler (function)")] HRESULT onOutputToolStateChange([out, retval] VARIANT* pAction); [propput, id(1003), helpstring("onToolStateChange handler (function)")] HRESULT onOutputToolStateChange([in] VARIANT Action); [propget, id(1004), helpstring("onCommand handler (function)")] HRESULT onOutputCommand([out, retval] VARIANT* pAction); [propput, id(1004), helpstring("onCommand handler (function)")] HRESULT onOutputCommand([in] VARIANT Action); } [ object, uuid(675FF8F6-D0D1-4901-80B1-DFBFEBF2A4F3), dual, helpstring("IListItem Interface"), pointer_default(unique) ] interface IListItem : IDispatchEx { [propget, id(1), helpstring("Selected property")] HRESULT Selected([out, retval] VARIANT_BOOL* pbVal); [propput, id(1), helpstring("Selected property")] HRESULT Selected([in] VARIANT_BOOL bVal); [propget, id(2), helpstring("Checked property")] HRESULT Checked([out, retval] VARIANT_BOOL* pbVal); [propput, id(2), helpstring("Checked property")] HRESULT Checked([in] VARIANT_BOOL bVal); [propget, id(3), helpstring("Image property")] HRESULT Image([out, retval] long* pnVal); [propput, id(3), helpstring("Image property")] HRESULT Image([in] long nVal); [propget, id(4), helpstring("Items. SAFEARRAY(VARIANT).")] HRESULT Items([out, retval] VARIANT* pVal); [propput, id(4), helpstring("Items. SAFEARRAY(VARIANT).")] HRESULT Items([in] VARIANT* Val); [propget, id(5), helpstring("Returns Item Count")] HRESULT ItemCount([out, retval] long* pnVal); [id(6), helpstring("Set Items"), vararg] HRESULT Set([in] VARIANT_BOOL bSelected, [in] long nImage, [in] SAFEARRAY(VARIANT)* items); [id(7), helpstring("Gets item by position")] HRESULT Item([in] long nItem, [out, retval] VARIANT* pItem); [id(8), helpstring("Gets item text color by position; nItem = -1 for line color")] HRESULT GetTextColor([in, defaultvalue(-1)] long nItem, [out, retval] OLE_COLOR* pclr); [id(9), helpstring("Gets item back color by position; nItem = -1 for line color")] HRESULT GetBackColor([in, defaultvalue(-1)] long nItem, [out, retval] OLE_COLOR* pclr); [id(10), helpstring("Sets item text color by position; nItem = -1 for line color; clr = 0xFF000000 to reset")] HRESULT SetTextColor([in] long nItem, [in] OLE_COLOR clr); [id(11), helpstring("Sets item back color by position; nItem = -1 for line color; clr = 0xFF000000 to reset")] HRESULT SetBackColor([in] long nItem, [in] OLE_COLOR clr); } [ object, pointer_default(unique), helpstring("IListItems Interface"), uuid(CE860FAD-DADA-4521-8EA4-29AC362198D3), dual, nonextensible ] interface IListItems : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IListItem** ppItem); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; [ object, uuid(4C720A63-810C-45a7-8B9B-3F02089A4946), dual, helpstring("Generic List Pane Interface"), pointer_default(unique) ] interface IListPane : IPane { typedef [uuid(B2BBC297-2DEB-4f05-B8EC-0E8F781F25A7), helpstring("Text alignment style")] enum eAlignment { [helpstring("Text alignment determined from content")] eAlignmentAuto, [helpstring("Text is left aligned")] eAlignmentLeft, [helpstring("Text is right aligned")] eAlignmentRight, [helpstring("Text is centered")] eAlignmentCenter, [helpstring("Text is justified")] eAlignmentJustify } eAlignment; [propget, id(100), helpstring("Returns Editable state")] HRESULT Editable([out, retval] VARIANT_BOOL* pbVal); [propput, id(100), helpstring("Sets Editable state")] HRESULT Editable([in] VARIANT_BOOL bVal); [propget, id(101), helpstring("Returns CheckBoxes style")] HRESULT CheckBoxes([out, retval] VARIANT_BOOL* pbVal); [propput, id(101), helpstring("Sets CheckBoxes style")] HRESULT CheckBoxes([in] VARIANT_BOOL bVal); [propget, id(102), helpstring("Returns GridLines style")] HRESULT GridLines([out, retval] VARIANT_BOOL* pbVal); [propput, id(102), helpstring("Sets GridLines style")] HRESULT GridLines([in] VARIANT_BOOL bVal); [propget, id(103), helpstring("Returns Item Count")] HRESULT ItemCount([out, retval] long* pnVal); [propget, id(104), helpstring("Returns Column Count")] HRESULT ColumnCount([out, retval] long* pnVal); [propget, id(105), helpstring("Returns Items collection")] HRESULT Items([out, retval] IListItems** ppItems); [propget, id(106), helpstring("Returns Selected Items collection")] HRESULT SelectedItems([out, retval] IListItems** ppItems); [propget, id(107), helpstring("Returns Checked Items collection")] HRESULT CheckedItems([out, retval] IListItems** ppItems); [propget, id(108), helpstring("Returns List toolbar")] HRESULT ToolBar([out, retval] IBaseToolBar** ppToolBar); [id(110), helpstring("Clears the contents of the list pane")] HRESULT Clear(); [id(111), helpstring("Add new line to the list"), vararg] HRESULT Add([in] VARIANT_BOOL bSelected, [in] long nImage, [in] SAFEARRAY(VARIANT)* items, [out, retval] IListItem** ppItem); [id(112), helpstring("Create new line item (not added to the list)")] HRESULT CreateItem([out, retval] IListItem** ppItem); [id(113), helpstring("Add new line item to the list")] HRESULT AddItem([in] IListItem* pItem); [id(114), helpstring("Insert new line item to the list")] HRESULT InsertItem([in] long nPosition, [in] IListItem* pItem); [id(115), helpstring("Add new line item to the list")] HRESULT RemoveItem([in] IListItem* pItem); [id(116), helpstring("Add new colun to list")] HRESULT AddColumn([in] BSTR sTitle, [in, defaultvalue(eAlignmentAuto)] eAlignment nAlignment, [in, defaultvalue(-1)] long nWidth); [id(117), helpstring("Remove column by index")] HRESULT RemoveColumn([in] long nVal); [id(118), helpstring("Force list invalidation")] HRESULT Invalidate(); [id(119), helpstring("Lock ListPane data, for updates from another threads")] HRESULT Lock([in, defaultvalue(-1)] VARIANT_BOOL bWriteLock); [id(120), helpstring("UnLock ListPane data, for updates from another threads")] HRESULT Unlock([in, defaultvalue(-1)] VARIANT_BOOL bWriteLock); }; [ object, uuid(34F27DFB-2CA6-4c31-AED9-0EA3EDC01AE0), dual, helpstring("Scripting List Pane Interface Extension"), pointer_default(unique) ] interface IScriptListPane : IListPane { [propget, id(1001), helpstring("onListContextMenu handler (function)")] HRESULT onListInitContextMenu([out, retval] VARIANT* pAction); [propput, id(1001), helpstring("onListContextMenu handler (function)")] HRESULT onListInitContextMenu([in] VARIANT Action); [propget, id(1002), helpstring("onListDoubleClick handler (function)")] HRESULT onListDoubleClick([out, retval] VARIANT* pAction); [propput, id(1002), helpstring("onListDoubleClick handler (function)")] HRESULT onListDoubleClick([in] VARIANT Action); [propget, id(1003), helpstring("onListCheck handler (function)")] HRESULT onListCheck([out, retval] VARIANT* pAction); [propput, id(1003), helpstring("onListCheck handler (function)")] HRESULT onListCheck([in] VARIANT Action); } [ object, uuid(C64CD37C-669E-41c7-B52B-536CCE96718D), helpstring("IPane Collector"), pointer_default(unique) ] interface IPaneCollector : IUnknown { [id(1), helpstring("Adds tool pane to collection")] HRESULT Add([in] IPane* pPane); }; [ object, uuid(E70C6328-C813-40d7-866D-233438C0B204), dual, helpstring("Factory class for creating of plugin tool panes"), pointer_default(unique) ] interface IPaneCreator : IDispatch { [id(1), helpstring("Called to create tool panes")] HRESULT Create([in] IPaneCollector* pPaneCollector); }; /************************************************************************/ /* Search type helpers handling */ /************************************************************************/ [ object, uuid(BE495FCA-F4A9-4698-B830-B90AB34EEEA6), dual, helpstring("Search Options dialog Interface"), pointer_default(unique) ] interface ISearchOptions : IDispatch { [propget, id(1), helpstring("Returns window handle")] HRESULT Window([out, retval] HANDLE_PTR* phWnd); [id(20), helpstring("Called when controls state should be updated")] HRESULT UpdateControls([in] HANDLE_PTR hWndHost, [in] VARIANT_BOOL bReplaceMode); [id(21), helpstring("Called when settings should be applied")] HRESULT Apply(); } [ object, uuid(C5938BF4-817D-4869-B0A1-642106A7F7CA), dual, helpstring("ISearchProvider"), pointer_default(unique) ] interface ISearchProvider : IDispatch { [propget, id(1), helpstring("Returns search type id")] HRESULT SearchType([out, retval] long* pnSearchType); [propget, id(2), helpstring("Returns search type name")] HRESULT Name([out, retval] BSTR* psName); [propget, id(3), helpstring("Returns search description")] HRESULT Description([out, retval] BSTR* psDescription); [propget, id(4), helpstring("Returns true, if search type is applicable in current situation")] HRESULT Applicable([out, retval] VARIANT_BOOL* pbValue); [propget, id(5), helpstring("Returns true, if replace should be active")] HRESULT ReplaceActive([out, retval] VARIANT_BOOL* pbValue); [propget, id(6), helpstring("Indicates that modified document should be open in editor")] HRESULT OpenModified([out, retval] VARIANT_BOOL* pbValue); [propget, id(7), helpstring("Indicates that only file names should be displayed")] HRESULT FileNameOnly([out, retval] VARIANT_BOOL* pbValue); [propget, id(8), helpstring("Indicates that only hidden document should be processed also")] HRESULT IncludeHidden([out, retval] VARIANT_BOOL* pbValue); [propget, id(9), helpstring("Dumps search parameters in verbal form")] HRESULT Parameters([out, retval] BSTR* psParameters); [propget, id(10), helpstring("Returns document list. SAFEARRAY of BSTR")] HRESULT Documents([out, retval] VARIANT* ppDocuments); [id(20), helpstring("Returns/Creates option search page")] HRESULT GetOptionsPage([in] HANDLE_PTR hWnd, [out, retval] ISearchOptions** ppOptions); } /************************************************************************/ /* Service items handling */ /************************************************************************/ [ object, uuid(3C217952-AB80-4ef8-840A-9700CCEF52C6), dual, helpstring("Tool Item Interface"), pointer_default(unique) ] interface IToolHandler : ICommandHandler { typedef [uuid(AA838DD9-90C2-4F77-BAD4-25F0AF637D2E), helpstring("Tool output type")] enum eToolOutputType { [helpstring("Discard tool output")] eToolOutputTypeDiscard, [helpstring("Send tool output to 'Output Window'")] eToolOutputTypeWindow, [helpstring("Replace selected text by tool output")] eToolOutputTypeReplaceSelection, [helpstring("Replace current document by tool output")] eToolOutputTypeReplaceDocument, [helpstring("Replace Clipboard content by tool output")] eToolOutputTypeReplaceClipboard, [helpstring("Insert tool output before current selection")] eToolOutputTypeInsertBeforeSelection, [helpstring("Insert tool output after current selection")] eToolOutputTypeInsertAfterSelection, [helpstring("Show tool output as a tooltip")] eToolOutputTypeShowAsToolTip, [helpstring("Create a new document from tool output")] eToolOutputTypeCreateNewDocument, } eToolOutputType; typedef [uuid(6FCB1738-31A4-4234-940A-CDB0EBB0028B), helpstring("Action before tool executes")] enum eToolSave { [helpstring("Discard tool output")] eToolSaveNothing, [helpstring("Send tool output to 'Output Window'")] eToolSaveCurrent, [helpstring("Replace selected text by tool output")] eToolSaveAll, [helpstring("Replace current document by tool output")] eToolSaveAllProject, } eToolSave; typedef [uuid(B961CA91-A5D0-48e3-A9E8-12A13AE5FB5C), helpstring("Define actions which auto execute the tool")] enum eToolAutoExecute { [helpstring("Do not auto execute the tool")] eToolAutoExecuteNever, [helpstring("Auto Execute tool on application start")] eToolAutoExecuteOnAppStart, [helpstring("Auto Execute tool on after document saved")] eToolAutoExecuteOnDocSave, [helpstring("Auto Execute tool after document opened")] eToolAutoExecuteOnDocOpen, [helpstring("Auto Execute tool after document created")] eToolAutoExecuteOnDocCreate, [helpstring("Auto Execute tool before document closed")] eToolAutoExecuteOnDocClose, } eToolAutoExecute; [propget, id(100), helpstring("Returns Capture Output flag")] HRESULT CaptureOutput([out, retval] VARIANT_BOOL* pbValue); [propput, id(100), helpstring("Sets Capture Output flag")] HRESULT CaptureOutput([in] VARIANT_BOOL bValue); [propget, id(101), helpstring("Returns \"Show in Context Menu\" flag")] HRESULT ShowInContextMenu([out, retval] VARIANT_BOOL* pbValue); [propput, id(101), helpstring("Sets \"Show in Context Menu\" flag")] HRESULT ShowInContextMenu([in] VARIANT_BOOL bValue); [propget, id(102), helpstring("Returns \"Show in Toolbar\" flag")] HRESULT ShowInToolbar([out, retval] VARIANT_BOOL* pbValue); [propput, id(102), helpstring("Sets \"Show in Toolbar\" flag")] HRESULT ShowInToolbar([in] VARIANT_BOOL bValue); [propget, id(103), helpstring("Returns tool associated syntax")] HRESULT Syntax([out, retval] ISyntax** ppSyntax); [propget, id(104), helpstring("Gets AutoExecute property")] HRESULT AutoExecute([out, retval] eToolAutoExecute* pnValue); [propput, id(104), helpstring("Sets AutoExecute property")] HRESULT AutoExecute([in] eToolAutoExecute nValue); [id(105), helpstring("Opens tool configuration dialog")] HRESULT Edit(HANDLE_PTR hWndParent); }; [ object, pointer_default(unique), helpstring("IToolHandlers Interface"), uuid(20CA5E46-75E1-4821-A59F-0D4DC6F32921), dual, nonextensible ] interface IToolHandlers : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IToolHandler** ppTool); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; [ object, uuid(907A7021-D13C-491c-84D0-54D260A5168E), dual, helpstring("Url Item Interface"), pointer_default(unique) ] interface IUrlHandler : ICommandHandler { [id(100), helpstring("Open url configuration dialog")] HRESULT Edit(HANDLE_PTR hWndParent); }; [ object, pointer_default(unique), helpstring("IUrlHandlers Interface"), uuid(08B9F3B0-2B01-4755-AECC-C9798260977B), dual, nonextensible ] interface IUrlHandlers : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IUrlHandler** ppUrl); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; /************************************************************************/ /* Clipboard object */ /************************************************************************/ [ object, uuid(7AA85824-996F-4867-B11E-4566EBD0C0A7), dual, helpstring("IClipboardItem"), pointer_default(unique) ] interface IClipboardItem : IDispatch { [propget, id(1), helpstring("Reads item content as text")] HRESULT Text([out, retval] BSTR* pstrText); [propput, id(1), helpstring("Sets item content as text")] HRESULT Text([in] BSTR strText); [propget, id(2), helpstring("Reads item content as HTML")] HRESULT HTML([out, retval] BSTR* pstrText); [propget, id(3), helpstring("Reads item content as HTML")] HRESULT RTF([out, retval] BSTR* pstrText); [propget, id(4), helpstring("Reads block mode property")] HRESULT BlockMode([out, retval] VARIANT_BOOL* pbValue); [propput, id(4), helpstring("Sets block mode property")] HRESULT BlockMode([in] VARIANT_BOOL bValue); } [ object, pointer_default(unique), helpstring("IClipboardItems Interface"), uuid(C0125AB6-44AF-4327-90C5-C72BA12E37A2), dual, nonextensible ] interface IClipboardItems : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IClipboardItem** ppItem); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; [ object, uuid(43010A89-77A2-4a58-98E3-8A1E1BF2ADB3), dual, helpstring("IClipboard"), pointer_default(unique) ] interface IClipboard : IDispatchEx { [propget, id(1), helpstring("Returns clipboard name")] HRESULT Name([out, retval] BSTR* psName); [propget, id(2), helpstring("Returns maximum item count")] HRESULT MaxCount([out, retval] long* pnValue); [propput, id(2), helpstring("Sets maximum item count")] HRESULT MaxCount([in] long nValue); [propget, id(3), helpstring("Returns clipboard items")] HRESULT Items([out, retval] IClipboardItems** ppItems); [propget, id(4), helpstring("Reads block mode property")] HRESULT BlockMode([out, retval] VARIANT_BOOL* pbValue); [id(10), helpstring("Clears clipboard")] HRESULT clear([in, defaultvalue(-1)] long nIntenPos); [id(11), helpstring("Sets actual clipboard content")] HRESULT set([in] BSTR strText, [in, defaultvalue(0)] VARIANT_BOOL bBlockMode); [id(12), helpstring("Reads actual clipboard content")] HRESULT get([out, retval] BSTR* pstrText); } /************************************************************************/ /* XML Dialog handling interfaces */ /************************************************************************/ interface IDialogControl; interface IDialog; [ object, uuid(14C3BE04-4AD0-40b4-AC47-439C50D8AEE9), dual, helpstring("Base interface for all dialog controls"), pointer_default(unique) ] interface IDialogControl : IDispatchEx { [propget, id(1), helpstring("Returns control name")] HRESULT Name([out, retval] BSTR* psName); [propget, id(2), helpstring("Returns control text")] HRESULT Text([out, retval] BSTR* psText); [propput, id(2), helpstring("Sets control text")] HRESULT Text([in] BSTR sText); [propget, id(3), helpstring("Returns parent dialog")] HRESULT Dialog([out, retval] IDialog** ppDialog); [propget, id(4), helpstring("Returns parent control")] HRESULT Parent([out, retval] IDialogControl** ppParent); } [ object, uuid(C533A843-46E5-444b-AA40-BFDF4CA08412), dual, helpstring("Base interface for a dialog"), pointer_default(unique) ] interface IDialog : IDialogControl { [propget, id(101), helpstring("Returns parameters storage")] HRESULT Parameters([out, retval] VARIANT* pStorage); [propput, id(101), helpstring("Sets parameters storage")] HRESULT Parameters([in] VARIANT Storage); [propget, id(102), helpstring("Returns dialog layout")] HRESULT Layout([out, retval] BSTR* pstrLayout); [propput, id(102), helpstring("Sets dialog layout")] HRESULT Layout([in] BSTR strLayout); [id(150), helpstring("Closes dialog")] HRESULT Close([in, defaultvalue("")] BSTR strReturnCode); } /************************************************************************/ /* Application object */ /************************************************************************/ interface IWScript; interface IShell; [ object, uuid(0566BD7D-88B6-44c7-B595-7BD8EDCF1CD0), dual, helpstring("Application Object Interface"), pointer_default(unique) ] interface IApplication : IDispatchEx { typedef [uuid(C969E8E9-0B9E-4936-BD49-D3E451458A56), helpstring("Storage location type")] enum eStorageType { [helpstring("Temporal session global storage")] eStorageTypeSession, [helpstring("Global settings storage")] eStorageTypeGlobal, [helpstring("Workspace based storage")] eStorageTypeWorkspace, [helpstring("Project based storage")] eStorageTypeProject, } eStorageType; typedef [uuid(F81B7B36-96C2-4cfc-9BA5-47BE602C9506), helpstring("Check States enumeration")] enum eCheckState { [helpstring("Unchecked")] eCheckStateUnchecked, [helpstring("Checked")] eCheckStateChecked, [helpstring("Indeterminate")] eCheckStateIndeterminate, } eCheckState; typedef [uuid(6F5DA71B-1B86-437f-B5AF-55627D33A821), helpstring("Registered dialog result codes")] enum eDialogResult { [helpstring("None")] eDialogResultNone = -1, [helpstring("Cancel")] eDialogResultCancel, [helpstring("OK - positive")] eDialogResultOK, [helpstring("Yes - positive")] eDialogResultYes, [helpstring("No")] eDialogResultNo, [helpstring("Abort")] eDialogResultAbort, [helpstring("Retry - positive")] eDialogResultRetry, [helpstring("Continue - positive")] eDialogResultContinue, [helpstring("Close")] eDialogResultClose, [helpstring("Help")] eDialogResultHelp, [helpstring("Other")] eDialogResultOther, } eDialogResult; [propget, id(1), helpstring("Global settings object")] HRESULT Settings([out, retval] ISettings** ppSettings); [propget, id(2), helpstring("Active document object")] HRESULT ActiveDocument([out, retval] IDocument** ppDocument); [propget, id(3), helpstring("Open documents collection")] HRESULT Documents([out, retval] IDocuments** ppDocuments); [propget, id(4), helpstring("Active view object")] HRESULT ActiveView([out, retval] IView** ppView); [propget, id(5), helpstring("Main window handle")] HRESULT MainWindow([out, retval] HANDLE_PTR* phWnd); [propget, id(6), helpstring("Application version")] HRESULT Version([out, retval] BSTR* pstrVersion); [propget, id(7), helpstring("Full path and name of the executable")] HRESULT Path([out, retval] BSTR* pstrPath); [propget, id(8), helpstring("Project object")] HRESULT Project([out, retval] IProject** ppProject); [propget, id(9), helpstring("File System Manager object")] HRESULT FileSystemManager([out, retval] IFileSystemManager** ppManager); [propget, id(10), helpstring("Favorite Folders management object")] HRESULT FolderFavorites([out, retval] IFolderFavorites** ppFavoriteFolders); [propget, id(11), helpstring("Shell Object")] HRESULT Shell([out, retval] IShell** ppShellObj); [propget, id(12), helpstring("Pane list")] HRESULT Panes([out, retval] IPanes** ppPanes); [propget, id(13), helpstring("Command list. SAFEARRAY of BSTR")] HRESULT Commands([out, retval] VARIANT* ppCommands); [id(20), helpstring("Displays a message in a simple dialog box with the OK button")] HRESULT alert([in] BSTR strMessage); [id(21), helpstring("Displays a message in a simple dialog box with the OK button and the Cancel button")] HRESULT confirm([in] BSTR strMessage, [out, retval] VARIANT_BOOL* pvbAnswer); [id(22), helpstring("Displays a dialog box to enter a string with possible default value")] HRESULT prompt([in] BSTR strMessage, [in, defaultvalue("")] BSTR strDefault, [out, retval] BSTR* pstrAnswer ); [id(23), helpstring("Displays free style dialog box, based on XML layout description")] HRESULT dialog([in] BSTR strLayout, [out, optional] VARIANT* pParameters, [out, retval] BSTR* pstrAnswer ); [id(24), helpstring("Pauses execution for the specified time in milliseconds")] HRESULT sleep([in] long nMilliseconds); [id(25), helpstring("Sets status message")] HRESULT status([in] BSTR strMessage, [in, defaultvalue(eMessageTypeNone)] eMessageType eType); [id(26), helpstring("Sets progress state")] HRESULT progress([in] long nPercent, [in, defaultvalue("")] BSTR strText); [id(27), helpstring("Register Icon by Window Handle HANDLE_PTR")] HRESULT RegisterIcon([in] HANDLE_PTR hIcon, [out, retval] long* pnIcon); [id(28), helpstring("Register Icon by path")] HRESULT RegisterImagePath([in] BSTR sPath, [out, retval] long* pnIcon); [id(29), helpstring("Register inline Icon base64 encoded binary data")] HRESULT RegisterImageString([in] BSTR sIcon, [out, retval] long* pnIcon); [id(30), helpstring("Register Icon from Bitmap")] HRESULT RegisterImageBitmap([in] HANDLE_PTR hBitmap, [out, retval] long* pnIcon); [id(31), helpstring("Register new command")] HRESULT RegisterCommand([in] ICommandHandler* pCommandHandler, [in, defaultvalue("")] BSTR strShortcut, [out, retval] long* pnID); [id(32), helpstring("UnRegister a command")] HRESULT UnRegisterCommand([in] ICommandHandler* pCommandHandler); [id(33), helpstring("Search for existing command by name")] HRESULT FindCommand([in] BSTR strName, [out, defaultvalue(0)] long* pnID, [out, retval] ICommandHandler** ppCommandHandler); [id(34), helpstring("Execute existing command nCount times, with \"enabled\" check")] HRESULT ExecuteCommand([in] BSTR strName, [in, defaultvalue(1)] long nCount); [id(35), helpstring("Register listener for existing command by name")] HRESULT RegisterCommandListener([in] BSTR strName, [in] ICommandHandlerListener* pCommandHandlerListener); [id(36), helpstring("UnRegister listener for existing command by instance")] HRESULT UnRegisterCommandListener([in] BSTR strName, [in] ICommandHandlerListener* pCommandHandlerListener); [id(37), helpstring("Register a tool")] HRESULT RegisterTool([in] IToolHandler* pToolHandler, [out, defaultvalue(0)] long* pnID); [id(38), helpstring("UnRegister a tool")] HRESULT UnRegisterTool([in] IToolHandler* pToolHandler); [id(39), helpstring("Add auto correction item")] HRESULT AddAutoCorrection([in] BSTR strFrom, [in] BSTR strTo, [in] BSTR strLanguage); [id(40), helpstring("Remove auto correction item")] HRESULT RemoveAutoCorrection([in] BSTR strFrom, [in] BSTR strLanguage); [id(41), helpstring("Show options dialog")] HRESULT ShowOptions([in] BSTR strPage); [id(42), helpstring("Update all open documents")] HRESULT UpdateAll(); [id(43), helpstring("Returns storage object")] HRESULT GetStorage([in] eStorageType eType, [in] BSTR strName, [in] eAccessType access, [out, retval] ISettingsStorage** ppStorage); [id(44), helpstring("Creates initial storage object")] HRESULT Storage([out, retval] ISettingsStorage** ppStorage); [id(45), helpstring("Creates a new file and returns reference to it")] HRESULT NewFile([in, defaultvalue("")] BSTR strPath, [in, defaultvalue("")] BSTR strContent, [in, optional] VARIANT syntax, [in, defaultvalue(0)] long nEncoding, [out, retval] IDocument** ppDocument); [id(46), helpstring("Opens an existing file with or w/o file dialog and returns reference to it")] HRESULT OpenFile([in, defaultvalue("")] BSTR strPath, [in, defaultvalue(-1)] VARIANT_BOOL bInteractive, [in, optional] VARIANT syntax, [in, defaultvalue(0)] long nEncoding, [out, retval] IDocument** ppDocument); [id(47), helpstring("Returns opened document, if one exist")] HRESULT GetDocument([in] BSTR strPathName, [out, retval] IDocument** ppDocument); [id(48), helpstring("Navigates to position in document, opening it if necessary")] HRESULT Navigate([in] BSTR strPathName, [in]long nLine, [in]long nPos, [in, defaultvalue(-1)]VARIANT_BOOL bActivate, [out, retval] IDocument** ppDocument); [id(49), helpstring("Opens URL in the internal browser")] HRESULT OpenURL([in] BSTR strURL, [in, defaultvalue(0)] VARIANT_BOOL bNewWindow, [in, defaultvalue(-1)] VARIANT_BOOL bActivate ); [id(50), helpstring("Returns color associated with provided file name")] HRESULT GetFileNameColor([in] BSTR strPathName, [out, retval] OLE_COLOR* pColor); [id(51), helpstring("Return output pane by name")] HRESULT Output([in, defaultvalue("")] BSTR strPaneID, [in, defaultvalue(-1)] VARIANT_BOOL bActivate, [out, retval] IOutputPane** ppPane); [id(73), helpstring("Return list pane by name")] HRESULT List([in] BSTR strPaneID, [in, defaultvalue(-1)] VARIANT_BOOL bActivate, [out, retval] IListPane** ppPane); [id(52), helpstring("Return clipboard by name")] HRESULT Clipboard([in, defaultvalue("")] BSTR strName, [out, retval] IClipboard** ppClipboard); [id(53), helpstring("Finds text in specific file or directory files")] HRESULT FindInFiles([in] BSTR strText, [in] BSTR strPath, [in] long dwFlags, [in] long dwFlagsEx, [in] BSTR strInclude, [in] BSTR strExclude, [out, retval] IFileRanges** ppFileRanges); [id(54), helpstring("Finds all matches text in the document")] HRESULT FindInFilesAll([in] BSTR strText, [in] BSTR strPath, [in] long dwFlags, [in] long dwFlagsEx, [in] BSTR strInclude, [in] BSTR strExclude, [out, retval] IFilesRanges** ppFilesRanges); [id(70), helpstring("Find text in a way similar to interactive search")] HRESULT FindEx([in] BSTR strWhat, [in] eSearchType nType, [in] eSearchAction nAction, [in] long nSearchIn, [in] eSearchResultType nResult, [in] long dwFlags, [in, defaultvalue(0)] long dwFlagsEx); [id(71), helpstring("Replace text in a way similar to interactive search")] HRESULT ReplaceEx([in] BSTR strWhat, [in] BSTR strTo, [in] eSearchType nType, [in] eSearchAction nAction, [in] long nSearchIn, [in] eSearchResultType nResult, [in] long dwFlags, [in, defaultvalue(0)] long dwFlagsEx); [id(55), helpstring("Convert path to relative form")] HRESULT PathToRelative([in] BSTR strPathAbsolute, [out, retval] BSTR* pstrPathRelative); [id(56), helpstring("Convert path from relative to full form")] HRESULT PathFromRelative([in] BSTR strPathRelative, [in, defaultvalue(0)] VARIANT_BOOL bCheckExist, [out, retval] BSTR* pstrPathAbsolute); [id(83), helpstring("Resolves incomplete file name.")] HRESULT ResolveFileName([in] BSTR strBasePath, [in] BSTR strRelative, [in, defaultvalue(-1)] VARIANT_BOOL bCheckExist, [out, retval] BSTR* pstrAbsolutePath); [id(57), helpstring("Displays Application File Save/Open dialog. SAFEARRAY of BSTR")] HRESULT SelectFiles([in, defaultvalue(-1)] VARIANT_BOOL bOpenDialog, [in, defaultvalue("")] BSTR strDefExt, [in, defaultvalue("")] BSTR strFileName, [in, defaultvalue(0)] ULONG dwFlags, [in, defaultvalue("")] BSTR strFilters, [in, defaultvalue("")] BSTR strInitialDir, [out, retval] VARIANT* ppFiles); [id(58), helpstring("Close open tool pane")] HRESULT ClosePane([in] BSTR strPaneID, [in, defaultvalue(0)] IPane* pPane); [id(59), helpstring("Add new tool pane")] HRESULT AddPane([in] IPane* pPane); [id(74), helpstring("Find existging tool pane")] HRESULT FindPane([in, defaultvalue("")] BSTR strPaneID, [in, defaultvalue(-1)] VARIANT_BOOL bActivate, [out, retval] IPane** ppPane); [id(60), helpstring("Captures tool output")] HRESULT CaptureOutput([in] BSTR strCmdLine, [in, defaultvalue("")] BSTR strInitialDir, [in, defaultvalue("")] BSTR strExitCmd, [in, defaultvalue(0)] ULONG nCodePage, [out, retval] BSTR* pstrResult); [id(76), helpstring("User configurations. SAFEARRAY of BSTR")] HRESULT GetUserConfigurations([out, retval] VARIANT* ppUserConfigurations); [id(72), helpstring("User variables (global, workspace, project). SAFEARRAY of BSTR")] HRESULT GetUserVariables([in, optional, defaultvalue("")] BSTR strConfiguration, [out, retval] VARIANT* ppUserVariables); [id(75), helpstring("Read user variable value by name")] HRESULT GetUserVariable([in] BSTR strName, [in, optional, defaultvalue("")] BSTR strConfiguration, [out, retval] VARIANT* pVal); [id(61), helpstring("Creates Position Object")] HRESULT Position([in, defaultvalue(-1)] LINE_T nLine, [in, defaultvalue(-1)] POS_T nPosition, [out, retval] IPosition** ppPosition ); [id(62), helpstring("Creates Range Object")] HRESULT Range([in, defaultvalue(-1)] LINE_T nStartLine, [in, defaultvalue(-1)] POS_T nStartPos, [in, defaultvalue(-1)] LINE_T nEndLine, [in, defaultvalue(-1)] POS_T nEndPos, [out, retval] IRange** ppRange ); [id(63), helpstring("Creates Range Object from Positions")] HRESULT CreateRange([in] IPosition* pStartPosition, [in] IPosition* pEndPosition, [out, retval] IRange** ppRange ); [id(69), helpstring("Creates Point Object")] HRESULT Point([in, defaultvalue(-1)] long nX, [in, defaultvalue(-1)] long nY, [out, retval] IPoint** ppPoint ); [id(90), helpstring("Creates Style Object")] HRESULT Style([in] BSTR strID, [in, defaultvalue("")] BSTR strName, [in, defaultvalue("")] BSTR strDescription, [in, optional] VARIANT pSyntax, [out, retval] IStyle** ppStyle ); [id(64), helpstring("Registers new Undo type")] HRESULT AddUndoActionType([in] BSTR strDescription, [out, retval] long* pnActionType ); [id(65), helpstring("Returns description, associated with Undo Action type, if provided type registered")] HRESULT GetUndoActionDescription([in] long nActionType, [out, retval] BSTR* pstrDescription ); [id(66), helpstring("Search for existing Code Template handler")] HRESULT FindCodeTemplate([in] BSTR strKey, [in, optional] VARIANT syntax, [out, retval] ICodeTemplateHandler** ppCodeTemplateHandler ); [id(67), helpstring("Register Code Template handler")] HRESULT RegisterCodeTemplate([in] BSTR strKey, [in] ICodeTemplateHandler* pCodeTemplateHandler, [in, optional] VARIANT syntax ); [id(68), helpstring("UnRegister Code Template handler")] HRESULT UnRegisterCodeTemplate([in] BSTR strKey, [in, optional] VARIANT syntax ); [id(81), helpstring("Expand template code")] HRESULT ExpandTemplate([in] BSTR strChars, [in, defaultvalue(-1)] VARIANT_BOOL bInteractive, [in, defaultvalue(0)] VARIANT_BOOL bUrlEscape, [in, defaultvalue(-1)] VARIANT_BOOL bQuotePath, [in, defaultvalue("")] BSTR strInitialDir, [out, retval] BSTR* strResult); [id(86), helpstring("Register ShortKey handler")] HRESULT RegisterShortKey([in] VARIANT nKey, [in] IShortKeyHandler* pShortKeyHandler, [in, optional] VARIANT syntax ); [id(87), helpstring("UnRegister ShortKey handler")] HRESULT UnRegisterShortKey([in] VARIANT nKey, [in, optional] VARIANT syntax ); [id(89), helpstring("Search for existing ShortKey handler")] HRESULT FindShortKey([in] VARIANT nKey, [in, optional] VARIANT syntax, [out, retval] IShortKeyHandler** ppShortKeyHandler ); // utility functions [id(77), helpstring("Decodes a string of data which has been encoded using base-64 encoding into string or binary data array.")] HRESULT atob([in] BSTR strText, [in, optional, defaultvalue(0)] VARIANT_BOOL bAsBinaryArray, [out, retval] VARIANT* pData ); [id(78), helpstring("Creates a base-64 encoded ASCII string from a string of binary data.")] HRESULT btoa([in] VARIANT* data, [out, retval] BSTR* pstrText ); [id(79), helpstring("Creates a MD5 hash from string.")] HRESULT md5([in] BSTR strText, [out, retval] BSTR* pstrMD5 ); [id(80), helpstring("Reads file data as string or binary.")] HRESULT read_file([in] BSTR strFilePath, [in, optional, defaultvalue(0)] VARIANT_BOOL bAsBinaryArray, [out, retval] VARIANT* pData ); [id(82), helpstring("Save file data.")] HRESULT save_file([in] BSTR strFilePath, [in] VARIANT* pData, [in, optional, defaultvalue(0)] VARIANT_BOOL bAsBinaryArray); [id(84), helpstring("Generates new UUID.")] HRESULT uuid_generate([out, retval] BSTR* pstrGUID ); [id(85), helpstring("Converts Unicode text to ASCII.")] HRESULT wtoa([in] BSTR strText, [in, defaultvalue(0)] UINT nCodePage, [in, optional, defaultvalue(0)] VARIANT_BOOL bAsBinaryArray, [out, retval] VARIANT* pData ); }; [ object, uuid(1D9DCE9F-FAAC-47a4-9D61-0C1495A7D836), dual, helpstring("IDispatchHub Interface"), pointer_default(unique) ] interface IDispatchHub : IDispatch { [propget, id(1), helpstring("Returns Unique ID")] HRESULT Count([out, retval] ULONG* pnCount); [id(20), helpstring("Attach IDispatch Handler")] HRESULT AttachHandler(IDispatch* pHandler); [id(21), helpstring("Detach IDispatch Handler")] HRESULT DetachHandler(IDispatch* pHandler); }; [ object, uuid(347FFB55-DE07-404a-90B9-C6E418FAC941), helpstring("Script Command interface"), pointer_default(unique) ] interface IScriptCommandHandler : ICommandHandler { [propget, id(100), helpstring("Execute handler (function)")] HRESULT onExecute([out, retval] VARIANT* pAction); [propput, id(100), helpstring("Execute handler (function)")] HRESULT onExecute([in] VARIANT Action); [propget, id(101), helpstring("Dynamic update of Enable state handler")] HRESULT onEnabled([out, retval] VARIANT* pAction); [propput, id(101), helpstring("Dynamic update of Enable state handler")] HRESULT onEnabled([in] VARIANT Action); [propget, id(102), helpstring("Dynamic update of Title handler")] HRESULT onTitle([out, retval] VARIANT* pAction); [propput, id(102), helpstring("Dynamic update of Title handler")] HRESULT onTitle([in] VARIANT Action); [propget, id(103), helpstring("Dynamic update of Prompt handler")] HRESULT onPrompt([out, retval] VARIANT* pAction); [propput, id(103), helpstring("Dynamic update of Prompt handler")] HRESULT onPrompt([in] VARIANT Action); [propget, id(104), helpstring("Dynamic update of Checked state handler")] HRESULT onChecked([out, retval] VARIANT* pAction); [propput, id(104), helpstring("Dynamic update of Checked state handler")] HRESULT onChecked([in] VARIANT Action); [propget, id(105), helpstring("Dynamic update of Radio state handler")] HRESULT onRadio([out, retval] VARIANT* pAction); [propput, id(105), helpstring("Dynamic update of Radio state handler")] HRESULT onRadio([in] VARIANT Action); [propget, id(106), helpstring("Dynamic update of Image handler")] HRESULT onImage([out, retval] VARIANT* pAction); [propput, id(106), helpstring("Dynamic update of Image handler")] HRESULT onImage([in] VARIANT Action); [propget, id(107), helpstring("Dynamic update of TextColor handler")] HRESULT onTextColor([out, retval] VARIANT* pAction); [propput, id(107), helpstring("Dynamic update of TextColor handler")] HRESULT onTextColor([in] VARIANT Action); [propget, id(108), helpstring("Dynamic update of BackColor handler")] HRESULT onBackColor([out, retval] VARIANT* pAction); [propput, id(108), helpstring("Dynamic update of BackColor handler")] HRESULT onBackColor([in] VARIANT Action); }; [ object, uuid(BF88E141-62E7-4866-89BB-81BCA10F6140), dual, helpstring("Script Code Template Handler interface"), pointer_default(unique) ] interface IScriptCodeTemplateHandler : ICodeTemplateHandler { [propget, id(100), helpstring("GetDescription handler (function)")] HRESULT onDescription([out, retval] VARIANT* pAction); [propput, id(100), helpstring("GetDescription handler (function)")] HRESULT onDescription([in] VARIANT Action); [propget, id(101), helpstring("onGetText handler (function)")] HRESULT onText([out, retval] VARIANT* pAction); [propput, id(101), helpstring("onGetText handler (function)")] HRESULT onText([in] VARIANT Action); [propget, id(102), helpstring("onEnabled handler (function)")] HRESULT onEnabled([out, retval] VARIANT* pAction); [propput, id(102), helpstring("onEnabled handler (function)")] HRESULT onEnabled([in] VARIANT Action); [propget, id(103), helpstring("onExecute handler (function)")] HRESULT onExecute([out, retval] VARIANT* pAction); [propput, id(103), helpstring("onExecute handler (function)")] HRESULT onExecute([in] VARIANT Action); }; [ object, uuid(10663750-3859-4d22-A3D6-59FBFD81B866), dual, helpstring("Script ShortKey Handler interface"), pointer_default(unique) ] interface IScriptShortKeyHandler : IShortKeyHandler { [propget, id(100), helpstring("onExecute handler (function)")] HRESULT onExecute([out, retval] VARIANT* pAction); [propput, id(100), helpstring("onExecute handler (function)")] HRESULT onExecute([in] VARIANT Action); }; [ object, uuid(79C293F3-5AB7-405E-83E4-BDC272376DFC), dual, helpstring("Script Command Listener interface"), pointer_default(unique) ] interface IScriptCommandHandlerListener : ICommandHandlerListener { [propget, id(101), helpstring("onBeforeExecute handler (function)")] HRESULT onBeforeExecuteHandler([out, retval] VARIANT* pAction); [propput, id(101), helpstring("onBeforeExecute handler (function)")] HRESULT onBeforeExecuteHandler([in] VARIANT Action); [propget, id(102), helpstring("onAfterExecute handler (function)")] HRESULT onAfterExecuteHandler([out, retval] VARIANT* pAction); [propput, id(102), helpstring("onAfterExecute handler (function)")] HRESULT onAfterExecuteHandler([in] VARIANT Action); }; interface IScripts; [ object, uuid(56FD197A-A613-4de2-8248-7F1DBCEBC269), dual, helpstring("Script object interface"), pointer_default(unique) ] interface IScript : IDispatchEx { [propget, id(1), helpstring("Script name")] HRESULT Name([out, retval] BSTR* pstrVal); [propget, id(2), helpstring("Script path")] HRESULT Path([out, retval] BSTR* pstrVal); [propget, id(3), helpstring("Script language name")] HRESULT Language([out, retval] BSTR* pstrVal); [propget, id(4), helpstring("Time elapsed from script start")] HRESULT Elapsed([out, retval] long* pnVal); [propget, id(5), helpstring("Script Includes")] HRESULT Includes([out, retval] IScripts** ppScripts); [id(100), helpstring("Returns script statistics")] HRESULT GetStats([in] long nStatID, [out, retval] DWORD_PTR * pnVal); [id(101), helpstring("Resets script statistics")] HRESULT ResetStats(); }; [ object, pointer_default(unique), helpstring("IScript Collection Interface"), uuid(2EBC2481-3C3B-4da8-9B9E-B8282655DF3A), dual, nonextensible ] interface IScripts : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IScript** ppItem); [id(0x00000001), propget] HRESULT Count([out, retval] long * pVal); }; [ object, uuid(847F85B0-9242-4CD0-BC2F-A9977E618A1E), dual, helpstring("Script Application Object Interface"), pointer_default(unique) ] interface IScriptApplication : IApplication { [propget, id(1000), helpstring("Script name")] HRESULT ScriptName([out, retval] BSTR* pstrName); [propget, id(1001), helpstring("Script arguments")] HRESULT ScriptArguments([out, retval] VARIANT* pArguments); [propget, id(1002), helpstring("Returns WScript emulation object")] HRESULT WScript([out, retval] IWScript** ppWScript); [propget, id(1003), helpstring("Identifies the script mode")] HRESULT Interactive([out, retval] VARIANT_BOOL* pbVal); [propput, id(1003), helpstring("Sets the script mode")] HRESULT Interactive([in] VARIANT_BOOL bVal); [propget, id(1004), helpstring("Return active script object")] HRESULT Script([out, retval] IScript** ppScript); ////////////////////////////////////////////////////////////////////////// // Script implementation of IFrameEvents [propget, id(1050), helpstring("onDocumentListUpdate handler (function)")] HRESULT onDocumentListUpdate([out, retval] VARIANT* pAction); [propput, id(1050), helpstring("onDocumentListUpdate handler (function)")] HRESULT onDocumentListUpdate([in] VARIANT Action); [propget, id(1051), helpstring("onDocumentStateUpdate handler (function)")] HRESULT onDocumentStateUpdate([out, retval] VARIANT* pAction); [propput, id(1051), helpstring("onDocumentStateUpdate handler (function)")] HRESULT onDocumentStateUpdate([in] VARIANT Action); [propget, id(1052), helpstring("onDocumentNameChange handler (function)")] HRESULT onDocumentNameChange([out, retval] VARIANT* pAction); [propput, id(1052), helpstring("onDocumentNameChange handler (function)")] HRESULT onDocumentNameChange([in] VARIANT Action); [propget, id(1053), helpstring("onWorkspaceOpen handler (function)")] HRESULT onWorkspaceOpen([out, retval] VARIANT* pAction); [propput, id(1053), helpstring("onWorkspaceOpen handler (function)")] HRESULT onWorkspaceOpen([in] VARIANT Action); [propget, id(1054), helpstring("onWorkspaceClose handler (function)")] HRESULT onWorkspaceClose([out, retval] VARIANT* pAction); [propput, id(1054), helpstring("onWorkspaceClose handler (function)")] HRESULT onWorkspaceClose([in] VARIANT Action); [propget, id(1080), helpstring("onProjectLoad handler (function)")] HRESULT onProjectLoad([out, retval] VARIANT* pAction); [propput, id(1080), helpstring("onProjectLoad handler (function)")] HRESULT onProjectLoad([in] VARIANT Action); [propget, id(1081), helpstring("onProjectSave handler (function)")] HRESULT onProjectSave([out, retval] VARIANT* pAction); [propput, id(1081), helpstring("onProjectSave handler (function)")] HRESULT onProjectSave([in] VARIANT Action); [propget, id(1087), helpstring("onProjectChanged handler (function)")] HRESULT onProjectChanged([out, retval] VARIANT* pAction); [propput, id(1087), helpstring("onProjectChanged handler (function)")] HRESULT onProjectChanged([in] VARIANT Action); [propget, id(1082), helpstring("onJobFinished handler (function)")] HRESULT onJobFinished([out, retval] VARIANT* pAction); [propput, id(1082), helpstring("onJobFinished handler (function)")] HRESULT onJobFinished([in] VARIANT Action); [propget, id(1055), helpstring("onIdle handler (function)")] HRESULT onIdle([out, retval] VARIANT* pAction); [propput, id(1055), helpstring("onIdle handler (function)")] HRESULT onIdle([in] VARIANT Action); [propget, id(1056), helpstring("onCanCloseWorkspace handler (function)")] HRESULT onCanCloseWorkspace([out, retval] VARIANT* pAction); [propput, id(1056), helpstring("onCanCloseWorkspace handler (function)")] HRESULT onCanCloseWorkspace([in] VARIANT Action); [propget, id(1057), helpstring("onCanCloseApplication handler (function)")] HRESULT onCanCloseApplication([out, retval] VARIANT* pAction); [propput, id(1057), helpstring("onCanCloseApplication handler (function)")] HRESULT onCanCloseApplication([in] VARIANT Action); [propget, id(1058), helpstring("onModifiedChange handler (function)")] HRESULT onModifiedChange([out, retval] VARIANT* pAction); [propput, id(1058), helpstring("onModifiedChange handler (function)")] HRESULT onModifiedChange([in] VARIANT Action); [propget, id(1059), helpstring("onDocumentClose handler (function)")] HRESULT onDocumentClose([out, retval] VARIANT* pAction); [propput, id(1059), helpstring("onDocumentClose handler (function)")] HRESULT onDocumentClose([in] VARIANT Action); [propget, id(1060), helpstring("onDocumentOpen handler (function)")] HRESULT onDocumentOpen([out, retval] VARIANT* pAction); [propput, id(1060), helpstring("onDocumentOpen handler (function)")] HRESULT onDocumentOpen([in] VARIANT Action); [propget, id(1061), helpstring("onDocumentSave handler (function)")] HRESULT onDocumentSave([out, retval] VARIANT* pAction); [propput, id(1061), helpstring("onDocumentSave handler (function)")] HRESULT onDocumentSave([in] VARIANT Action); [propget, id(1062), helpstring("onNewDocument handler (function)")] HRESULT onNewDocument([out, retval] VARIANT* pAction); [propput, id(1062), helpstring("onNewDocument handler (function)")] HRESULT onNewDocument([in] VARIANT Action); [propget, id(1063), helpstring("onSyntaxChange handler (function)")] HRESULT onSyntaxChange([out, retval] VARIANT* pAction); [propput, id(1063), helpstring("onSyntaxChange handler (function)")] HRESULT onSyntaxChange([in] VARIANT Action); [propget, id(1064), helpstring("onCursorPosChange handler (function)")] HRESULT onCursorPosChange([out, retval] VARIANT* pAction); [propput, id(1064), helpstring("onCursorPosChange handler (function)")] HRESULT onCursorPosChange([in] VARIANT Action); [propget, id(1065), helpstring("onEditOperation handler (function)")] HRESULT onEditOperation([out, retval] VARIANT* pAction); [propput, id(1065), helpstring("onEditOperation handler (function)")] HRESULT onEditOperation([in] VARIANT Action); [propget, id(1066), helpstring("onTextInsert handler (function)")] HRESULT onTextInsert([out, retval] VARIANT* pAction); [propput, id(1066), helpstring("onTextInsert handler (function)")] HRESULT onTextInsert([in] VARIANT Action); [propget, id(1088), helpstring("onTextFormat handler (function)")] HRESULT onTextFormat([out, retval] VARIANT* pAction); [propput, id(1088), helpstring("onTextFormat handler (function)")] HRESULT onTextFormat([in] VARIANT Action); [propget, id(1095), helpstring("onTextDrop handler (function)")] HRESULT onTextDrop([out, retval] VARIANT* pAction); [propput, id(1095), helpstring("onTextDrop handler (function)")] HRESULT onTextDrop([in] VARIANT Action); [propget, id(1096), helpstring("onFileDrop handler (function)")] HRESULT onFileDrop([out, retval] VARIANT* pAction); [propput, id(1096), helpstring("onFileDrop handler (function)")] HRESULT onFileDrop([in] VARIANT Action); [propget, id(1093), helpstring("onQuickInfo handler (function)")] HRESULT onQuickInfo([out, retval] VARIANT* pAction); [propput, id(1093), helpstring("onQuickInfo handler (function)")] HRESULT onQuickInfo([in] VARIANT Action); [propget, id(1094), helpstring("onCompletion handler (function)")] HRESULT onCompletion([out, retval] VARIANT* pAction); [propput, id(1094), helpstring("onCompletion handler (function)")] HRESULT onCompletion([in] VARIANT Action); [propget, id(1067), helpstring("onSettingsChange handler (function)")] HRESULT onSettingsChange([out, retval] VARIANT* pAction); [propput, id(1067), helpstring("onSettingsChange handler (function)")] HRESULT onSettingsChange([in] VARIANT Action); [propget, id(1068), helpstring("onDocumentSwitch handler (function)")] HRESULT onDocumentSwitch([out, retval] VARIANT* pAction); [propput, id(1068), helpstring("onDocumentSwitch handler (function)")] HRESULT onDocumentSwitch([in] VARIANT Action); [propget, id(1069), helpstring("onFocusSet handler (function)")] HRESULT onFocusSet([out, retval] VARIANT* pAction); [propput, id(1069), helpstring("onFocusSet handler (function)")] HRESULT onFocusSet([in] VARIANT Action); [propget, id(1070), helpstring("onFocusLost handler (function)")] HRESULT onFocusLost([out, retval] VARIANT* pAction); [propput, id(1070), helpstring("onFocusLost handler (function)")] HRESULT onFocusLost([in] VARIANT Action); [propget, id(1071), helpstring("onScroll handler (function)")] HRESULT onScroll([out, retval] VARIANT* pAction); [propput, id(1071), helpstring("onScroll handler (function)")] HRESULT onScroll([in] VARIANT Action); [propget, id(1072), helpstring("onSelectionChange handler (function)")] HRESULT onSelectionChange([out, retval] VARIANT* pAction); [propput, id(1072), helpstring("onSelectionChange handler (function)")] HRESULT onSelectionChange([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IListPaneEvents [propget, id(1083), helpstring("onListContextMenu handler (function)")] HRESULT onListInitContextMenu([out, retval] VARIANT* pAction); [propput, id(1083), helpstring("onListContextMenu handler (function)")] HRESULT onListInitContextMenu([in] VARIANT Action); [propget, id(1084), helpstring("onListDoubleClick handler (function)")] HRESULT onListDoubleClick([out, retval] VARIANT* pAction); [propput, id(1084), helpstring("onListDoubleClick handler (function)")] HRESULT onListDoubleClick([in] VARIANT Action); [propget, id(1085), helpstring("onListCheck handler (function)")] HRESULT onListCheck([out, retval] VARIANT* pAction); [propput, id(1085), helpstring("onListCheck handler (function)")] HRESULT onListCheck([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IOutputPaneEvents [propget, id(1089), helpstring("IOutputPaneEvents::onInitContextMenu handler (function)")] HRESULT onOutputInitContextMenu([out, retval] VARIANT* pAction); [propput, id(1089), helpstring("IOutputPaneEvents::onInitContextMenu handler (function)")] HRESULT onOutputInitContextMenu([in] VARIANT Action); [propget, id(1090), helpstring("IOutputPaneEvents::onOutputNavigate handler (function)")] HRESULT onOutputNavigate([out, retval] VARIANT* pAction); [propput, id(1090), helpstring("IOutputPaneEvents::onOutputNavigate handler (function)")] HRESULT onOutputNavigate([in] VARIANT Action); [propget, id(1091), helpstring("IOutputPaneEvents::onToolStateChange handler (function)")] HRESULT onOutputToolStateChange([out, retval] VARIANT* pAction); [propput, id(1091), helpstring("IOutputPaneEvents::onToolStateChange handler (function)")] HRESULT onOutputToolStateChange([in] VARIANT Action); [propget, id(1092), helpstring("IOutputPaneEvents::onCommand handler (function)")] HRESULT onOutputCommand([out, retval] VARIANT* pAction); [propput, id(1092), helpstring("IOutputPaneEvents::onCommand handler (function)")] HRESULT onOutputCommand([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IUIEvents [propget, id(1073), helpstring("onMenuCreate handler (function)")] HRESULT onMenuCreate([out, retval] VARIANT* pAction); [propput, id(1073), helpstring("onMenuCreate handler (function)")] HRESULT onMenuCreate([in] VARIANT Action); [propget, id(1074), helpstring("onPopupCreate handler (function)")] HRESULT onPopupCreate([out, retval] VARIANT* pAction); [propput, id(1074), helpstring("onPopupCreate handler (function)")] HRESULT onPopupCreate([in] VARIANT Action); [propget, id(1086), helpstring("onUICreate handler (function)")] HRESULT onUICreate([out, retval] VARIANT* pAction); [propput, id(1086), helpstring("onUICreate handler (function)")] HRESULT onUICreate([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IToolBarHandler [propget, id(1075), helpstring("onInitToolbars handler (function)")] HRESULT onInitToolbars([out, retval] VARIANT* pAction); [propput, id(1075), helpstring("onInitToolbars handler (function)")] HRESULT onInitToolbars([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IMainMenuHandler [propget, id(1076), helpstring("onInitMainMenu handler (function)")] HRESULT onInitMainMenu([out, retval] VARIANT* pAction); [propput, id(1076), helpstring("onInitMainMenu handler (function)")] HRESULT onInitMainMenu([in] VARIANT Action); [propget, id(1077), helpstring("onMainSubmenuUpdate handler (function)")] HRESULT onMainSubmenuUpdate([out, retval] VARIANT* pAction); [propput, id(1077), helpstring("onMainSubmenuUpdate handler (function)")] HRESULT onMainSubmenuUpdate([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IContextMenuHandler [propget, id(1078), helpstring("onInitContextMenu handler (function)")] HRESULT onInitContextMenu([out, retval] VARIANT* pAction); [propput, id(1078), helpstring("onInitContextMenu handler (function)")] HRESULT onInitContextMenu([in] VARIANT Action); ////////////////////////////////////////////////////////////////////////// // Script implementation of IStatusBarHandler [propget, id(1079), helpstring("onInitStatusBar handler (function)")] HRESULT onInitStatusBar([out, retval] VARIANT* pAction); [propput, id(1079), helpstring("onInitStatusBar handler (function)")] HRESULT onInitStatusBar([in] VARIANT Action); [id(1100), helpstring("Forces script execution to stop at any time")] HRESULT quit([in, defaultvalue(0)] long intErrorCode); [id(1101), helpstring("Create a command")] HRESULT Command([in] BSTR strName, [in, defaultvalue("")] BSTR strTitle, [in, defaultvalue("")] BSTR strPrompt, [in, defaultvalue(-1)] long nImage, [in, optional] VARIANT onAction, [out, retval] IScriptCommandHandler** ppCommandHandler); [id(1102), helpstring("Registers Options page")] HRESULT RegisterOptionsPage([in] BSTR strTitle, [in] VARIANT onInit, [in] VARIANT onApply, [in, optional] VARIANT onContextHelp); [id(1103), helpstring("UnRegisters Options page")] HRESULT UnRegisterOptionsPage([in] BSTR strTitle); [id(1104), helpstring("Create a Code Template")] HRESULT CodeTemplate([in] VARIANT onExecute, [in, optional] VARIANT onText, [in, optional] VARIANT onDescription, [in, optional] VARIANT onEnabled, [out, retval] IScriptCodeTemplateHandler** ppCodeTemplateHandler); [id(1113), helpstring("Create a ShortKey")] HRESULT ShortKey([in] VARIANT onExecute, [out, retval] IScriptShortKeyHandler** ppShortKeyHandler); [id(1105), helpstring("Places version and copyright information about the script to engine")] HRESULT AddScriptInfo([in] BSTR strGUID, [in] BSTR strTitle, [in, defaultvalue("")] BSTR strVersion, [in, defaultvalue("")] BSTR strDescription, [in, defaultvalue("")] BSTR strAuthor, [in, defaultvalue("")] BSTR strEmail, [in, defaultvalue("")] BSTR strHomePage); [id(1106), helpstring("Helper to attach more than one handler to event plug")] HRESULT attachEvent([in] BSTR strEventName, [in] VARIANT pEventHandler, [out, retval] VARIANT_BOOL* pbSuccess); [id(1107), helpstring("Helper to detach handler from event plug")] HRESULT detachEvent([in] BSTR strEventName, [in] VARIANT pEventHandler, [out, retval] VARIANT_BOOL* pbSuccess); [id(1108), helpstring("Create a command listener")] HRESULT CommandListener([in] VARIANT onBeforeExecute, [in, optional] VARIANT onAfterExecute, [out, retval] IScriptCommandHandlerListener** ppCommandHandlerListener); [id(1114), helpstring("Calls the given callback after the given delay (in milliseconds)")] HRESULT delay_call([in] VARIANT onTimer, [in] long nDelay, [in, defaultvalue(0)] VARIANT_BOOL bRepeat, [out, retval] long* pnTimerID); [id(1115), helpstring("Cancels previously registered callback uisng ID received from delay_call.")] HRESULT cancel_call([in] long nTimerID, [out, retval] VARIANT_BOOL* pbSuccess); [id(1109), helpstring("Register macro translator")] HRESULT RegisterMacroTranslator([in] BSTR strName, [in] BSTR strTitle, [in] BSTR strPrompt, [in] long nImage, [in] VARIANT onTranslateMacroStep); [id(1110), helpstring("UnRegister macro translator")] HRESULT UnRegisterMacroTranslator([in] BSTR strName); [id(1111), helpstring("Dynamically import file into global scope.")] HRESULT __import([in] BSTR strPath, [in, defaultvalue(-1)] VARIANT_BOOL bOnce, [out, retval] VARIANT_BOOL* pbSuccess); [id(1112), helpstring("Dynamically include file into global scope.")] HRESULT __include([in] BSTR strPath, [out, retval] VARIANT_BOOL* pbSuccess); [id(1116), helpstring("Access external module (include) without exposing it to global scope.")] HRESULT __require([in] BSTR strPath, [out, retval] VARIANT* pModule); } /************************************************************************/ /* Event interfaces */ /************************************************************************/ [ object, uuid(7559B473-3D31-4d9e-99E8-872A9E4AC54C), helpstring("Frame event interface"), pointer_default(unique) ] interface IFrameEvents : IUnknown { [id(1), helpstring("Called when document list has been updated")] HRESULT onDocumentListUpdate(); [id(2), helpstring("Called when document state has been updated")] HRESULT onDocumentStateUpdate([in] IDocument* pDocument); [id(3), helpstring("Called when document name changed")] HRESULT onDocumentNameChange([in] BSTR pszOldName, [in] BSTR pszNewName, [in] VARIANT_BOOL bRename); [id(4), helpstring("Called after workspace has been loaded")] HRESULT onWorkspaceOpen([in] VARIANT_BOOL bSaveState); [id(5), helpstring("Called before workspace has been closed")] HRESULT onWorkspaceClose([in] VARIANT_BOOL bSaveState); [id(6), helpstring("Called to determine if workspace can be closed")] HRESULT CanCloseWorkspace([out, retval] VARIANT_BOOL* pbResult); [id(7), helpstring("Called to determine if application can be closed")] HRESULT CanCloseApplication([out, retval] VARIANT_BOOL* pbResult); [id(8), helpstring("Called on Application Idle to process background jobs synchronously")] HRESULT onIdle(); [id(9), helpstring("Called when modified state of the document has been changed")] HRESULT onModifiedChange([in] IDocument* pDocument, [in] VARIANT_BOOL bModified); [id(10), helpstring("Called when before document closed")] HRESULT onDocumentClose([in] IDocument* pDocument); [id(11), helpstring("Called after document opened")] HRESULT onDocumentOpen([in] IDocument* pDocument); [id(12), helpstring("Called after document saved")] HRESULT onDocumentSave([in] IDocument* pDocument); [id(13), helpstring("Called after document created")] HRESULT onNewDocument([in] IDocument* pDocument); [id(14), helpstring("Called after document created")] HRESULT onSyntaxChange([in]IDocument* pDocument, [in] ISyntax* pOldSyntax); [id(15), helpstring("Called when cursor position in active document changed")] HRESULT onCursorPosChange([in] IView* pView, [in] IPosition* pPos); [id(16), helpstring("Called after text has been inserted or typed")] HRESULT onTextInsert([in] IDocument* pDocument, [in] IPosition* pPos, [in] BSTR strText, [in] HE_ACTION action); [id(25), helpstring("Called when text should be formatted")] HRESULT onTextFormat([in] IDocument* pDocument, [in] IRange* pRange, [in, defaultvalue(-1)] VARIANT_BOOL bIndent, [out, retval] VARIANT_BOOL* pbResult); [id(26), helpstring("Called on QuickInfo request, return FALSE for default processing")] HRESULT onQuickInfo([in] IView* pView, [in] IRange* pSelection, [out, retval] VARIANT_BOOL* pbProcessed); [id(27), helpstring("Called on Completion request, return FALSE for default processing")] HRESULT onCompletion([in] IView* pView, [in] IRange* pSelection, [out, retval] VARIANT_BOOL* pbProcessed); [id(17), helpstring("Called after text has been inserted or typed")] HRESULT onEditOperation([in] IDocument* pDocument, [in] HE_ACTION action); [id(18), helpstring("Called after global settings change")] HRESULT onSettingsChange([in] ISettings* pSettings); [id(19), helpstring("Called when active document has been changed")] HRESULT onDocumentSwitch([in] IDocument* pActiveDocument); [id(20), helpstring("Called when focus set to a document")] HRESULT onFocusSet([in] IView* pView); [id(21), helpstring("Called when focus set removed from the document")] HRESULT onFocusLost([in] IView* pView); [id(22), helpstring("Called after scroll of the view")] HRESULT onScroll([in] IView* pView, [in] ULONG nScrollX, [in] ULONG nScrollY); [id(23), helpstring("Called after change of selection in active view")] HRESULT onSelectionChange([in] IView* pView, [in] IRange* pSelection, [in] VARIANT_BOOL bBlockMode); [id(24), helpstring("Called after background worker job has been finished")] HRESULT onJobFinished([in] IDocument* pDocument, [in] BSTR sJobID, [in] LINE_T nLineFrom, [in] LINE_T nLineTo); [id(28), helpstring("Called when file(s) dropped on document or empty frame")] HRESULT onFileDrop([in] IView* pView, [in] IPosition* pDropPos, [in] long nDropEffect, [in] VARIANT pFiles, [out, retval] VARIANT_BOOL* pbProcessed); [id(29), helpstring("Called when text dropped on document or empty frame")] HRESULT onTextDrop([in] IView* pView, [in] IPosition* pDropPos, [in] long nDropEffect, [in] BSTR sText, [out, retval] VARIANT_BOOL* pbProcessed); }; [ object, uuid(0D357297-2EF7-457d-BF7A-CC6959F6DFCC), helpstring("Project Event interface"), pointer_default(unique) ] interface IProjectEvents : IUnknown { [id(1), helpstring("Called after project has been loaded")] HRESULT onProjectLoad([in] IProject* pProject); [id(2), helpstring("Called before project has been saved")] HRESULT onProjectSave([in] IProject* pProject); [id(3), helpstring("Called before project has been saved")] HRESULT onProjectChanged([in] IProject* pProject); }; [ object, uuid(7413969E-D6A8-449d-BA3B-1675919726B0), helpstring("Output Pane UI Event interface"), pointer_default(unique) ] interface IOutputPaneEvents : IUnknown { typedef [uuid(3A4B2D23-CACE-43a5-B615-4581DCA1F8BF), helpstring("Tool States")] enum eToolState { [helpstring("No tool has been captured")] eToolStateNone, [helpstring("Tool has been started")] eToolStateStarted, [helpstring("Tool has been canceled")] eToolStateCanceled, [helpstring("Tool has been finished")] eToolStateFinished, } eToolState; [id(1), helpstring("Called when user calls context menu on output pane")] HRESULT onInitContextMenu([in] IOutputPane* pPane, [in] IMenuObject* pMenu, [in] long nLine, [in] long nColumn, [out, retval] VARIANT_BOOL* pbResult); [id(2), helpstring("Called when user does a double click on the line")] HRESULT onNavigate([in] IOutputPane* pPane, [in] long nLine, [in] long nColumn, [out, retval] VARIANT_BOOL* pbResult); [id(3), helpstring("Called when state of captured tool changed")] HRESULT onToolStateChange([in] IOutputPane* pPane, [in] eToolState nState); [id(4), helpstring("Called when tool started")] HRESULT onCommand([in] IOutputPane* pPane, [in] BSTR strCommand, [out, retval] VARIANT_BOOL* pbResult); }; [ object, uuid(F5B566B6-9F62-4edc-A748-75194DDC4934), helpstring("LisPane UI Event interface"), pointer_default(unique) ] interface IListPaneEvents : IUnknown { [id(1), helpstring("Called when user calls context menu on list pane")] HRESULT onInitContextMenu([in] IListPane* pPane, [in] IMenuObject* pMenu, [in] IListItem* pItem, [out, retval] VARIANT_BOOL* pbResult); [id(2), helpstring("Called when user does a double click on the item")] HRESULT onDoubleClick([in] IListPane* pPane, [in] IListItem* pItem, [out, retval] VARIANT_BOOL* pbResult); [id(3), helpstring("Called when user check some the item")] HRESULT onCheck([in] IListPane* pPane, [in] IListItem* pItem, [out, retval] VARIANT_BOOL* pbResult); }; [ object, uuid(1B40F0F6-0AFD-4db8-A5C9-B919CB6F8F76), helpstring("UI Event interface"), pointer_default(unique) ] interface IUIEvents : IUnknown { [id(1), helpstring("Called when toolbar menu should created")] HRESULT onMenuCreate([in] BSTR sCommand, [in] IMenuObject* pMenu); [id(2), helpstring("Called when toolbar popup window should created")] HRESULT onPopupCreate([in] BSTR sCommand, [out, retval] HANDLE_PTR* ppPopup); [id(3), helpstring("Called when it is safe to create an additional UI")] HRESULT onUICreate(); }; /************************************************************************/ /* WScript emulation objects */ /************************************************************************/ [ object, pointer_default(unique), helpstring("IWshArguments Interface"), uuid(D98D7DE1-5A28-46df-B333-8D78FEA1A5E0), dual, nonextensible ] interface IWshArguments : IDispatchEx { [id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), propget, helpstring("Exposes a specified item from a collection")] HRESULT Item([in] long Index, [out, retval] VARIANT* pItem); [id(0x00000010), propget, helpstring("Returns a collection of named arguments")] HRESULT Named([out, retval] IWshArguments** ppArguments); [id(0x00000011), propget, helpstring("Returns a collection of unnamed arguments")] HRESULT Unnamed([out, retval] IWshArguments** ppArguments); [id(0x00000001), propget, helpstring("Returns the number of command-line parameters belonging to a script (the number of items in an argument's collection")] HRESULT Count([out, retval] long * pVal); [id(0x00000002), helpstring("Makes a script self-documenting by displaying information about how it should be used")] HRESULT ShowUsage(); }; [ uuid(14EA6C83-CFC1-4CDC-A1C1-8188237C4439), hidden, dual, nonextensible, helpstring("WScript ITextStream Emulation object interface"), pointer_default(unique) ] interface IWshTextStream : IDispatchEx { [id(0x00002710), propget, helpstring("Read-only property that returns the current line number in a TextStream file")] HRESULT Line([out, retval] long* Line); [id(0xfffffdef), propget, helpstring("Read-only property that returns the column number of the current character position in a TextStream file")] HRESULT Column([out, retval] long* Column); [id(0x00002712), propget, helpstring("Returns true if the file pointer is at the end of a TextStream file; false if it is not. Read-only")] HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS); [id(0x00002713), propget, helpstring("Returns true if the file pointer is positioned immediately before the end-of-line marker in a TextStream file; false if it is not. Read-only")] HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL); [id(0x00002714), helpstring("Reads a specified number of characters from a TextStream file and returns the resulting string")] HRESULT Read([in] long Characters, [out, retval] BSTR* Text); [id(0x00002715), helpstring("Reads an entire line (up to, but not including, the newline character) from a TextStream file and returns the resulting string")] HRESULT ReadLine([out, retval] BSTR* Text); [id(0x00002716), helpstring("Reads an entire TextStream file and returns the resulting string")] HRESULT ReadAll([out, retval] BSTR* Text); [id(0x00002717), helpstring("Writes a specified string to a TextStream file")] HRESULT Write([in] BSTR Text); [id(0x00002718), helpstring("Writes a specified string and newline character to a TextStream file")] HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text); [id(0x00002719), helpstring("Writes a specified number of newline characters to a TextStream file")] HRESULT WriteBlankLines([in] long Lines); [id(0x0000271a), helpstring("Skips a specified number of characters when reading a TextStream file")] HRESULT Skip([in] long Characters); [id(0x0000271b), helpstring("Skips a complete line when reading a TextStream file")] HRESULT SkipLine(); [id(0x0000271c), helpstring("Closes an open TextStream file")] HRESULT Close(); }; [ object, uuid(843BF5FA-B144-455a-AB5C-7F49E5407A8A), dual, helpstring("WScript Emulation Object Interface"), pointer_default(unique) ] interface IWScript : IDispatchEx { [propget, id(1), helpstring("Returns the WshArguments object (a collection of arguments)")] HRESULT Arguments([out, retval] IWshArguments** ppArguments); [propget, id(2), helpstring("Returns the HippoEDIT build version number")] HRESULT BuildVersion([out, retval] long* pnBuildVer); //5.6.6626. [propget, id(3), helpstring("Returns the fully qualified path of the host executable")] HRESULT FullName([out, retval] BSTR* psVal); //C:\WINNT\System32\cscript.exe [propget, id(4), helpstring("Identifies the script mode")] HRESULT Interactive([out, retval] VARIANT_BOOL* pbVal); [propput, id(4), helpstring("Sets the script mode")] HRESULT Interactive([in] VARIANT_BOOL bVal); [propget, id(5), helpstring("Returns the fully qualified path of the host executable")] HRESULT Name([out, retval] BSTR* psVal); //cscript.exe [propget, id(6), helpstring("Returns the name of the directory containing the host executable")] HRESULT Path([out, retval] BSTR* psVal); //C:\WINNT\System32\ [propget, id(7), helpstring("Returns the full path of the currently running script")] HRESULT ScriptFullName([out, retval] BSTR* psVal); //C:\Work\Test.js [propget, id(8), helpstring("Returns the file name of the currently running script")] HRESULT ScriptName([out, retval] BSTR* psVal); //Test.js [propget, id(9), helpstring("Exposes the write-only error output stream for the current script")] HRESULT StdErr([out, retval] IWshTextStream** ppts); [propget, id(10), helpstring("Exposes the read-only input stream for the current script")] HRESULT StdIn([out, retval] IWshTextStream** ppts); [propget, id(11), helpstring("Exposes the write-only output stream for the current script")] HRESULT StdOut([out, retval] IWshTextStream** ppts); [propget, id(12), helpstring("Returns the version of Windows Script Host Emulator")] HRESULT Version([out, retval] BSTR* psVal); //5.6 [id(20), helpstring("Connects the object's event sources to functions with a given prefix")] HRESULT ConnectObject([in] IDispatch* pobjEventSource, [in] BSTR strPrefix); [id(21), helpstring("Creates a COM object")] HRESULT CreateObject([in] BSTR strProgID, [in, defaultvalue("")] BSTR strPrefix, [out, retval]IDispatch** ppObject); [id(22), helpstring("Disconnects a connected object's event sources")] HRESULT DisconnectObject([in] IDispatch* pObj); [id(23), helpstring("Outputs text to either a message box or the command console window"), vararg] HRESULT Echo([in] SAFEARRAY(VARIANT)* params); [id(24), helpstring("Retrieves an existing object with the specified ProgID, or creates a new one from a file")] HRESULT GetObject([in] BSTR strPathname, [in, defaultvalue("")] BSTR strProgID, [in, defaultvalue("")] BSTR strPrefix, [out, retval]IDispatch** ppObject); [id(25), helpstring("Forces script execution to stop at any time")] HRESULT Quit([in, defaultvalue(0)] long intErrorCode); [id(26), helpstring("Forces script execution to stop at any time")] HRESULT Sleep([in] long intTime); } [ object, uuid(33F3A727-D6DA-45b5-A1A4-953F4E9F7958), dual, helpstring("Shell Object Interface"), pointer_default(unique) ] interface IShell : IDispatch { typedef [uuid(41E2F055-0ACB-4e22-A733-DEFF7290576F), helpstring("Mouse events")] enum eMouseEvent { [helpstring("mouse move")] eMouseEventMove = 0x0001, [helpstring("left button down")] eMouseEventLeftDown = 0x0002, [helpstring("left button up")] eMouseEventLeftUp = 0x0004, [helpstring("right button down")] eMouseEventRightDown = 0x0008, [helpstring("right button up")] eMouseEventRightUp = 0x0010, [helpstring("middle button down")] eMouseEventMiddleDown = 0x0020, [helpstring("middle button up")] eMouseEventMiddleUp = 0x0040, [helpstring("x button down")] eMouseEventXDown = 0x0080, [helpstring("x button up")] eMouseEventXUp = 0x0100, [helpstring("wheel button rolled")] eMouseEventWhell = 0x0800, [helpstring("hwheel button rolled")]eMouseEventHWhell = 0x01000 } eMouseEvent; typedef [uuid(8CEE0B61-5732-4D27-A50D-894C2D07031A), helpstring("Keyboard event flag")] enum eKeyboardEventFlag { [helpstring("If specified, the scan code was preceded by a prefix byte that has the value 0xE0 (224)")] eKeyboardEventFlagExtendedKey = 0x0001, [helpstring("If specified, the key is being released. If not specified, the key is being pressed.")] eKeyboardEventFlagKeyUp = 0x0002, [helpstring("If specified, the system synthesizes a VK_PACKET keystroke. The wVk parameter must be zero. This flag can only be combined with the eKeyboardEventFlagKeyUp flag.")] eKeyboardEventFlagUnicode = 0x0004, [helpstring("If specified, wScan identifies the key and wVk is ignored. ")] eKeyboardEventFlagScanCode = 0x0008 } eKeyboardEventFlag; [id(20), helpstring("Emulates Mouse Event")] HRESULT MouseEvent([in] eMouseEvent nCommand, [in] UINT data, [in, optional] VARIANT mouse_position); [id(21), helpstring("Emulates Keyboard Event")] HRESULT KeyboardEvent([in] char nVirtualCode, [in] char nScanCode, [in] eKeyboardEventFlag dwFlags, [in, defaultvalue(0)] ULONG dwExtraInfo ); [id(22), helpstring("Sends Window Message")] HRESULT SendMessage([in] HANDLE_PTR hWnd, [in] UINT nCommand, [in] UINT wParam, [in] UINT lParam, [out, retval] LONG* pnResult); } };