104 lines
2.5 KiB
C++
104 lines
2.5 KiB
C++
// Dial2DTaskList.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "GeoMative.h"
|
|
#include "DialTaskTreeOffline.h"
|
|
#include "TaskDataOper.h"
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDialTaskTreeOffline dialog
|
|
extern int g_UIOffset;
|
|
|
|
CDialTaskTreeOffline::CDialTaskTreeOffline(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CDialTaskTreeOffline::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CDialTaskTreeOffline)
|
|
//}}AFX_DATA_INIT
|
|
m_iSptType = 0;
|
|
m_pParentWnd = NULL;
|
|
m_dwTaskID = 0;
|
|
}
|
|
|
|
|
|
void CDialTaskTreeOffline::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CDialTaskTreeOffline)
|
|
DDX_Control(pDX, IDC_TREE_TASK_LIST, m_treeTask);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDialTaskTreeOffline, CDialog)
|
|
//{{AFX_MSG_MAP(CDialTaskTreeOffline)
|
|
ON_WM_SHOWWINDOW()
|
|
// ON_NOTIFY(NM_CLICK, IDC_TREE_TASK_LIST, OnClickTreeTaskList)
|
|
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_TASK_LIST, OnSelchangedTreeTaskList)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDialTaskTreeOffline message handlers
|
|
|
|
BOOL CDialTaskTreeOffline::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
// TODO: Add extra initialization here
|
|
|
|
ShowTaskTree(m_iSptType);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CDialTaskTreeOffline::ShowTaskTree(int iSptType)
|
|
{
|
|
CTaskDataOper taskOper;
|
|
taskOper.InitialTaskTreeCtrl(m_treeTask, iSptType);
|
|
m_treeTask.Expand(m_treeTask.GetRootItem(), TVE_EXPAND);
|
|
}
|
|
|
|
void CDialTaskTreeOffline::OnShowWindow(BOOL bShow, UINT nStatus)
|
|
{
|
|
CDialog::OnShowWindow(bShow, nStatus);
|
|
if (TRUE == bShow)
|
|
{
|
|
CRect rect;
|
|
GetClientRect(&rect);
|
|
m_treeTask.MoveWindow(&rect);
|
|
m_treeTask.ShowWindow(SW_SHOW);
|
|
}
|
|
|
|
// TODO: Add your message handler code here
|
|
|
|
}
|
|
|
|
void CDialTaskTreeOffline::OnSelchangedTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
|
|
// TODO: Add your control notification handler code here
|
|
|
|
HTREEITEM hItem = m_treeTask.GetSelectedItem();
|
|
if (NULL == hItem || m_treeTask.GetRootItem() == hItem)
|
|
{
|
|
return;
|
|
}
|
|
DWORD dwTaskID = m_treeTask.GetItemData(hItem);
|
|
if (dwTaskID == m_dwTaskID)
|
|
{
|
|
return;
|
|
}
|
|
m_dwTaskID = dwTaskID;
|
|
if (m_pParentWnd)
|
|
{
|
|
m_pParentWnd->SendMessage(WM_CLICK_TASK_TREE, (WPARAM)m_dwTaskID, 0);
|
|
}
|
|
*pResult = 0;
|
|
}
|