00001 #if !defined(AFX_ASPECTPAGE_H__CD948654_3126_480E_B332_504C347524BF__INCLUDED_)
00002 #define AFX_ASPECTPAGE_H__CD948654_3126_480E_B332_504C347524BF__INCLUDED_
00003
00004 #if _MSC_VER > 1000
00005 #pragma once
00006 #endif // _MSC_VER > 1000
00007
00008 #include "resource.h"
00009 #include <AFXDLGS.H>
00010 #include "AspectSpecDlg.h"
00011 #include "AspectSpecTbl.h"
00012
00013 class CAspectSpecTbl;
00014 class CAspectSpecDlg;
00015
00016 typedef struct {
00017 int rowID;
00018 CString roleName;
00019 CString kindAspect;
00020 CString isPrimary;
00021 const void * ptr;
00022 } entry;
00023
00024 typedef CTypedPtrList<CPtrList, entry*> CEntryList;
00025
00026
00027
00029
00030
00031 class CAspectPage : public CPropertyPage
00032 {
00033
00034
00035
00036 public:
00037 void AddEntry(int rowID, CString roleName, CString kindAspect, CString isPrimary, const void * ptr);
00038 bool GetEntry(int rowID, CString &roleName, CString& kindAspect, CString& isPrimary, const void * &ptr);
00039 void SetAspectName(CString name);
00040 CString GetAspectName();
00041 CAspectPage() ;
00042 ~CAspectPage();
00043 static int m_actHeight;
00044 static int m_actWidth;
00045 const int m_deflateVal;
00046 void resizeTableToFitIn();
00047 void calcPlace( CRect& loc);
00048
00049
00050
00051 enum { IDD = IDD_ASPECT_PAGE };
00052
00053
00054
00055
00056
00057
00058 public:
00059 virtual void OnOK();
00060 protected:
00061 virtual void DoDataExchange(CDataExchange* pDX);
00062
00063
00064
00065 protected:
00066 CEntryList entries;
00067 CAspectSpecTbl aspectTable;
00068 CString aspectName;
00069
00070 afx_msg void OnSize(UINT nType, int cx, int cy);
00071
00072
00073 virtual BOOL OnInitDialog();
00074
00075 DECLARE_MESSAGE_MAP()
00076
00077 };
00078
00079
00080
00081
00082 #endif // !defined(AFX_ASPECTPAGE_H__CD948654_3126_480E_B332_504C347524BF__INCLUDED_)