![]() |
![]() |
00001 #ifndef Fireworks_Core_FWExpressionValidator_h 00002 #define Fireworks_Core_FWExpressionValidator_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Core 00006 // Class : FWExpressionValidator 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Fri Aug 22 20:42:49 EDT 2008 00019 // $Id: FWExpressionValidator.h,v 1.4 2012/06/26 22:13:03 wmtan Exp $ 00020 // 00021 00022 // system include files 00023 #include <vector> 00024 #include <boost/shared_ptr.hpp> 00025 #include "Reflex/Type.h" 00026 00027 // user include files 00028 #include "Fireworks/Core/src/FWValidatorBase.h" 00029 00030 // forward declarations 00031 namespace fireworks { 00032 class OptionNode; 00033 } 00034 00035 class FWExpressionValidator : public FWValidatorBase { 00036 00037 public: 00038 FWExpressionValidator(); 00039 virtual ~FWExpressionValidator(); 00040 00041 // ---------- const member functions --------------------- 00042 virtual void fillOptions(const char* iBegin, const char* iEnd, 00043 std::vector<std::pair<boost::shared_ptr<std::string>, std::string> >& oOptions) const; 00044 00045 // ---------- static member functions -------------------- 00046 00047 // ---------- member functions --------------------------- 00048 void setType(const Reflex::Type&); 00049 00050 private: 00051 FWExpressionValidator(const FWExpressionValidator&); // stop default 00052 00053 const FWExpressionValidator& operator=(const FWExpressionValidator&); // stop default 00054 00055 // ---------- member data -------------------------------- 00056 Reflex::Type m_type; 00057 std::vector<boost::shared_ptr<fireworks::OptionNode> > m_options; 00058 std::vector<boost::shared_ptr<fireworks::OptionNode> > m_builtins; 00059 00060 }; 00061 00062 00063 #endif