25 #ifndef WGESHADERPROPERTYDEFINEOPTIONS_H
26 #define WGESHADERPROPERTYDEFINEOPTIONS_H
31 #include <boost/shared_ptr.hpp>
32 #include "boost/tuple/tuple.hpp"
33 #include <boost/signals2.hpp>
35 #include "../../common/WProperties.h"
36 #include "../../common/WPropertyTypes.h"
37 #include "../../common/exceptions/WPreconditionNotMet.h"
39 #include "WGEShaderDefineOptions.h"
41 template<
typename PropType >
54 template<
typename PropType = WPropSelection,
typename PropIndexAdapter = WGEShaderPropertyDefineOptionsIndexAdapter< PropType > >
62 typedef boost::shared_ptr< WGEShaderPropertyDefineOptions >
SPtr;
67 typedef boost::shared_ptr< const WGEShaderPropertyDefineOptions >
ConstSPtr;
86 std::string option2 =
"", std::string option3 =
"", std::string option4 =
"", std::string option5 =
"",
87 std::string option6 =
"", std::string option7 =
"", std::string option8 =
"", std::string option9 =
"",
88 std::string option10 =
"" );
134 namespace WGEShaderPropertyDefineOptionsTools
153 std::vector< NameDescriptionDefineTuple > defines );
162 template<
typename PropType >
180 return IdxList( 1,
typename IdxList::value_type( in ) );
212 template<
typename PropType,
typename PropIndexAdapter >
214 std::string option2, std::string option3, std::string option4, std::string option5,
215 std::string option6, std::string option7, std::string option8, std::string option9,
216 std::string option10 ):
217 WGEShaderDefineOptions( first, option2, option3, option4, option5, option6, option7, option8, option9, option10 ),
227 template<
typename PropType,
typename PropIndexAdapter >
239 template<
typename PropType,
typename PropIndexAdapter >
245 template<
typename PropType,
typename PropIndexAdapter >
248 PropIndexAdapter functor;
249 setActivationList( functor( m_property->get() ) );
252 template<
typename PropType,
typename PropIndexAdapter >
258 #endif // WGESHADERPROPERTYDEFINEOPTIONS_H