Set the description of some parameters
[synfig.git] / synfig-core / src / synfig / layer.cpp
index 17984ba..ae25ab4 100644 (file)
@@ -136,10 +136,12 @@ Layer::subsys_stop()
 Layer::Layer():
        active_(true),
        z_depth(0.0f),
-       dirty_time_(Time::end()),
-       z_depth_static(false)
+       dirty_time_(Time::end())//,
+       //z_depth_static(false)
 {
        _LayerCounter::counter++;
+       Vocab vocab=get_param_vocab();
+       fill_static(vocab);
 }
 
 Layer::LooseHandle
@@ -300,17 +302,34 @@ Layer::set_param(const String &param, const ValueBase &value)
 bool
 Layer::set_param_static(const String &param, const bool x)
 {
-       SET_STATIC(z_depth,x)
-
+       Sparams::iterator iter=static_params.find(param);
+       if(iter!=static_params.end())
+       {
+               iter->second=x;
+               return true;
+       }
        return false;
 }
 
 
+void Layer::fill_static(Vocab vocab)
+{
+       Vocab::const_iterator viter;
+       for(viter=vocab.begin();viter!=vocab.end();viter++)
+       {
+               if(static_params.find(viter->get_name())==static_params.end())
+                       static_params.insert(make_pair(viter->get_name(),false));
+       }
+}
+
+
 bool
 Layer::get_param_static(const String &param) const
 {
-       GET_STATIC(z_depth);
 
+       Sparams::const_iterator iter=static_params.find(param);
+       if(iter!=static_params.end())
+               return iter->second;
        return false;
 }
 
@@ -466,7 +485,7 @@ Layer::get_param(const String & param)const
        if(param=="z_depth")
        {
                synfig::ValueBase ret(get_z_depth());
-               ret.set_static(z_depth_static);
+               ret.set_static(get_param_static(param));
                return ret;
        }
        return ValueBase();
@@ -565,6 +584,7 @@ Layer::get_param_vocab()const
        ret.push_back(ParamDesc(z_depth,"z_depth")
                .set_local_name(_("Z Depth"))
                .set_animation_only(true)
+               .set_description(_("Modifies the position of the layer in the layer stack"))
        );
 
        return ret;