X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_curves.cpp;h=b4a567876944c55ff73057a8cde5a8b72bc93fb1;hb=1e706e54c01cd6baae01b1199c8997c48345ed8c;hp=a9085ab78f36f2e2fd0465ebce76ae2c93b29bb8;hpb=c34eaa5441242b3e9a7b7645e9ee4983d14eae85;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp index a9085ab..b4a5678 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp @@ -2,10 +2,11 @@ /*! \file widget_curves.cpp ** \brief Template File ** -** $Id: widget_curves.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Gerco Ballintijn ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -38,6 +39,8 @@ #include #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -223,7 +226,6 @@ struct studio::Widget_Curves::CurveStruct : sigc::trackable void clear_all_values() { - DEBUGPOINT(); std::vector::iterator iter; for(iter=channels.begin();iter!=channels.end();++iter) iter->values.clear(); @@ -288,6 +290,15 @@ struct studio::Widget_Curves::CurveStruct : sigc::trackable return -channels[chan].values[time]; } + + static bool is_not_supported(const synfigapp::ValueDesc& x) + { + return x.get_value_type() == ValueBase::TYPE_STRING + || x.get_value_type() == ValueBase::TYPE_CANVAS + || x.get_value_type() == ValueBase::TYPE_GRADIENT + || x.get_value_type() == ValueBase::TYPE_LIST + || x.get_value_type() == ValueBase::TYPE_SEGMENT; + } }; /* === M E T H O D S ======================================================= */ @@ -364,11 +375,13 @@ Widget_Curves::set_value_descs(std::list value_descs) std::list::iterator iter; for(iter=value_descs.begin();iter!=value_descs.end();++iter) { + if (CurveStruct::is_not_supported(*iter)) + continue; + try { curve_list_.push_back(*iter); if(iter->is_value_node()) { - DEBUGPOINT(); iter->get_value_node()->signal_changed().connect( sigc::mem_fun( *this, @@ -378,7 +391,6 @@ Widget_Curves::set_value_descs(std::list value_descs) } if(iter->parent_is_value_node()) { - DEBUGPOINT(); iter->get_parent_value_node()->signal_changed().connect( sigc::mem_fun( *this, @@ -388,7 +400,6 @@ Widget_Curves::set_value_descs(std::list value_descs) } if(iter->parent_is_layer_param()) { - DEBUGPOINT(); iter->get_layer()->signal_changed().connect( sigc::mem_fun( *this, @@ -454,7 +465,7 @@ Widget_Curves::on_event(GdkEvent *event) } bool -Widget_Curves::redraw(GdkEventExpose*bleh) +Widget_Curves::redraw(GdkEventExpose */*bleh*/) { const int h(get_height()); const int w(get_width());