** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
** Copyright (c) 2007, 2008 Chris Moore
+** Copyright (c) 2009 Carlos López
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
#include <gtkmm/scrolledwindow.h>
#include <gtkmm/notebook.h>
#include <gdkmm/device.h>
+#include <gtkmm/spinbutton.h>
#include <synfigapp/canvasinterface.h>
#include <synfigapp/selectionmanager.h>
#include "dialog_waypoint.h"
#include "dialog_keyframe.h"
+#include "framedial.h"
+#include "toggleducksdial.h"
+#include "resolutiondial.h"
+#include "widget_keyframe_list.h"
#include "duckmatic.h"
#include <gtkmm/scale.h>
Gtk::Button *stopbutton;
Gtk::Button *refreshbutton;
- Gtk::Button *treetogglebutton;
- Gtk::Notebook *notebook;
- Gtk::Widget *timebar;
-
+ Gtk::Button *treetogglebutton; // not used
+ Gtk::Notebook *notebook; // not used
+ Gtk::Table *timebar;
+ Gtk::Table *displaybar;
+ Gtk::Button *animatebutton;
+ Gtk::Button *keyframebutton;
+ FrameDial *framedial;
+ ToggleDucksDial *toggleducksdial;
+ bool toggling_ducks_;
+ ResolutionDial *resolutiondial;
+ bool changing_resolution_;
+ Gtk::Adjustment quality_adjustment_;
+ Gtk::SpinButton *quality_spin;
+ Gtk::Adjustment past_onion_adjustment_;
+ Gtk::SpinButton *past_onion_spin;
+ Gtk::Adjustment future_onion_adjustment_;
+ Gtk::SpinButton *future_onion_spin;
+ bool updating_quality_;
+ Gtk::ToggleButton *show_grid;
+ Gtk::ToggleButton *snap_grid;
+ Gtk::ToggleButton *onion_skin;
+ bool toggling_show_grid;
+ bool toggling_snap_grid;
+ bool toggling_onion_skin;
+ //! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
- std::auto_ptr<Widget_Timeslider> timeslider;
+ //! Time slider class. Same than the Time track panel
+ std::auto_ptr<Widget_Timeslider> timeslider;
- std::list<sigc::connection> duck_changed_connections;
+ //!Keyframe list slider
+ std::auto_ptr<Widget_Keyframe_List> widget_kf_list;
- Gtk::Button *animatebutton;
- Gtk::Button *keyframebutton;
+ std::list<sigc::connection> duck_changed_connections;
/* DEBUGPOINT_CLASS(8);
Gtk::CheckMenuItem* duck_mask_width;
Gtk::CheckMenuItem* duck_mask_angle;
*/
+ //! Menu members
Gtk::Menu parammenu;
Glib::RefPtr<Gtk::ToggleAction> grid_snap_toggle;
Gtk::Widget *create_time_bar();
+ Gtk::Widget *create_display_bar();
+
+ //! Pop up menu for the bezier (bline, draw) tool (?)
void popup_param_menu_bezier(float location, synfigapp::ValueDesc value_desc)
- { popup_param_menu(value_desc,location); }
+ { popup_param_menu(value_desc,location,true); }
- void popup_param_menu(synfigapp::ValueDesc value_desc, float location=0);
+ //! Pop up menu for the tools but not the bezier ones.
+ void popup_param_menu(synfigapp::ValueDesc value_desc, float location=0, bool bezier=false);
void workarea_layer_selected(synfig::Layer::Handle layer);
void decrease_low_res_pixel_size();
void increase_low_res_pixel_size();
+ void toggle_low_res_pixel_flag();
+ void set_quality(int x);
+ void set_onion_skins();
+ void toggle_show_grid();
+ void toggle_snap_grid();
+ void toggle_onion_skin();
/*
-- ** -- P U B L I C M E T H O D S -----------------------------------------
bool is_playing() { return is_playing_; }
+ void update_quality();
+
+
+
/*
-- ** -- S I G N A L T E R M I N A L S -------------------------------------
*/
private:
+ void on_select_layers();
void on_unselect_layers();
void on_input_device_changed(GdkDevice*);
//void on_audio_play();
bool on_audio_scrub();
+ void on_play_stop_pressed();
+
protected:
bool close_instance_when_safe();
bool on_delete_event(GdkEventAny* event);