projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enable tooltips and allow use the 'hint' descriptor for some types for the linkable...
[synfig.git]
/
synfig-studio
/
src
/
gui
/
trees
/
canvastreestore.cpp
diff --git
a/synfig-studio/src/gui/trees/canvastreestore.cpp
b/synfig-studio/src/gui/trees/canvastreestore.cpp
index
8673c35
..
77ffe4b
100644
(file)
--- a/
synfig-studio/src/gui/trees/canvastreestore.cpp
+++ b/
synfig-studio/src/gui/trees/canvastreestore.cpp
@@
-37,8
+37,8
@@
#include <synfig/valuenode_animated.h>
#include <gtkmm/button.h>
#include <synfigapp/instance.h>
#include <synfig/valuenode_animated.h>
#include <gtkmm/button.h>
#include <synfigapp/instance.h>
-#include "cellrenderer_value.h"
-#include "cellrenderer_timetrack.h"
+#include "cellrenderer
/cellrenderer
_value.h"
+#include "cellrenderer
/cellrenderer
_timetrack.h"
#include <ETL/clock>
#include "general.h"
#include <ETL/clock>
#include "general.h"
@@
-193,6
+193,7
@@
CanvasTreeStore::get_value_vfunc(const Gtk::TreeModel::iterator& iter, int colum
if(column==model.type.index())
{
synfigapp::ValueDesc value_desc((*iter)[model.value_desc]);
if(column==model.type.index())
{
synfigapp::ValueDesc value_desc((*iter)[model.value_desc]);
+ String stype, lname;
Glib::Value<Glib::ustring> x;
g_value_init(x.gobj(),x.value_type());
Glib::Value<Glib::ustring> x;
g_value_init(x.gobj(),x.value_type());
@@
-205,16
+206,22
@@
CanvasTreeStore::get_value_vfunc(const Gtk::TreeModel::iterator& iter, int colum
}
else
{
}
else
{
- if(!value_desc.is_value_node() || value_desc.get_value_node()->get_name()=="constant")
+ stype=ValueBase::type_local_name(value_desc.get_value_type());
+ if(value_desc.get_value_node())
{
{
- x.set(ValueBase::type_local_name(value_desc.get_value_type()));
+ lname=value_desc.get_value_node()->get_name();
+ if (lname=="animated" || lname=="static" ||
+ synfig::LinkableValueNode::Handle::cast_dynamic(value_desc.get_value_node())
+ )
+ stype+=" (" + value_desc.get_value_node()->get_local_name() + ")";
}
}
- else
+ else
if(value_desc.parent_is_layer_param())
{
{
- x.set(value_desc.get_value_node()->get_local_name());
+ if(value_desc.get_value().get_static())
+ stype+=_(" (Static)");
}
}
}
}
-
+ x.set(stype.c_str());
g_value_init(value.gobj(),x.value_type());
g_value_copy(x.gobj(),value.gobj());
}
g_value_init(value.gobj(),x.value_type());
g_value_copy(x.gobj(),value.gobj());
}
@@
-420,12
+427,16
@@
CanvasTreeStore::set_row(Gtk::TreeRow row,synfigapp::ValueDesc value_desc, bool
if(linkable && do_children)
{
row[model.link_count] = linkable->link_count();
if(linkable && do_children)
{
row[model.link_count] = linkable->link_count();
- for(int i=0;i<linkable->link_count();i++)
+ LinkableValueNode::Vocab vocab(linkable->get_param_vocab());
+ LinkableValueNode::Vocab::iterator iter(vocab.begin());
+ for(int i=0;i<linkable->link_count();i++, iter++)
{
Gtk::TreeRow child_row=*(append(row.children()));
child_row[model.link_id] = i;
child_row[model.canvas] = static_cast<Canvas::Handle>(row[model.canvas]);
child_row[model.name] = linkable->link_local_name(i);
{
Gtk::TreeRow child_row=*(append(row.children()));
child_row[model.link_id] = i;
child_row[model.canvas] = static_cast<Canvas::Handle>(row[model.canvas]);
child_row[model.name] = linkable->link_local_name(i);
+ child_row[model.tooltip] = iter->get_description();
+ child_row[model.child_param_desc] = *iter;
set_row(child_row,synfigapp::ValueDesc(linkable,i));
}
}
set_row(child_row,synfigapp::ValueDesc(linkable,i));
}
}