/* === M E T H O D S ======================================================= */
String
-ValueDesc::get_description()const
+ValueDesc::get_description(bool show_exported_name)const
{
- String description(_("ValueDesc"));
+ String description;
+
+ if (show_exported_name && !is_exported())
+ show_exported_name = false;
if (parent_is_layer_param())
{
- description = strprintf("'%s' -> %s", // layer -> parameter
- get_layer()->get_non_empty_description().c_str(),
- get_param_name().c_str());
- if (is_exported())
+ description = strprintf("%s (%s):%s", _("Layer Parameter"),
+ get_layer()->get_non_empty_description().c_str(),
+ get_layer()->get_param_local_name(get_param_name()).c_str());
+ if (show_exported_name)
description += strprintf(" (%s)", get_value_node()->get_id().c_str());
}
else if (parent_is_value_node())
{
- 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", _("Value Node"),
+ value_node->get_description(get_index(), show_exported_name).c_str());
+ }
else
- description = value_node->link_local_name(get_index()); // sub-parameter
- if (is_exported())
- description += strprintf(" (%s)", get_value_node()->get_id().c_str());
+ {
+ warning("%s:%d didn't expect to get here", __FILE__, __LINE__);
+ assert(0);
+ }
+ }
+ else if (parent_is_canvas())
+ description = strprintf("%s (%s)", _("Exported ValueNode"),
+ get_value_node()->get_id().c_str());
+ else
+ {
+ error("Unknown ValueDesc type");
+ assert(0);
}
- else if (is_exported())
- description = strprintf(_("ValueNode (%s)"), get_value_node()->get_id().c_str());
return description;
}