]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - tools/src/tools/configtool/common/win32/PropertiesList.h
Initial revision
[karo-tx-redboot.git] / tools / src / tools / configtool / common / win32 / PropertiesList.h
1 //####COPYRIGHTBEGIN####
2 //                                                                          
3 // ----------------------------------------------------------------------------
4 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
5 //
6 // This program is part of the eCos host tools.
7 //
8 // This program is free software; you can redistribute it and/or modify it 
9 // under the terms of the GNU General Public License as published by the Free 
10 // Software Foundation; either version 2 of the License, or (at your option) 
11 // any later version.
12 // 
13 // This program is distributed in the hope that it will be useful, but WITHOUT 
14 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
15 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
16 // more details.
17 // 
18 // You should have received a copy of the GNU General Public License along with
19 // this program; if not, write to the Free Software Foundation, Inc., 
20 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 //
22 // ----------------------------------------------------------------------------
23 //                                                                          
24 //####COPYRIGHTEND####
25 #if !defined(AFX_RULESLIST_H__AEF48733_8D31_11D3_A535_00A0C949ADAC__INCLUDED_)
26 #define AFX_RULESLIST_H__AEF48733_8D31_11D3_A535_00A0C949ADAC__INCLUDED_
27
28 #if _MSC_VER > 1000
29 #pragma once
30 #endif // _MSC_VER > 1000
31 // PropertiesList.h : header file
32 //
33
34 #define INCLUDEFILE "cdl.hxx"
35 #include "IncludeSTL.h"
36
37 /////////////////////////////////////////////////////////////////////////////
38 // CPropertiesList window
39 class CConfigItem;
40 class CPropertiesList : public CListCtrl
41 {
42 // Construction
43 public:
44         CPropertiesList();
45
46 // Attributes
47 public:
48
49 // Operations
50 public:
51
52 // Overrides
53         // ClassWizard generated virtual function overrides
54         //{{AFX_VIRTUAL(CPropertiesList)
55         //}}AFX_VIRTUAL
56
57 // Implementation
58 public:
59   void Fill(CConfigItem *pti);
60         enum FieldType {Type, Value, DefaultValue, Macro, File, URL, Enabled, MAXFIELDTYPE};
61   int SetItem (FieldType f, LPCTSTR pszValue);
62         virtual ~CPropertiesList();
63         void RefreshValue();
64         // Generated message map functions
65 protected:
66         int m_nOnSizeRecursionCount;
67         int SetItem (LPCTSTR pszItem,LPCTSTR pszValue,int nInsertAs,int nRepeat=1);
68         int m_nMaxValueWidth;
69         int SetProperty (LPCTSTR pszValue, CdlProperty prop);
70   int m_nFirstProperty;
71   int SetItemTextGrow(int nItem, LPCTSTR lpszItem);
72         static bool PropertyInConflictsList (CdlProperty property, const std::list<CdlConflict> & conflicts);
73         static const LPCTSTR FieldTypeImage[MAXFIELDTYPE];
74   CPen m_GrayPen;
75   static const std::string CPropertiesList::visible_properties [];
76   static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) { 
77     return ((CPropertiesList*)lParamSort)->CompareFunc(lParam1,lParam2);
78   }
79   int CompareFunc(LPARAM lParam1, LPARAM lParam2);
80   CConfigItem *m_pti;
81         double m_fWidth;
82   enum {NCOLS=2};
83   double m_f[NCOLS]; // relative proportions of columns
84         LPARAM m_nLastCol;
85   //{{AFX_MSG(CPropertiesList)
86   afx_msg void OnTrack(NMHEADER *pNMHeader, LRESULT* pResult) ;
87   afx_msg void OnEndTrack(NMHEADER *pNMHeader, LRESULT* pResult) ;
88         afx_msg void OnDblclk(NMHDR* pNMHDR, LRESULT* pResult);
89         afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
90         afx_msg void OnSize(UINT nType, int cx, int cy);
91         afx_msg void OnPaint();
92         //}}AFX_MSG
93
94         DECLARE_MESSAGE_MAP()
95 };
96
97 /////////////////////////////////////////////////////////////////////////////
98
99 //{{AFX_INSERT_LOCATION}}
100 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
101
102 #endif // !defined(AFX_RULESLIST_H__AEF48733_8D31_11D3_A535_00A0C949ADAC__INCLUDED_)