home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / objmodel / textauto.h < prev    next >
C/C++ Source or Header  |  1998-05-05  |  13KB  |  372 lines

  1. // Microsoft Visual Studio Object Model
  2. // Copyright (C) 1996-1997 Microsoft Corporation
  3. // All rights reserved.
  4.  
  5. /////////////////////////////////////////////////////////////////////////////
  6. // textauto.h
  7.  
  8. // Declaration of dual interfaces to objects found in the type library
  9. //  VISUAL STUDIO 97 TEXT EDITOR (SharedIDE\bin\devedit.pkg)
  10.  
  11. #ifndef __TEXTAUTO_H__
  12. #define __TEXTAUTO_H__
  13.  
  14. #include "appauto.h"
  15. #include "textdefs.h"
  16.  
  17. #ifndef BEGIN_INTERFACE
  18. #define BEGIN_INTERFACE
  19. #endif
  20.  
  21. /////////////////////////////////////////////////////////////////////////////
  22. // Interfaces declared in this file:
  23.  
  24. //IGenericDocument
  25.     interface ITextDocument;
  26.  
  27. interface ITextSelection;
  28.  
  29. //IGenericWindow
  30.     interface ITextWindow;
  31.  
  32. interface ITextEditor;
  33.  
  34.  
  35. // to remove any redefinitions by the Windows headers
  36. #undef FindText
  37. #undef ReplaceText
  38.  
  39.  
  40. /////////////////////////////////////////////////////////////////////////////
  41. // TextDocument object
  42.  
  43. // ITextDocument interface
  44.  
  45. #undef INTERFACE
  46. #define INTERFACE ITextDocument
  47.  
  48. DECLARE_INTERFACE_(ITextDocument, IGenericDocument)
  49. {
  50. BEGIN_INTERFACE
  51. #ifndef NO_BASEINTERFACE_FUNCS
  52.  
  53.     /* IUnknown methods */
  54.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  55.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  56.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  57.  
  58.     /* IDispatch methods */
  59.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  60.  
  61.     STDMETHOD(GetTypeInfo)(
  62.       THIS_
  63.       UINT itinfo,
  64.       LCID lcid,
  65.       ITypeInfo FAR* FAR* pptinfo) PURE;
  66.  
  67.     STDMETHOD(GetIDsOfNames)(
  68.       THIS_
  69.       REFIID riid,
  70.       OLECHAR FAR* FAR* rgszNames,
  71.       UINT cNames,
  72.       LCID lcid,
  73.       DISPID FAR* rgdispid) PURE;
  74.  
  75.     STDMETHOD(Invoke)(
  76.       THIS_
  77.       DISPID dispidMember,
  78.       REFIID riid,
  79.       LCID lcid,
  80.       WORD wFlags,
  81.       DISPPARAMS FAR* pdispparams,
  82.       VARIANT FAR* pvarResult,
  83.       EXCEPINFO FAR* pexcepinfo,
  84.       UINT FAR* puArgErr) PURE;
  85.  
  86.     /* IGenericDocument methods */
  87.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pName) PURE;
  88.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* pName) PURE;
  89.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppApplication) PURE;
  90.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppParent) PURE;
  91.     STDMETHOD(get_Path)(THIS_ BSTR FAR* pPath) PURE;
  92.     STDMETHOD(get_Saved)(THIS_ VARIANT_BOOL FAR* pSaved) PURE;
  93.     STDMETHOD(get_ActiveWindow)(THIS_ IDispatch * FAR* ppWindow) PURE;
  94.     STDMETHOD(get_ReadOnly)(THIS_ VARIANT_BOOL FAR* pReadOnly) PURE;
  95.     STDMETHOD(put_ReadOnly)(THIS_ VARIANT_BOOL ReadOnly) PURE;
  96.     STDMETHOD(get_Type)(THIS_ BSTR FAR* pType) PURE;
  97.     STDMETHOD(get_Windows)(THIS_ IDispatch * FAR* ppWindows) PURE;
  98.     STDMETHOD(put_Active)(THIS_ VARIANT_BOOL bActive) PURE;
  99.     STDMETHOD(get_Active)(THIS_ VARIANT_BOOL FAR* pbActive) PURE;
  100.     STDMETHOD(NewWindow)(THIS_ IDispatch * FAR* ppWindow) PURE;
  101.     STDMETHOD(Save)(THIS_ VARIANT vFilename, VARIANT vBoolPrompt, DsSaveStatus FAR* pSaved) PURE;
  102.     STDMETHOD(Undo)(THIS_ VARIANT_BOOL FAR* pSuccess) PURE;
  103.     STDMETHOD(Redo)(THIS_ VARIANT_BOOL FAR* pSuccess) PURE;
  104.     STDMETHOD(PrintOut)(THIS_ VARIANT_BOOL FAR* pSuccess) PURE;
  105.     STDMETHOD(Close)(THIS_ VARIANT vSaveChanges, DsSaveStatus FAR* pSaved) PURE;
  106.     STDMETHOD(Reserved1)(THIS) PURE;
  107.     STDMETHOD(Reserved2)(THIS) PURE;
  108.     STDMETHOD(Reserved3)(THIS) PURE;
  109.     STDMETHOD(Reserved4)(THIS) PURE;
  110.     STDMETHOD(Reserved5)(THIS) PURE;
  111.     STDMETHOD(Reserved6)(THIS) PURE;
  112.     STDMETHOD(Reserved7)(THIS) PURE;
  113.     STDMETHOD(Reserved8)(THIS) PURE;
  114.     STDMETHOD(Reserved9)(THIS) PURE;
  115.     STDMETHOD(Reserved10)(THIS) PURE;
  116. #endif
  117.  
  118.     /* ITextDocument methods */
  119.     STDMETHOD(get_Selection)(THIS_ IDispatch * FAR* ppSelection) PURE;
  120.     STDMETHOD(put_IndentSize)(THIS_ long Size) PURE;
  121.     STDMETHOD(get_IndentSize)(THIS_ long FAR* pSize) PURE;
  122.     STDMETHOD(put_TabSize)(THIS_ long Size) PURE;
  123.     STDMETHOD(get_TabSize)(THIS_ long FAR* pSize) PURE;
  124.     STDMETHOD(put_Language)(THIS_ BSTR Language) PURE;
  125.     STDMETHOD(get_Language)(THIS_ BSTR FAR* pLanguage) PURE;
  126.     STDMETHOD(ReplaceText)(THIS_ BSTR FindText, BSTR ReplaceText, VARIANT Flags, VARIANT_BOOL FAR* pbRetVal) PURE;
  127.     STDMETHOD(ClearBookmarks)(THIS) PURE;
  128.     STDMETHOD(MarkText)(THIS_ BSTR FindText, VARIANT Flags, VARIANT_BOOL FAR* pbRetVal) PURE;
  129. };
  130.  
  131.  
  132. /////////////////////////////////////////////////////////////////////////////
  133. // TextSelection object
  134.  
  135. // ITextSelection interface
  136.  
  137. #undef INTERFACE
  138. #define INTERFACE ITextSelection
  139.  
  140. DECLARE_INTERFACE_(ITextSelection, IDispatch)
  141. {
  142. BEGIN_INTERFACE
  143. #ifndef NO_BASEINTERFACE_FUNCS
  144.  
  145.     /* IUnknown methods */
  146.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  147.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  148.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  149.  
  150.     /* IDispatch methods */
  151.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  152.  
  153.     STDMETHOD(GetTypeInfo)(
  154.       THIS_
  155.       UINT itinfo,
  156.       LCID lcid,
  157.       ITypeInfo FAR* FAR* pptinfo) PURE;
  158.  
  159.     STDMETHOD(GetIDsOfNames)(
  160.       THIS_
  161.       REFIID riid,
  162.       OLECHAR FAR* FAR* rgszNames,
  163.       UINT cNames,
  164.       LCID lcid,
  165.       DISPID FAR* rgdispid) PURE;
  166.  
  167.     STDMETHOD(Invoke)(
  168.       THIS_
  169.       DISPID dispidMember,
  170.       REFIID riid,
  171.       LCID lcid,
  172.       WORD wFlags,
  173.       DISPPARAMS FAR* pdispparams,
  174.       VARIANT FAR* pvarResult,
  175.       EXCEPINFO FAR* pexcepinfo,
  176.       UINT FAR* puArgErr) PURE;
  177. #endif
  178.  
  179.     /* ITextSelection methods */
  180.     STDMETHOD(put_Text)(THIS_ BSTR newText) PURE;
  181.     STDMETHOD(get_Text)(THIS_ BSTR FAR* pText) PURE;
  182.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppApp) PURE;
  183.     STDMETHOD(get_CurrentLine)(THIS_ long FAR* plLine) PURE;
  184.     STDMETHOD(get_CurrentColumn)(THIS_ long FAR* plCol) PURE;
  185.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppParent) PURE;
  186.     STDMETHOD(get_BottomLine)(THIS_ long FAR* plLine) PURE;
  187.     STDMETHOD(get_TopLine)(THIS_ long FAR* plLine) PURE;
  188.     STDMETHOD(Delete)(THIS_ VARIANT Count) PURE;
  189.     STDMETHOD(SelectLine)(THIS) PURE;
  190.     STDMETHOD(Backspace)(THIS_ VARIANT Count) PURE;
  191.     STDMETHOD(StartOfDocument)(THIS_ VARIANT Extend) PURE;
  192.     STDMETHOD(Copy)(THIS) PURE;
  193.     STDMETHOD(Cut)(THIS) PURE;
  194.     STDMETHOD(Paste)(THIS) PURE;
  195.     STDMETHOD(EndOfDocument)(THIS_ VARIANT Extend) PURE;
  196.     STDMETHOD(SelectAll)(THIS) PURE;
  197.     STDMETHOD(Tabify)(THIS) PURE;
  198.     STDMETHOD(Untabify)(THIS) PURE;
  199.     STDMETHOD(Indent)(THIS_ VARIANT Reserved) PURE;
  200.     STDMETHOD(Unindent)(THIS_ VARIANT Reserved) PURE;
  201.     STDMETHOD(CharLeft)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  202.     STDMETHOD(CharRight)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  203.     STDMETHOD(LineUp)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  204.     STDMETHOD(LineDown)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  205.     STDMETHOD(PageUp)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  206.     STDMETHOD(PageDown)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  207.     STDMETHOD(WordLeft)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  208.     STDMETHOD(WordRight)(THIS_ VARIANT Extend, VARIANT Count) PURE;
  209.     STDMETHOD(EndOfLine)(THIS_ VARIANT Extend) PURE;
  210.     STDMETHOD(StartOfLine)(THIS_ VARIANT MoveTo, VARIANT Extend) PURE;
  211.     STDMETHOD(SmartFormat)(THIS) PURE;
  212.     STDMETHOD(ChangeCase)(THIS_ DsCaseOptions Type) PURE;
  213.     STDMETHOD(DeleteWhitespace)(THIS_ VARIANT Direction) PURE;
  214.     STDMETHOD(Cancel)(THIS) PURE;
  215.     STDMETHOD(GoToLine)(THIS_ long Line, VARIANT Select) PURE;
  216.     STDMETHOD(MoveTo)(THIS_ long Line, long Column, VARIANT Extend) PURE;
  217.     STDMETHOD(FindText)(THIS_ BSTR FindString, VARIANT Flags, VARIANT_BOOL FAR* pbRet) PURE;
  218.     STDMETHOD(PreviousBookmark)(THIS_ VARIANT_BOOL FAR* pbRet) PURE;
  219.     STDMETHOD(NextBookmark)(THIS_ VARIANT_BOOL FAR* pbRet) PURE;
  220.     STDMETHOD(SetBookmark)(THIS) PURE;
  221.     STDMETHOD(ClearBookmark)(THIS_ VARIANT_BOOL FAR* pbRet) PURE;
  222.     STDMETHOD(NewLine)(THIS_ VARIANT Reserved) PURE;
  223.     STDMETHOD(ReplaceText)(THIS_ BSTR FindText, BSTR ReplaceText, VARIANT Flags, VARIANT_BOOL FAR* pbRetVal) PURE;
  224.     STDMETHOD(DestructiveInsert)(THIS_ BSTR szText) PURE;
  225. };
  226.  
  227.  
  228. /////////////////////////////////////////////////////////////////////////////
  229. // TextWindow object
  230.  
  231. // ITextWindow interface
  232.  
  233. #undef INTERFACE
  234. #define INTERFACE ITextWindow
  235.  
  236. DECLARE_INTERFACE_(ITextWindow, IGenericWindow)
  237. {
  238. BEGIN_INTERFACE
  239. #ifndef NO_BASEINTERFACE_FUNCS
  240.  
  241.     /* IUnknown methods */
  242.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  243.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  244.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  245.  
  246.     /* IDispatch methods */
  247.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  248.  
  249.     STDMETHOD(GetTypeInfo)(
  250.       THIS_
  251.       UINT itinfo,
  252.       LCID lcid,
  253.       ITypeInfo FAR* FAR* pptinfo) PURE;
  254.  
  255.     STDMETHOD(GetIDsOfNames)(
  256.       THIS_
  257.       REFIID riid,
  258.       OLECHAR FAR* FAR* rgszNames,
  259.       UINT cNames,
  260.       LCID lcid,
  261.       DISPID FAR* rgdispid) PURE;
  262.  
  263.     STDMETHOD(Invoke)(
  264.       THIS_
  265.       DISPID dispidMember,
  266.       REFIID riid,
  267.       LCID lcid,
  268.       WORD wFlags,
  269.       DISPPARAMS FAR* pdispparams,
  270.       VARIANT FAR* pvarResult,
  271.       EXCEPINFO FAR* pexcepinfo,
  272.       UINT FAR* puArgErr) PURE;
  273.  
  274.     /* IGenericWindow methods */
  275.     STDMETHOD(get_Caption)(THIS_ BSTR FAR* pbstrCaption) PURE;
  276.     STDMETHOD(get_Type)(THIS_ BSTR FAR* pbstrCaption) PURE;
  277.     STDMETHOD(put_Active)(THIS_ VARIANT_BOOL bActive) PURE;
  278.     STDMETHOD(get_Active)(THIS_ VARIANT_BOOL FAR* pbActive) PURE;
  279.     STDMETHOD(put_Left)(THIS_ long lVal) PURE;
  280.     STDMETHOD(get_Left)(THIS_ long FAR* plVal) PURE;
  281.     STDMETHOD(put_Top)(THIS_ long lVal) PURE;
  282.     STDMETHOD(get_Top)(THIS_ long FAR* plVal) PURE;
  283.     STDMETHOD(put_Height)(THIS_ long lVal) PURE;
  284.     STDMETHOD(get_Height)(THIS_ long FAR* plVal) PURE;
  285.     STDMETHOD(put_Width)(THIS_ long lVal) PURE;
  286.     STDMETHOD(get_Width)(THIS_ long FAR* plVal) PURE;
  287.     STDMETHOD(get_Index)(THIS_ long FAR* plVal) PURE;
  288.     STDMETHOD(get_Next)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  289.     STDMETHOD(get_Previous)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  290.     STDMETHOD(put_WindowState)(THIS_ DsWindowState lVal) PURE;
  291.     STDMETHOD(get_WindowState)(THIS_ DsWindowState FAR* plVal) PURE;
  292.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  293.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  294.     STDMETHOD(Close)(THIS_ VARIANT boolSaveChanges, DsSaveStatus FAR* pSaved) PURE;
  295.     STDMETHOD(Reserved1)(THIS) PURE;
  296.     STDMETHOD(Reserved2)(THIS) PURE;
  297.     STDMETHOD(Reserved3)(THIS) PURE;
  298.     STDMETHOD(Reserved4)(THIS) PURE;
  299.     STDMETHOD(Reserved5)(THIS) PURE;
  300.     STDMETHOD(Reserved6)(THIS) PURE;
  301.     STDMETHOD(Reserved7)(THIS) PURE;
  302.     STDMETHOD(Reserved8)(THIS) PURE;
  303.     STDMETHOD(Reserved9)(THIS) PURE;
  304.     STDMETHOD(Reserved10)(THIS) PURE;
  305. #endif
  306.  
  307.     /* ITextWindow methods */
  308.     STDMETHOD(get_Selection)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  309. };
  310.  
  311.  
  312. /////////////////////////////////////////////////////////////////////////////
  313. // TextEditor object
  314.  
  315. // ITextEditor interface
  316.  
  317. #undef INTERFACE
  318. #define INTERFACE ITextEditor
  319.  
  320. DECLARE_INTERFACE_(ITextEditor, IDispatch)
  321. {
  322. BEGIN_INTERFACE
  323. #ifndef NO_BASEINTERFACE_FUNCS
  324.  
  325.     /* IUnknown methods */
  326.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  327.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  328.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  329.  
  330.     /* IDispatch methods */
  331.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  332.  
  333.     STDMETHOD(GetTypeInfo)(
  334.       THIS_
  335.       UINT itinfo,
  336.       LCID lcid,
  337.       ITypeInfo FAR* FAR* pptinfo) PURE;
  338.  
  339.     STDMETHOD(GetIDsOfNames)(
  340.       THIS_
  341.       REFIID riid,
  342.       OLECHAR FAR* FAR* rgszNames,
  343.       UINT cNames,
  344.       LCID lcid,
  345.       DISPID FAR* rgdispid) PURE;
  346.  
  347.     STDMETHOD(Invoke)(
  348.       THIS_
  349.       DISPID dispidMember,
  350.       REFIID riid,
  351.       LCID lcid,
  352.       WORD wFlags,
  353.       DISPPARAMS FAR* pdispparams,
  354.       VARIANT FAR* pvarResult,
  355.       EXCEPINFO FAR* pexcepinfo,
  356.       UINT FAR* puArgErr) PURE;
  357. #endif
  358.  
  359.     /* ITextEditor methods */
  360.     STDMETHOD(put_VisibleWhitespace)(THIS_ VARIANT_BOOL bVisible) PURE;
  361.     STDMETHOD(get_VisibleWhitespace)(THIS_ VARIANT_BOOL FAR* pbVisible) PURE;
  362.     STDMETHOD(put_Emulation)(THIS_ long lEmulation) PURE;
  363.     STDMETHOD(get_Emulation)(THIS_ long FAR* plEmulation) PURE;
  364.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  365.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  366.     STDMETHOD(put_Overtype)(THIS_ VARIANT_BOOL bOvertype) PURE;
  367.     STDMETHOD(get_Overtype)(THIS_ VARIANT_BOOL FAR* pbOvertype) PURE;
  368. };
  369.  
  370.  
  371. #endif //__TEXTAUTO_H__
  372.