1 /*=========================================================================
3 Program: Insight Segmentation & Registration Toolkit
4 Module: $RCSfile: FLTKPropertyList.h,v $
6 Date: $Date: 2005/09/23 21:47:32 $
7 Version: $Revision: 1.8 $
9 Copyright (c) 2002 Insight Consortium. All rights reserved.
10 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef FLTKPROPERTYLIST_H
18 #define FLTKPROPERTYLIST_H
20 #include "../cmStandardIncludes.h"
24 class CMakeSetupGUIImplementation
;
30 /////////////////////////////////////////////////////////////////////////////
36 std::string m_HelpString
;
37 std::string m_propName
;
38 std::string m_curValue
;
40 std::string m_cmbItems
;
45 PropertyItem( std::string propName
,
47 std::string helpString
,
49 std::string cmbItems
)
51 m_HelpString
= helpString
;
52 m_propName
= propName
;
53 m_curValue
= curValue
;
54 m_nItemType
= nItemType
;
55 m_cmbItems
= cmbItems
;
66 /////////////////////////////////////////////////////////////////////////////
67 // PropertyList window
84 PropertyList( CMakeSetupGUIImplementation
* );
91 int AddItem( std::string txt
);
92 int AddProperty(const char* name
,
94 const char* helpString
,
96 const char* comboItems
,
98 void RemoveProperty(const char* name
);
99 std::set
<PropertyItem
*> & GetItems()
101 return m_PropertyItems
;
104 void InvalidateList(void);
105 void Invalidate(void)
110 int GetCount(void) const
112 return m_PropertyItems
.size();
117 PropertyItem
* GetItem(int index
);
118 PropertyItem
* GetItemDataPtr(int m_curSel
);
120 void ClearDirty(void) { m_Dirty
= false; }
121 void SetDirty(void) { m_Dirty
= true; }
122 bool IsDirty(void) const { return m_Dirty
; }
126 virtual ~PropertyList();
130 int AddPropItem(PropertyItem
* pItem
,bool reverseOrder
);
132 std::set
<PropertyItem
*> m_PropertyItems
;
134 CMakeSetupGUIImplementation
* m_CMakeSetup
;
141 } // end namespace fltk