00001 #if !defined(AFX_SHAPEPROPERTIESDIALOG_H__AF037A25_71C0_4B39_94EF_7122DC4E18B0__INCLUDED_)
00002 #define AFX_SHAPEPROPERTIESDIALOG_H__AF037A25_71C0_4B39_94EF_7122DC4E18B0__INCLUDED_
00003
00004 #include "Shape.h"
00005 #include "AbstractEditor.h"
00006 #include "ControllerFactory.h"
00007
00008 #if _MSC_VER >= 1000
00009 #pragma once
00010 #endif // _MSC_VER >= 1000
00011
00012
00013
00015
00016
00017 class CShapePropertiesDialog : public CPropertyPage
00018 {
00019
00020 public:
00021 CShapePropertiesDialog(UINT nIDCaption = 0);
00022
00023
00024
00025 enum { IDD = IDD_SHAPEPROPERTIES };
00026 CComboBox m_ControllerList;
00027 CListCtrl m_PropertyList;
00028
00029
00030
00031
00032
00033 void SetShape(VShape* pShape);
00034
00035
00036
00037 public:
00038 virtual BOOL OnSetActive();
00039 virtual BOOL OnKillActive();
00040 protected:
00041 virtual void DoDataExchange(CDataExchange* pDX);
00042
00043
00044
00045 protected:
00046
00047 VGenericProperty* m_pCurrentProperty;
00048
00049 VShape* m_pShape;
00050 VAbstractEditor* m_pCurrentEditor;
00051 CImageList m_IList;
00052 int m_nStoredPropListSelection;
00053
00054 void UpdateControllerPanel();
00055 void UpdateControllerList();
00056
00057
00058
00059 virtual BOOL OnInitDialog();
00060 afx_msg void OnDestroy();
00061 afx_msg void OnClickPropertylist(NMHDR* pNMHDR, LRESULT* pResult);
00062 afx_msg void OnSelchangeControllerlist();
00063 afx_msg void OnClose();
00064 afx_msg void OnKeydownPropertylist(NMHDR* pNMHDR, LRESULT* pResult);
00065
00066 DECLARE_MESSAGE_MAP()
00067 };
00068
00069
00070
00071
00072 #endif // !defined(AFX_SHAPEPROPERTIESDIALOG_H__AF037A25_71C0_4B39_94EF_7122DC4E18B0__INCLUDED_)