Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / synfigapp / value_desc.cpp
index 96f04f6..a613d12 100644 (file)
@@ -48,35 +48,51 @@ using namespace synfigapp;
 /* === 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", _("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");
                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;
 }