| /*========================================================================= |
| |
| Program: Insight Segmentation & Registration Toolkit |
| Module: $RCSfile: FLTKPropertyList.h,v $ |
| Language: C++ |
| Date: $Date: 2012/03/29 17:21:09 $ |
| Version: $Revision: 1.1.1.1 $ |
| |
| Copyright (c) 2002 Insight Consortium. All rights reserved. |
| See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. |
| |
| This software is distributed WITHOUT ANY WARRANTY; without even |
| the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
| PURPOSE. See the above copyright notices for more information. |
| |
| =========================================================================*/ |
| #ifndef FLTKPROPERTYLIST_H |
| #define FLTKPROPERTYLIST_H |
| |
| #include "../cmStandardIncludes.h" |
| #include <string> |
| |
| |
| class CMakeSetupGUIImplementation; |
| |
| |
| namespace fltk { |
| |
| |
| ///////////////////////////////////////////////////////////////////////////// |
| //PropertyList Items |
| class PropertyItem |
| { |
| // Attributes |
| public: |
| std::string m_HelpString; |
| std::string m_propName; |
| std::string m_curValue; |
| int m_nItemType; |
| std::string m_cmbItems; |
| bool m_Removed; |
| bool m_NewValue; |
| bool m_Dirty; |
| public: |
| PropertyItem( std::string propName, |
| std::string curValue, |
| std::string helpString, |
| int nItemType, |
| std::string cmbItems ) |
| { |
| m_HelpString = helpString; |
| m_propName = propName; |
| m_curValue = curValue; |
| m_nItemType = nItemType; |
| m_cmbItems = cmbItems; |
| m_Removed = false; |
| m_NewValue = true; |
| m_Dirty = false; |
| } |
| }; |
| |
| |
| |
| |
| |
| ///////////////////////////////////////////////////////////////////////////// |
| // PropertyList window |
| |
| class PropertyList |
| { |
| // Construction |
| public: |
| enum ItemType |
| { |
| COMBO = 0, |
| EDIT, |
| COLOR, |
| FONT, |
| FILE, |
| CHECKBOX, |
| PATH |
| }; |
| |
| PropertyList( CMakeSetupGUIImplementation * ); |
| |
| // Attributes |
| public: |
| |
| // Operations |
| public: |
| int AddItem( std::string txt ); |
| int AddProperty(const char* name, |
| const char* value, |
| const char* helpString, |
| int type, |
| const char* comboItems, |
| bool reverseOrder); |
| void RemoveProperty(const char* name); |
| std::set<PropertyItem*> & GetItems() |
| { |
| return m_PropertyItems; |
| } |
| |
| void InvalidateList(void); |
| void Invalidate(void) |
| { |
| // fltk redraw(); |
| } |
| |
| int GetCount(void) const |
| { |
| return m_PropertyItems.size(); |
| } |
| void OnButton(void); |
| void OnHelp(void); |
| void RemoveAll(); |
| PropertyItem* GetItem(int index); |
| PropertyItem* GetItemDataPtr(int m_curSel); |
| |
| void ClearDirty(void) { m_Dirty = false; } |
| void SetDirty(void) { m_Dirty = true; } |
| bool IsDirty(void) const { return m_Dirty; } |
| |
| // Implementation |
| public: |
| virtual ~PropertyList(); |
| |
| protected: |
| |
| int AddPropItem(PropertyItem* pItem,bool reverseOrder); |
| |
| std::set<PropertyItem*> m_PropertyItems; |
| |
| CMakeSetupGUIImplementation * m_CMakeSetup; |
| |
| bool m_Dirty; |
| |
| }; |
| |
| |
| } // end namespace fltk |
| |
| #endif |