www.pudn.com > PropertyListCtrl.rar > MyData.h


#if !defined(_MYDATA_H)
#define _MYDATA_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MyData.h : header file
//
/////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1999, Stefan Belopotocan, http://welcome.to/StefanBelopotocan
//
/////////////////////////////////////////////////////////////////////////////

#include "PropertyListCtrl.h"

#define ID_PD_NAME 1
#define ID_PD_DESCRIPTION 2
#define ID_PD_BIND_DATA 3

#define ID_PD_DB_NODE 4
#define ID_PD_HISTORY 5
#define ID_PD_DATA_TYPE 6

#define ID_PD_FORMAT_DATA_TYPE 7

class CMyStaticPropertyItemManager;
class CMyAdaptablePropertyItemManager;

// Only as an example
/////////////////////////////////////////////////////////////////////////////
// CMyData

class CMyData : public CObject
{
CMyData(const CMyData&amt; d);
CMyData&amt; operator=(const CMyData&amt; d);

public:
CMyData();
~CMyData();

// Data
private:
CString m_strName;
CString m_strDescription;
bool m_bBindDatabaseData;
CString m_strDbTableColumn;
BOOL m_bCreateHistoryData;
int m_nDataType;
int m_nFormatDataType;

friend CMyStaticPropertyItemManager;
friend CMyAdaptablePropertyItemManager;
};

inline CMyData::~CMyData()
{
}


/////////////////////////////////////////////////////////////////////////////
// CMyStaticPropertyItemManager

class CMyStaticPropertyItemManager : public CPropertyItemManager
{
CMyStaticPropertyItemManager(const CMyStaticPropertyItemManager&amt; d);
CMyStaticPropertyItemManager&amt; operator=(const CMyStaticPropertyItemManager&amt; d);

public:
CMyStaticPropertyItemManager();
~CMyStaticPropertyItemManager();

bool SetData(const CObject* pData);
bool GetData(CObject* pData) const;
};


/////////////////////////////////////////////////////////////////////////////
// CMyAdaptablePropertyItemManager

class CMyAdaptablePropertyItemManager : public CPropertyItemManagerAdaptable
{
CMyAdaptablePropertyItemManager(const CMyAdaptablePropertyItemManager&amt; d);
CMyAdaptablePropertyItemManager&amt; operator=(const CMyAdaptablePropertyItemManager&amt; d);

public:
CMyAdaptablePropertyItemManager();
~CMyAdaptablePropertyItemManager();

bool SetData(const CObject* pData);
bool GetData(CObject* pData) const;

void OnDataChanged(CPropertyItem* pPropertyItem, CPropertyListCtrl* pWndPropertyListCtrl, int nIndex);
};

#endif // !defined(AFX_PROPERTYLISTCTRLDLG_H__466FB4E7_6072_11D3_A7E3_006008C8B630__INCLUDED_)