diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2001-04-23 20:40:29 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2001-04-23 20:40:29 (GMT) |
commit | 90e56122989f4021e9fbabd3299ea783b80a2c61 (patch) | |
tree | 4180b9c4c858bee3bdea327b301cea187adbf38c /Source/MFCDialog/PropertyList.h | |
parent | 619dd8c4791850f3fe4d564d32f8285cb027b4fc (diff) | |
download | CMake-90e56122989f4021e9fbabd3299ea783b80a2c61.zip CMake-90e56122989f4021e9fbabd3299ea783b80a2c61.tar.gz CMake-90e56122989f4021e9fbabd3299ea783b80a2c61.tar.bz2 |
ENH: new GUI editor for cmake cache file
Diffstat (limited to 'Source/MFCDialog/PropertyList.h')
-rw-r--r-- | Source/MFCDialog/PropertyList.h | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/Source/MFCDialog/PropertyList.h b/Source/MFCDialog/PropertyList.h new file mode 100644 index 0000000..c6d65ed --- /dev/null +++ b/Source/MFCDialog/PropertyList.h @@ -0,0 +1,141 @@ +#if !defined(AFX_PROPERTYLIST_H__74205380_1B56_11D4_BC48_00105AA2186F__INCLUDED_) +#define AFX_PROPERTYLIST_H__74205380_1B56_11D4_BC48_00105AA2186F__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// PropertyList.h : header file +// + +#define PIT_COMBO 0 //PIT = property item type +#define PIT_EDIT 1 +#define PIT_COLOR 2 +#define PIT_FONT 3 +#define PIT_FILE 4 +#define PIT_CHECKBOX 5 + +#define IDC_PROPCMBBOX 712 +#define IDC_PROPEDITBOX 713 +#define IDC_PROPBTNCTRL 714 +#define IDC_PROPCHECKBOXCTRL 715 + +#include <list> + +///////////////////////////////////////////////////////////////////////////// +//CPropertyList Items +class CPropertyItem +{ +// Attributes +public: + CString m_propName; + CString m_curValue; + int m_nItemType; + CString m_cmbItems; + bool m_Removed; +public: + CPropertyItem(CString propName, CString curValue, + int nItemType, CString cmbItems) + { + m_Removed = false; + m_propName = propName; + m_curValue = curValue; + m_nItemType = nItemType; + m_cmbItems = cmbItems; + } +}; + +///////////////////////////////////////////////////////////////////////////// +// CPropertyList window + +class CPropertyList : public CListBox +{ +// Construction +public: + CPropertyList(); + +// Attributes +public: + +// Operations +public: + int AddItem(CString txt); + int AddProperty(const char* name, + const char* value, + int type, + const char* comboItems); + std::list<CPropertyItem*> GetItems() + { + return m_PropertyItems; + } + + CPropertyItem* GetItem(int index); +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CPropertyList) +public: + virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct); + virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); +protected: + int AddPropItem(CPropertyItem* pItem); + virtual BOOL PreCreateWindow(CREATESTRUCT& cs); + virtual void PreSubclassWindow(); + //}}AFX_VIRTUAL + +// Implementation +public: + virtual ~CPropertyList(); + + // Generated message map functions +protected: + //{{AFX_MSG(CPropertyList) + afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); + afx_msg void OnSelchange(); + afx_msg void OnLButtonUp(UINT nFlags, CPoint point); + afx_msg void OnKillFocus(CWnd* pNewWnd); + afx_msg void OnLButtonDown(UINT nFlags, CPoint point); + afx_msg void OnMouseMove(UINT nFlags, CPoint point); + afx_msg void OnRButtonUp( UINT nFlags, CPoint point ); + //}}AFX_MSG + afx_msg void OnKillfocusCmbBox(); + afx_msg void OnSelchangeCmbBox(); + afx_msg void OnKillfocusEditBox(); + afx_msg void OnChangeEditBox(); + afx_msg void OnButton(); + afx_msg void OnDelete(); + afx_msg void OnCheckBox(); + + + + DECLARE_MESSAGE_MAP() + + void InvertLine(CDC* pDC,CPoint ptFrom,CPoint ptTo); + void DisplayButton(CRect region); + + CComboBox m_cmbBox; + CEdit m_editBox; + CButton m_btnCtrl; + CButton m_CheckBoxControl; + + CFont m_SSerif8Font; + + bool m_Dirty; + int m_curSel; + int m_prevSel; + int m_nDivider; + int m_nDivTop; + int m_nDivBtm; + int m_nOldDivX; + int m_nLastBox; + BOOL m_bTracking; + BOOL m_bDivIsSet; + HCURSOR m_hCursorArrow; + HCURSOR m_hCursorSize; + std::list<CPropertyItem*> m_PropertyItems; +}; + +///////////////////////////////////////////////////////////////////////////// + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_PROPERTYLIST_H__74205380_1B56_11D4_BC48_00105AA2186F__INCLUDED_) |