summaryrefslogtreecommitdiffstats
path: root/Source/MFCDialog/PropertyList.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-04-23 20:40:29 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-04-23 20:40:29 (GMT)
commit90e56122989f4021e9fbabd3299ea783b80a2c61 (patch)
tree4180b9c4c858bee3bdea327b301cea187adbf38c /Source/MFCDialog/PropertyList.h
parent619dd8c4791850f3fe4d564d32f8285cb027b4fc (diff)
downloadCMake-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.h141
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_)