// File calv.h // // Address List View class #ifndef _CALV_H_ #define _CALV_H_ #include "confutil.h" #include "richaddr.h" VOID ClearRai(RAI ** ppRai); RAI * DupRai(RAI * pRai); RAI * CreateRai(LPCTSTR pszName, NM_ADDR_TYPE addrType, LPCTSTR pszAddr); BOOL FEnabledNmAddr(DWORD dwAddrType); /////////////////////////////// // Globals for FEnabledNmAddr extern BOOL g_fGkEnabled; extern BOOL g_fGatewayEnabled; extern BOOL g_bGkPhoneNumberAddressing; // Generic class for handling I/O to the list for CallDialog class CALV : public RefCount { private: BOOL m_fAvailable; // TRUE if data is available int m_idsName; // The address type name resource id HWND m_hwnd; // The list view int m_iIcon; // small icon index const int * m_pIdMenu; // Right click menu data bool m_fOwnerDataList; public: CALV(int ids, int iIcon=0, const int * pIdMenu=NULL, bool fOwnerData = false); ~CALV(); // Return TRUE if there is data available BOOL FAvailable(void) {return m_fAvailable;} VOID SetAvailable(BOOL fAvail) {m_fAvailable = fAvail;} VOID SetWindow(HWND hwnd) {m_hwnd = hwnd;} HWND GetHwnd(void) {return m_hwnd;} VOID ClearHwnd(void) {m_hwnd = NULL;} BOOL FOwnerData(void) {return m_fOwnerDataList;} int GetSelection(void); VOID SetHeader(HWND hwnd, int ids); VOID DeleteItem(int iItem); // Get the standard name for the address list VOID GetName(LPTSTR psz, int cchMax) { FLoadString(m_idsName, psz, cchMax); } VOID DoMenu(POINT pt, const int * pIdMenu); static VOID SetBusyCursor(BOOL fBusy); /////////////////////////////////////////////////////////////////////// // VIRTUAL methods virtual int GetIconId(LPCTSTR psz) {return m_iIcon;} // Put the items into the list control virtual VOID ShowItems(HWND hwnd) = 0; // This must be implemented // Destroy all of the data in the list control virtual VOID ClearItems(void); // Return the string data for the item/column virtual BOOL GetSzData(LPTSTR psz, int cchMax, int iItem, int iCol); // Return the name (from the first column) virtual BOOL GetSzName(LPTSTR psz, int cchMax); virtual BOOL GetSzName(LPTSTR psz, int cchMax, int iItem); // Return the "callTo" address (from the second column) virtual BOOL GetSzAddress(LPTSTR psz, int cchMax); virtual BOOL GetSzAddress(LPTSTR psz, int cchMax, int iItem); // Get the "Rich" address information virtual RAI * GetAddrInfo(void); virtual RAI * GetAddrInfo(NM_ADDR_TYPE addType); virtual LPARAM LParamFromItem(int iItem); // Handle a right click notification virtual VOID OnRClick(POINT pt); // Handle a command virtual VOID OnCommand(WPARAM wParam, LPARAM lParam); // Default commands virtual VOID CmdProperties(void); virtual VOID CmdSpeedDial(void); virtual VOID CmdRefresh(void); virtual void OnListCacheHint( int indexFrom, int indexTo ) { ; } virtual ULONG OnListFindItem( const TCHAR* szPartialMatchingString ) { return TRUE; } virtual bool IsItemBold( int index ) { return false; } virtual int OnListGetImageForItem( int iIndex ) { return II_INVALIDINDEX; } virtual void OnListGetColumn1Data( int iItemIndex, int cchTextMax, TCHAR* szBuf ) { lstrcpyn( szBuf, "", cchTextMax ); } virtual void OnListGetColumn2Data( int iItemIndex, int cchTextMax, TCHAR* szBuf ) { lstrcpyn( szBuf, "", cchTextMax ); } virtual void OnListGetColumn3Data( int iItemIndex, int cchTextMax, TCHAR* szBuf ) { lstrcpyn( szBuf, "", cchTextMax ); } }; #endif /* _CALV_H_ */