215 lines
5.1 KiB
C++
215 lines
5.1 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1996 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// ModNodes.cpp
|
|
//
|
|
// Abstract:
|
|
// Implementation of the CModifyNodesDlg dialog.
|
|
//
|
|
// Author:
|
|
// David Potter (davidp) July 16, 1996
|
|
//
|
|
// Revision History:
|
|
//
|
|
// Notes:
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "stdafx.h"
|
|
#include "ModNodes.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CModifyNodesDlg
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
IMPLEMENT_DYNCREATE(CModifyNodesDlg, CListCtrlPairDlg)
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Message Maps
|
|
|
|
BEGIN_MESSAGE_MAP(CModifyNodesDlg, CListCtrlPairDlg)
|
|
//{{AFX_MSG_MAP(CModifyNodesDlg)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// CModifyNodesDlg::CModifyNodesDlg
|
|
//
|
|
// Routine Description:
|
|
// Default constructor.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Value:
|
|
// None.
|
|
//
|
|
//--
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
CModifyNodesDlg::CModifyNodesDlg(void)
|
|
{
|
|
} //*** CModifyNodesDlg::CModifyNodesDlg()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// CModifyNodesDlg::CModifyNodesDlg
|
|
//
|
|
// Routine Description:
|
|
// Constructor.
|
|
//
|
|
// Arguments:
|
|
// idd [IN] Dialog ID.
|
|
// pdwHelpMap [IN] Control-to-Help ID mapping array.
|
|
// rlpciRight [IN OUT] List for the right list control.
|
|
// rlpciLeft [IN] List for the left list control.
|
|
// dwStyle [IN] Style:
|
|
// LCPS_SHOW_IMAGES Show images to left of items.
|
|
// LCPS_ALLOW_EMPTY Allow right list to be empty.
|
|
// LCPS_ORDERED Ordered right list.
|
|
// pParent [IN OUT] Parent window.
|
|
//
|
|
// Return Value:
|
|
// None.
|
|
//
|
|
//--
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
CModifyNodesDlg::CModifyNodesDlg(
|
|
IN UINT idd,
|
|
IN const DWORD * pdwHelpMap,
|
|
IN OUT CNodeList & rlpciRight,
|
|
IN const CNodeList & rlpciLeft,
|
|
IN DWORD dwStyle,
|
|
IN OUT CWnd * pParent /*=NULL*/
|
|
) : CListCtrlPairDlg(
|
|
idd,
|
|
pdwHelpMap,
|
|
&rlpciRight,
|
|
&rlpciLeft,
|
|
dwStyle | LCPS_PROPERTIES_BUTTON | (dwStyle & LCPS_ORDERED ? LCPS_CAN_BE_ORDERED : 0),
|
|
GetColumn,
|
|
BDisplayProperties,
|
|
pParent
|
|
)
|
|
{
|
|
//{{AFX_DATA_INIT(CModifyNodesDlg)
|
|
//}}AFX_DATA_INIT
|
|
|
|
} //*** CModifyNodesDlg::CModifyNodesDlg()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// CModifyNodesDlg::OnInitDialog
|
|
//
|
|
// Routine Description:
|
|
// Handler for the WM_INITDIALOG message.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Value:
|
|
// TRUE Focus needs to be set.
|
|
// FALSE Focus already set.
|
|
//
|
|
//--
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
BOOL CModifyNodesDlg::OnInitDialog(void)
|
|
{
|
|
// Add columns.
|
|
try
|
|
{
|
|
NAddColumn(IDS_COLTEXT_NAME, COLI_WIDTH_NAME);
|
|
} // try
|
|
catch (CException * pe)
|
|
{
|
|
pe->ReportError();
|
|
pe->Delete();
|
|
} // catch: CException
|
|
|
|
// Call the base class method.
|
|
CListCtrlPairDlg::OnInitDialog();
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
|
|
} //*** CModifyNodesDlg::OnInitDialog()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// CModifyNodesDlg::GetColumn [static]
|
|
//
|
|
// Routine Description:
|
|
// Returns a column for an item.
|
|
//
|
|
// Arguments:
|
|
// pobj [IN OUT] Object for which the column is to be displayed.
|
|
// iItem [IN] Index of the item in the list.
|
|
// icol [IN] Column number whose text is to be retrieved.
|
|
// pdlg [IN OUT] Dialog to which object belongs.
|
|
// rstr [OUT] String in which to return column text.
|
|
// piimg [OUT] Image index for the object.
|
|
//
|
|
// Return Value:
|
|
// None.
|
|
//
|
|
//--
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CALLBACK CModifyNodesDlg::GetColumn(
|
|
IN OUT CObject * pobj,
|
|
IN int iItem,
|
|
IN int icol,
|
|
IN OUT CDialog * pdlg,
|
|
OUT CString & rstr,
|
|
OUT int * piimg
|
|
)
|
|
{
|
|
CClusterNode * pciNode = (CClusterNode *) pobj;
|
|
|
|
ASSERT_VALID(pciNode);
|
|
ASSERT(icol == 0);
|
|
|
|
pciNode->BGetColumnData(IDS_COLTEXT_NAME, rstr);
|
|
if (piimg != NULL)
|
|
*piimg = pciNode->IimgObjectType();
|
|
|
|
} //*** CModifyNodesDlg::GetColumn()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// CModifyNodesDlg::BDisplayProperties [static]
|
|
//
|
|
// Routine Description:
|
|
// Display the properties of the specified object.
|
|
//
|
|
// Arguments:
|
|
// pobj [IN OUT] Cluster item whose properties are to be displayed.
|
|
//
|
|
// Return Value:
|
|
// TRUE Properties where accepted.
|
|
// FALSE Properties where cancelled.
|
|
//
|
|
//--
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
BOOL CALLBACK CModifyNodesDlg::BDisplayProperties(IN OUT CObject * pobj)
|
|
{
|
|
CClusterItem * pci = (CClusterItem *) pobj;
|
|
|
|
ASSERT_KINDOF(CClusterItem, pobj);
|
|
|
|
return pci->BDisplayProperties();
|
|
|
|
} //*** CModifyNodesDlg::BDisplayProperties();
|