Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1032 lines
26 KiB

//
// candobj.h
//
#ifndef CANDOBJ_H
#define CANDOBJ_H
#include "mscandui.h"
#include "candprop.h"
#include "candfunc.h"
#include "candext.h"
class CCandidateUI;
//
// CCandidateStringEx
//
class CCandidateStringEx : public ITfCandidateString,
public ITfCandidateStringInlineComment,
public ITfCandidateStringPopupComment,
public ITfCandidateStringColor,
public ITfCandidateStringFixture,
public ITfCandidateStringIcon
{
public:
CCandidateStringEx( CCandidateItem *pCandItem );
virtual ~CCandidateStringEx( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandidateString methods
//
STDMETHODIMP GetString( BSTR *pbstr );
STDMETHODIMP GetIndex( ULONG *pnIndex );
//
// ITfCandidateStringInlineComment methods
//
STDMETHODIMP GetInlineCommentString( BSTR *pbstr );
//
// ITfCandidateStringPopupComment methods
//
STDMETHODIMP GetPopupCommentString( BSTR *pbstr );
STDMETHODIMP GetPopupCommentGroupID( DWORD *pdwGroupID );
//
// ITfCandidateStringColor methods
//
STDMETHODIMP GetColor( CANDUICOLOR *pcol );
//
// ITfCandidateStringFixture methods
//
STDMETHODIMP GetPrefixString( BSTR *pbstr );
STDMETHODIMP GetSuffixString( BSTR *pbstr );
//
// ITfCandidateStringIcon methods
//
STDMETHODIMP GetIcon( HICON *phIcon );
protected:
long m_cRef;
CCandidateItem *m_pCandItem;
};
//
// CCandUICandWindow
//
class CCandUICandWindow : public ITfCandUICandWindow
{
public:
CCandUICandWindow( CCandWindowProperty *pProp );
virtual ~CCandUICandWindow( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUIWindow methods
//
STDMETHODIMP GetWindow( HWND *phWnd );
STDMETHODIMP SetUIDirection( CANDUIUIDIRECTION textflow );
STDMETHODIMP GetUIDirection( CANDUIUIDIRECTION *ptextflow );
STDMETHODIMP EnableAutoMove( BOOL fEnable );
STDMETHODIMP IsAutoMoveEnabled( BOOL *pfEnabled );
protected:
long m_cRef;
CCandWindowProperty *m_pProp;
};
//
// CCandUICandListBox
//
class CCandUICandListBox : public ITfCandUICandListBox
{
public:
CCandUICandListBox( CCandListBoxProperty *pProp );
virtual ~CCandUICandListBox( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUICandListBox methods
//
STDMETHODIMP SetHeight( LONG lLines );
STDMETHODIMP GetHeight( LONG *plLines );
STDMETHODIMP GetCandidateStringRect( ULONG nIndex, RECT *prc );
protected:
long m_cRef;
CCandListBoxProperty *m_pProp;
};
//
// CCandUICandString
//
class CCandUICandString : public ITfCandUICandString
{
public:
CCandUICandString( CCandStringProperty *pProp );
virtual ~CCandUICandString( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CCandStringProperty *m_pProp;
};
//
// CCandUICandIndex
//
class CCandUICandIndex : public ITfCandUICandIndex
{
public:
CCandUICandIndex( CCandIndexProperty *pProp );
virtual ~CCandUICandIndex( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CCandIndexProperty *m_pProp;
};
//
// CCandUIInlineComment
//
class CCandUIInlineComment : public ITfCandUIInlineComment
{
public:
CCandUIInlineComment( CInlineCommentProperty *pProp );
virtual ~CCandUIInlineComment( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CInlineCommentProperty *m_pProp;
};
//
// CCandUIPopupCommentWindow
//
class CCandUIPopupCommentWindow : public ITfCandUIPopupCommentWindow
{
public:
CCandUIPopupCommentWindow( CPopupCommentWindowProperty *pProp );
virtual ~CCandUIPopupCommentWindow( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUIPopupCommentWindow methods
//
STDMETHODIMP GetWindow( HWND *phWnd );
STDMETHODIMP SetDelayTime( LONG lTime );
STDMETHODIMP GetDelayTime( LONG *plTime );
STDMETHODIMP EnableAutoMove( BOOL fEnable );
STDMETHODIMP IsAutoMoveEnabled( BOOL *pfEnabled );
protected:
long m_cRef;
CPopupCommentWindowProperty *m_pProp;
};
//
// CCandUIPopupCommentTitle
//
class CCandUIPopupCommentTitle : public ITfCandUIPopupCommentTitle
{
public:
CCandUIPopupCommentTitle( CPopupCommentTitleProperty *pProp );
virtual ~CCandUIPopupCommentTitle( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CPopupCommentTitleProperty *m_pProp;
};
//
// CCandUIPopupCommentText
//
class CCandUIPopupCommentText : public ITfCandUIPopupCommentText
{
public:
CCandUIPopupCommentText( CPopupCommentTextProperty *pProp );
virtual ~CCandUIPopupCommentText( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CPopupCommentTextProperty *m_pProp;
};
//
// CCandUIToolTip
//
class CCandUIToolTip : public ITfCandUIToolTip
{
public:
CCandUIToolTip( CToolTipProperty *pProp );
virtual ~CCandUIToolTip( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CToolTipProperty *m_pProp;
};
//
// CCandUICaption
//
class CCandUICaption : public ITfCandUICaption
{
public:
CCandUICaption( CWindowCaptionProperty *pProp );
virtual ~CCandUICaption( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CWindowCaptionProperty *m_pProp;
};
//
// CCandUIMenuButton
//
class CCandUIMenuButton : public ITfCandUIMenuButton
{
public:
CCandUIMenuButton( CMenuButtonProperty *pProp );
virtual ~CCandUIMenuButton( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUIMenuButton methods
//
STDMETHODIMP Advise( ITfCandUIMenuEventSink *pSink );
STDMETHODIMP Unadvise( void );
protected:
long m_cRef;
CMenuButtonProperty *m_pProp;
};
//
// CCandUIExtraCandidate
//
class CCandUIExtraCandidate : public ITfCandUIExtraCandidate
{
public:
CCandUIExtraCandidate( CExtraCandidateProperty *pProp );
virtual ~CCandUIExtraCandidate( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CExtraCandidateProperty *m_pProp;
};
//
// CCandUIRawData
//
class CCandUIRawData : public ITfCandUIRawData
{
public:
CCandUIRawData( CCandRawDataProperty *pProp );
virtual ~CCandUIRawData( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CCandRawDataProperty *m_pProp;
};
//
// CCandUICandTipWindow
//
class CCandUICandTipWindow : public ITfCandUICandTipWindow
{
public:
CCandUICandTipWindow( CCandTipWindowProperty *pProp );
virtual ~CCandUICandTipWindow( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUICandTipWindow methods
//
STDMETHODIMP GetWindow( HWND *phWnd );
protected:
long m_cRef;
CCandTipWindowProperty *m_pProp;
};
//
// CCandUICandTipButton
//
class CCandUICandTipButton : public ITfCandUICandTipButton
{
public:
CCandUICandTipButton( CCandTipButtonProperty *pProp );
virtual ~CCandUICandTipButton( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIObject methods
//
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CCandTipButtonProperty *m_pProp;
};
//
//
//
class CCandUIFnAutoFilter : public ITfCandUIFnAutoFilter
{
public:
CCandUIFnAutoFilter( CCandidateUI *pCandUI, CCandFnAutoFilter *pFnFilter );
virtual ~CCandUIFnAutoFilter( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIFnAutoFilter methods
//
STDMETHODIMP Advise( ITfCandUIAutoFilterEventSink *pSink );
STDMETHODIMP Unadvise( void );
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP GetFilteringString( CANDUIFILTERSTR strtype, BSTR *pbstr );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
CCandFnAutoFilter *m_pFnAutoFilter;
};
//
// CCandUIFnSort
//
class CCandUIFnSort : public ITfCandUIFnSort
{
public:
CCandUIFnSort( CCandidateUI *pCandUI, CCandFnSort *pFnSort );
virtual ~CCandUIFnSort( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandFnSort methods
//
STDMETHODIMP Advise( ITfCandUISortEventSink *pSink );
STDMETHODIMP Unadvise( void );
STDMETHODIMP SortCandidateList( BOOL fSort );
STDMETHODIMP IsCandidateListSorted( BOOL *pfSorted );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
CCandFnSort *m_pFnSort;
};
//
// CCandUIFnExtension
//
class CCandUIFnExtension : public ITfCandUIFnExtension
{
public:
CCandUIFnExtension( CCandidateUI *pCandUI, CCandUIExtensionMgr *pExtensionMgr );
virtual ~CCandUIFnExtension( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIFnExtension methods
//
STDMETHODIMP AddExtObject( LONG id, REFIID riid, IUnknown **ppunk );
STDMETHODIMP GetExtObject( LONG id, REFIID riid, IUnknown **ppunk );
STDMETHODIMP DeleteExtObject( LONG id );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
CCandUIExtensionMgr *m_pExtensionMgr;
};
//
// CCandUIFnKeyConfig
//
class CCandUIFnKeyConfig : public ITfCandUIFnKeyConfig
{
public:
CCandUIFnKeyConfig( CCandidateUI *pCandUI );
virtual ~CCandUIFnKeyConfig( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// CCandUIFnKeyConfig methods
//
STDMETHODIMP SetKeyTable( ITfContext *pic, ITfCandUIKeyTable *pCandUIKeyTable );
STDMETHODIMP GetKeyTable( ITfContext *pic, ITfCandUIKeyTable **ppCandUIKeyTable);
STDMETHODIMP ResetKeyTable( ITfContext *pic );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
};
//
// CCandUIFnUIConfig
//
class CCandUIFnUIConfig : public ITfCandUIFnUIConfig
{
public:
CCandUIFnUIConfig( CCandidateUI *pCandUI );
virtual ~CCandUIFnUIConfig( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// CCandUIFnUIConfig methods
//
STDMETHODIMP SetUIStyle( ITfContext *pic, CANDUISTYLE style );
STDMETHODIMP GetUIStyle( ITfContext *pic, CANDUISTYLE *pstyle );
STDMETHODIMP SetUIOption( ITfContext *pic, DWORD dwOption );
STDMETHODIMP GetUIOption( ITfContext *pic, DWORD *pdwOption );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
};
//
// CCandUIExtSpace
//
class CCandUIExtSpace : public ITfCandUIExtSpace
{
public:
CCandUIExtSpace( CCandidateUI *pCandUI, CExtensionSpace *pExtension );
virtual ~CCandUIExtSpace( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIExtObject methods
//
STDMETHODIMP GetID( LONG *pid );
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
CExtensionSpace *m_pExtension;
};
//
// CCandUIExtPushButton
//
class CCandUIExtPushButton : public ITfCandUIExtPushButton
{
public:
CCandUIExtPushButton( CCandidateUI *pCandUI, CExtensionPushButton *pExtension );
virtual ~CCandUIExtPushButton( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIExtObject methods
//
STDMETHODIMP GetID( LONG *pid );
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUIExtPushButton method
//
STDMETHODIMP Advise( ITfCandUIExtButtonEventSink *pSink );
STDMETHODIMP Unadvise( void );
STDMETHODIMP SetIcon( HICON hIcon );
STDMETHODIMP SetBitmap( HBITMAP hBitmap );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
CExtensionPushButton *m_pExtension;
};
//
// CCandUIExtToggleButton
//
class CCandUIExtToggleButton : public ITfCandUIExtToggleButton
{
public:
CCandUIExtToggleButton( CCandidateUI *pCandUI, CExtensionToggleButton *pExtension );
virtual ~CCandUIExtToggleButton( void );
//
// IUnknown methods
//
STDMETHODIMP QueryInterface( REFIID riid, void **ppvObj );
STDMETHODIMP_(ULONG) AddRef( void );
STDMETHODIMP_(ULONG) Release( void );
//
// ITfCandUIExtObject methods
//
STDMETHODIMP GetID( LONG *pid );
STDMETHODIMP Enable( BOOL fEnable );
STDMETHODIMP IsEnabled( BOOL *pfEnabled );
STDMETHODIMP Show( BOOL fShow );
STDMETHODIMP IsVisible( BOOL *pfVisible );
STDMETHODIMP SetPosition( POINT *pptPos );
STDMETHODIMP GetPosition( POINT *pptPos );
STDMETHODIMP SetSize( SIZE *psize );
STDMETHODIMP GetSize( SIZE *psize );
STDMETHODIMP SetFont( LOGFONTW *pLogFont );
STDMETHODIMP GetFont( LOGFONTW *pLogFont );
STDMETHODIMP SetText( BSTR bstr );
STDMETHODIMP GetText( BSTR *pbstr );
STDMETHODIMP SetToolTipString( BSTR bstr );
STDMETHODIMP GetToolTipString( BSTR *pbstr );
//
// ITfCandUIExtToggleButton method
//
STDMETHODIMP Advise( ITfCandUIExtButtonEventSink *pSink );
STDMETHODIMP Unadvise( void );
STDMETHODIMP SetIcon( HICON hIcon );
STDMETHODIMP SetBitmap( HBITMAP hBitmap );
STDMETHODIMP SetToggleState( BOOL fToggle );
STDMETHODIMP GetToggleState( BOOL *pfToggled );
protected:
long m_cRef;
CCandidateUI *m_pCandUI;
CExtensionToggleButton *m_pExtension;
};
#endif // CANDOBJ_H