00001 #ifndef __FIBERVISH_BUNDLEINPUT_HPP
00002 #define __FIBERVISH_BUNDLEINPUT_HPP
00003
00004 #include <ocean/plankton/VCreator.hpp>
00005 #include <bundle/Bundle.hpp>
00006
00007 namespace Wizt
00008 {
00009 template <>
00010 class VValueTrait<Fiber::BundlePtr>
00011 {
00012 public:
00013
00014 static bool setValueFromText(Fiber::BundlePtr&i, const string&s)
00015 {
00016 return false;
00017 }
00018
00019 static string Text(const Fiber::BundlePtr&BP)
00020 {
00021 if (BP)
00022 return "(null)";
00023
00024 return string("<Bundle>") +
00025 VValueTrait<int>::Text( BP->sizeP1D() ) +
00026 string("</Bundle>");
00027 }
00028 };
00029
00030 template <>
00031 struct VInputValueTrait<Fiber::BundlePtr>
00032 {
00033 static void init(const Fiber::BundlePtr&)
00034 {}
00035
00036 static bool setValueFromText(Fiber::BundlePtr&, const string&s)
00037 {
00038
00039 return false;
00040 }
00041 };
00042 }
00043
00044
00045 namespace Fiber
00046 {
00047 using namespace Wizt;
00048
00049 class BundleInput : public VInputValue<Fiber::BundlePtr>
00050 {
00051 public:
00052 BundleInput(const RefPtr<VValueParameter<Fiber::BundlePtr> >&P)
00053 : VInputValue<Fiber::BundlePtr>(P)
00054 {}
00055
00056 override void valueChanged(const RefPtr<VValueBase>&, const ValueNotifierList*, const ValueMap*)
00057 {
00058 puts("BundleInput: valueChanged() - TOUCH");
00059 touch( NullPtr() );
00060 }
00061 };
00062
00063
00064 }
00065
00066 #endif
00067