layer_tree=0;
children_tree=0;
duck_refresh_flag=true;
+ toggling_ducks_=false;
smach_.set_default_state(&state_normal);
void
CanvasView::toggle_duck_mask(Duckmatic::Type type)
{
+ if(toggling_ducks_)
+ return;
+ toggling_ducks_=true;
bool is_currently_on(work_area->get_type_mask()&type);
if(is_currently_on)
work_area->set_type_mask(work_area->get_type_mask()|type);
work_area->queue_draw();
+ try
+ {
+ toggleducksdial->update_toggles(work_area->get_type_mask());
+ }
+ catch(...)
+ {
+ toggling_ducks_=false;
+ }
+ toggling_ducks_=false;
}
void
Gtk::Button *keyframebutton;
FrameDial *framedial;
ToggleDucksDial *toggleducksdial;
+ bool toggling_ducks_;
//! Shows current time and allows edition
}
void
-ToggleDucksDial::initiate_toggles(Duck::Type mask)
+ToggleDucksDial::update_toggles(Duck::Type mask)
{
ducks_position-> set_active((mask & Duck::TYPE_POSITION));
ducks_vertex -> set_active((mask & Duck::TYPE_VERTEX));
public:
ToggleDucksDial();
- void initiate_toggles(Duck::Type mask);
+ void update_toggles(Duck::Type mask);
Glib::SignalProxy0<void> signal_ducks_position() { return ducks_position->signal_toggled(); }
Glib::SignalProxy0<void> signal_ducks_vertex() { return ducks_vertex-> signal_toggled(); }
Glib::SignalProxy0<void> signal_ducks_tangent() { return ducks_tangent-> signal_toggled(); }