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.
 
 
 
 
 
 

130 lines
3.1 KiB

// TreeWindow.h: interface for the CTreeWindow class.
// implements the subclassed tree control for the common prop page
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TREEWINDOW_H__5AAE4BD7_4DA7_4064_88BB_8C7FDF9A1464__INCLUDED_)
#define AFX_TREEWINDOW_H__5AAE4BD7_4DA7_4064_88BB_8C7FDF9A1464__INCLUDED_
#include "resource.h" // main symbols
#include "misccell.h"
using namespace std;
class CNP_CommonPage;
class CTreeWin :
public CWindowImpl<CTreeWin>
{
public:
CTreeWin(
CNP_CommonPage* pParent
);
virtual ~CTreeWin();
private:
//typedef CAdapt <CComPtr <ILocator> > PAdaptILocator;
//typedef CAdapt <CComPtr <ITuningSpace> > PAdaptITuningSpace;
typedef map <ITuningSpace*, ILocator*> TREE_MAP;
typedef enum
{
CarrierFrequency,
InnerFEC,
InnerFECRate,
Modulation,
OuterFEC,
OuterFECRate,
SymbolRate,
UniqueName,
FriendlyName,
TunSpace_CLSID,
FrequencyMapping
}TreeParams; //all possible param values for the Tree leafs
TREE_MAP m_treeMap; //list used for the tree
CNP_CommonPage* m_pCommonPage;
CBDAMiscellaneous m_misc;
void
CleanMapList ();//release all tree interface pointers
//the message map for the sublassed tree control
BEGIN_MSG_MAP(CTreeWin)
//we would like to do smtg like that
//NOTIFY_HANDLER(IDC_TREE_TUNING_SPACES, NM_CLICK, OnClickTree_tuning_spaces)
//but it seems ATL is not reflecting same WM_NOTIFY MESSAGE
MESSAGE_HANDLER(OCM__BASE+WM_NOTIFY, ON_REFLECT_WM_NOTIFY)
DEFAULT_REFLECTION_HANDLER ()
END_MSG_MAP()
LRESULT OnClickTree_tuning_spaces(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
{
return 0;
}
LRESULT OnItemexpandedTree_tuning_spaces(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
{
return 0;
}
LRESULT ON_REFLECT_WM_NOTIFY(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (lParam == NM_CLICK )
return 0;
LPNMHDR lpnmh = (LPNMHDR) lParam;
switch (lpnmh->code)
{
case TVN_ITEMEXPANDED:
return OnItemexpandedTree_tuning_spaces (
IDC_TREE_TUNING_SPACES,
lpnmh,
bHandled
);
case NM_CLICK:
return OnClickTree_tuning_spaces (
IDC_TREE_TUNING_SPACES,
lpnmh,
bHandled
);
}
return 0;
}
HTREEITEM
InsertLocator (
HTREEITEM hParentItem,
ILocator* pLocator
);
HTREEITEM
InsertTuningSpace (
ITuningSpace* pTunSpace,
TCHAR* szCaption = _T("")
);
HTREEITEM
InsertTreeItem (
HTREEITEM hParentItem ,
LONG lParam,
TCHAR* pszText,
bool bBold = false
);
public:
//============================================================
// It's refreshing the tree with the new TunningSpace info
// from the NP.
//
//============================================================
HRESULT
RefreshTree (
IScanningTuner* pTuner
);
//============================================================
// Will set the current tuning space locator to the NP
//
//
//============================================================
HRESULT
SubmitCurrentLocator ();
};
#endif // !defined(AFX_TREEWINDOW_H__5AAE4BD7_4DA7_4064_88BB_8C7FDF9A1464__INCLUDED_)