00001 00002 // exotkParameter_Enumeration.hxx 00004 // Copyright (C) 2001 Stephane Routelous 00005 // 00006 // This file is part of exoTK. 00007 // 00008 // exoTK is free software; you can redistribute it and/or modify 00009 // it under the terms of the GNU General Public License as published by 00010 // the Free Software Foundation; either version 2 of the License, or 00011 // (at your option) any later version. 00012 // 00013 // exoTK is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License 00019 // along with exoTK; if not, write to the Free Software 00020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 00028 #ifndef _exotkParameter_Enumeration_HeaderFile 00029 #define _exotkParameter_Enumeration_HeaderFile 00030 #if _MSC_VER > 1000 00031 #pragma once 00032 #endif // _MSC_VER > 1000 00033 00034 #ifndef _exotkParameter_Root_HeaderFile 00035 #include <exotkParameter_Root.hxx> 00036 #endif 00037 #ifndef _exotkParameter_DoubleMapIntegerAsciiString_HeaderFile 00038 #include <exotkParameter_DoubleMapIntegerAsciiString.hxx> 00039 #endif 00040 #ifndef _exotkParameter_DoubleMapIteratorOfDoubleMapIntegerAsciiString_HeaderFile 00041 #include <exotkParameter_DoubleMapIteratorOfDoubleMapIntegerAsciiString.hxx> 00042 #endif 00043 00044 DEFINE_STANDARD_HANDLE(exotkParameter_Enumeration,exotkParameter_Root) 00050 class exotkParameter_Enumeration : public exotkParameter_Root 00051 { 00052 public: 00053 00054 DEFINE_STANDARD_RTTI(exotkParameter_Enumeration) 00055 00056 Standard_EXPORT exotkParameter_Enumeration(const Standard_Integer aValue); 00062 00067 Standard_EXPORT virtual ~exotkParameter_Enumeration(); 00068 00069 00074 Standard_EXPORT void EnumInit(); 00075 00081 Standard_EXPORT Standard_Boolean EnumMore(); 00082 00087 Standard_EXPORT void EnumNext(); 00088 00094 Standard_EXPORT Standard_Integer EnumCurrentIndex(); 00095 00101 Standard_EXPORT TCollection_AsciiString EnumCurrentName(); 00102 00108 Standard_EXPORT virtual void DeepCopy(const Handle_exotkParameter_Root& aParameterToCopy); 00109 00116 Standard_EXPORT Standard_Boolean SetValue(const Standard_Integer aValue); 00117 00123 Standard_EXPORT Standard_Integer Value() const; 00124 00125 00133 Standard_EXPORT Standard_Boolean AddEnumerationMember(const Standard_Integer anIndex,const TCollection_AsciiString& aName); 00134 00142 Standard_EXPORT Standard_Boolean EnumerationMember(const Standard_Integer anIndex,TCollection_AsciiString& aName) const; 00143 00144 00151 Standard_EXPORT virtual Standard_Boolean SetParameterAsString(const TCollection_AsciiString& aParameter); 00152 00158 Standard_EXPORT virtual TCollection_AsciiString ParameterAsString() const; 00159 00160 00167 Standard_EXPORT virtual Standard_OStream& Dump(Standard_OStream& anOS) const; 00168 00169 private: 00171 Standard_Integer myValue; 00173 exotkParameter_DoubleMapIntegerAsciiString myMapIntegerAsciiString; 00175 exotkParameter_DoubleMapIteratorOfDoubleMapIntegerAsciiString myMapIterator; 00176 }; 00177 00178 #endif // _exotkParameter_Enumeration_HeaderFile
1.2.12 written by Dimitri van Heesch,
© 1997-2001