/*************************************************************************** Copyright (c) Microsoft Corporation, All rights reserved. This code sample is provided "AS IS" without warranty of any kind, it is not recommended for use in a production environment. ***************************************************************************/ #ifndef TextTipData_h #define TextTipData_h // CTextTipData handles quick info class CTextTipData : public IVsTextTipData { public: CTextTipData(); HRESULT Init(IServiceProvider*, IVsTextView* ); void Close(); ~CTextTipData(); HRESULT Update (PCWSTR pszText, long iPos, long iLen); void Dismiss (); void CheckCaretPosition (); BOOL IsActive () { return m_fWindowUp; } // IVsTextTipData STDMETHOD(GetTipText)(BSTR *pbstrText, BOOL *pbGetFontInfo); STDMETHOD(GetTipFontInfo)(long iChars, ULONG *pdwFontInfo); STDMETHOD(GetContextStream)(long *piPos, long *piLength); STDMETHOD_(void, OnDismiss)(); STDMETHOD_(void, UpdateView)(); // IUnknown STDMETHOD_(ULONG, AddRef()); STDMETHOD_(ULONG, Release()); STDMETHOD (QueryInterface)(REFIID riid, void **ppvObj); protected: IVsTextView* GetIVsTextView() {return m_pIVsTextView;} protected: IVsTextTipWindow* m_pIVsTextTipWindow; IVsTextView* m_pIVsTextView; // NOTE: Not ref'd long m_iPos; long m_iLen; BSTR m_bstrText; BOOL m_fWindowUp; ULONG m_refCount; }; #endif