- synfig::LinkableValueNode::Handle value_node(synfig::LinkableValueNode::Handle::cast_reinterpret(get_parent_value_node()));
- synfig::Node* node;
- for(node=value_node.get();!node->parent_set.empty() && !dynamic_cast<Layer*>(node);node=*node->parent_set.begin());
- Layer::Handle parent_layer(dynamic_cast<Layer*>(node));
- if(parent_layer)
- description = strprintf("'%s' => %s", // layer -> sub-parameter
- parent_layer->get_non_empty_description().c_str(),
- value_node->link_local_name(get_index()).c_str());
+ if (parent_is_linkable_value_node())
+ {
+ synfig::LinkableValueNode::Handle value_node(synfig::LinkableValueNode::Handle::cast_reinterpret(get_parent_value_node()));
+ description = strprintf("%s %s", _("ValueNode"),
+ value_node->get_description(get_index(), show_exported_name).c_str());
+ }
+ else if (parent_is_value_node_const())
+ {
+ synfig::ValueNode_Const::Handle value_node(synfig::ValueNode_Const::Handle::cast_reinterpret(get_parent_value_node()));
+ description = strprintf("%s %s", _("Const ValueNode"),
+ value_node->get_description(show_exported_name).c_str());
+ }
+ else if (parent_is_waypoint())
+ description = _("Waypoint");