X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fcanvasview.cpp;h=4b1d3514ccdfe054ddedaeae45e9673134432b3c;hb=bbf05c1d5f53f61ec5b033c5c305a497d8389d46;hp=5d4c96b9999d6bb062a6cc97b51a28ecb9e850ae;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp b/synfig-studio/trunk/src/gtkmm/canvasview.cpp index 5d4c96b..4b1d351 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp +++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp @@ -1,20 +1,21 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file canvasview.cpp ** \brief Template File ** -** $Id: canvasview.cpp,v 1.7 2005/01/16 19:55:57 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -36,27 +37,28 @@ #include #include #include +#include #include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -//#include -//#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +//#include +//#include #include #include @@ -93,8 +95,8 @@ #include "audiocontainer.h" #include "widget_timeslider.h" -#include -#include +#include +#include #endif @@ -102,7 +104,7 @@ using namespace std; using namespace etl; -using namespace sinfg; +using namespace synfig; using namespace studio; using namespace SigC; @@ -110,7 +112,7 @@ using namespace SigC; #define GRAB_HINT_DATA(y) { \ String x; \ - if(sinfgapp::Main::settings().get_value(String("pref.")+y+"_hints",x)) \ + if(synfigapp::Main::settings().get_value(String("pref.")+y+"_hints",x)) \ { \ set_type_hint((Gdk::WindowTypeHint)atoi(x.c_str())); \ } \ @@ -154,17 +156,17 @@ using namespace SigC; #define NOT_IMPLEMENTED_SLOT sigc::mem_fun(*reinterpret_cast(get_ui_interface().get()),&studio::CanvasViewUIInterface::not_implemented) #define SLOT_EVENT(x) sigc::hide_return(sigc::bind(sigc::mem_fun(*this,&studio::CanvasView::process_event_key),x)) - + /* === C L A S S E S ======================================================= */ - + class studio::UniversalScrubber { CanvasView *canvas_view; bool scrubbing; etl::clock scrub_timer; - + sigc::connection end_scrub_connection; public: UniversalScrubber(CanvasView *canvas_view): @@ -175,12 +177,12 @@ public: sigc::mem_fun(*this,&studio::UniversalScrubber::on_time_changed) ); } - + ~UniversalScrubber() { end_scrub_connection.disconnect(); } - + void on_time_changed() { // Make sure we are changing the time quickly @@ -190,14 +192,14 @@ public: scrub_timer.reset(); return; } - + // If we aren't scrubbing already, enable it if(!scrubbing) { - scrubbing=true; + scrubbing=true; audio_container()->start_scrubbing(canvas_view->get_time()); } - + // Reset the scrubber ender end_scrub_connection.disconnect(); end_scrub_connection=Glib::signal_timeout().connect( @@ -213,14 +215,14 @@ public: scrub_timer.reset(); } - + void end_of_scrubbing() - { + { scrubbing=false; audio_container()->stop_scrubbing(); scrub_timer.reset(); } - + handle audio_container() { assert(canvas_view->audio); @@ -228,8 +230,8 @@ public: } }; - -class studio::CanvasViewUIInterface : public sinfgapp::UIInterface + +class studio::CanvasViewUIInterface : public synfigapp::UIInterface { CanvasView *view; @@ -238,7 +240,7 @@ public: CanvasViewUIInterface(CanvasView *view): view(view) { - + view->statusbar->push("Idle"); } @@ -260,11 +262,11 @@ public: ); Gtk::Label label(message); label.show(); - + dialog.get_vbox()->pack_start(label); dialog.add_button(Gtk::StockID("gtk-yes"),RESPONSE_YES); dialog.add_button(Gtk::StockID("gtk-no"),RESPONSE_NO); - + dialog.set_default_response(dflt); dialog.show(); return (Response)dialog.run(); @@ -281,12 +283,12 @@ public: ); Gtk::Label label(message); label.show(); - + dialog.get_vbox()->pack_start(label); dialog.add_button(Gtk::StockID("gtk-yes"),RESPONSE_YES); dialog.add_button(Gtk::StockID("gtk-no"),RESPONSE_NO); dialog.add_button(Gtk::StockID("gtk-cancel"),RESPONSE_CANCEL); - + dialog.set_default_response(dflt); dialog.show(); return (Response)dialog.run(); @@ -303,11 +305,11 @@ public: ); Gtk::Label label(message); label.show(); - + dialog.get_vbox()->pack_start(label); dialog.add_button(Gtk::StockID("gtk-ok"),RESPONSE_OK); dialog.add_button(Gtk::StockID("gtk-cancel"),RESPONSE_CANCEL); - + dialog.set_default_response(dflt); dialog.show(); return (Response)dialog.run(); @@ -317,7 +319,7 @@ public: task(const std::string &task) { if(!view->is_playing_) - { + { view->statusbar->pop(); view->statusbar->push(task); } @@ -330,23 +332,12 @@ public: error(const std::string &err) { view->statusbar->push("ERROR"); - + // If we are in the process of canceling, // then just go ahead and return false -- // don't bother displaying a dialog if(view->cancel)return false; - - Gtk::Dialog dialog( - "Error", // Title - *view, // Parent - true, // Modal - true // use_separator - ); - Gtk::Label label(err); - label.show(); - - dialog.get_vbox()->pack_start(label); - dialog.add_button(Gtk::StockID("gtk-ok"),RESPONSE_OK); + Gtk::MessageDialog dialog(*view, err, false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_CLOSE, true); dialog.show(); dialog.run(); view->statusbar->pop(); @@ -358,7 +349,7 @@ public: { view->statusbar->pop(); view->statusbar->push(err); - + //while(studio::App::events_pending())studio::App::iteration(false); if(view->cancel)return false; return true; @@ -368,7 +359,7 @@ public: amount_complete(int current, int total) { if(!view->is_playing_) - { + { if(!view->working_depth) { if(current) @@ -385,7 +376,7 @@ public: if(view->cancel){/*view->cancel=false;*/return false;} return true; } - + void not_implemented() { @@ -393,7 +384,7 @@ public: } }; -class studio::CanvasViewSelectionManager : public sinfgapp::SelectionManager +class studio::CanvasViewSelectionManager : public synfigapp::SelectionManager { CanvasView *view; CanvasView::LayerTreeModel layer_tree_model; @@ -401,13 +392,13 @@ class studio::CanvasViewSelectionManager : public sinfgapp::SelectionManager public: CanvasViewSelectionManager(CanvasView *view): view(view) -{ - +{ + } - + private: - void _set_selected_layer(const sinfg::Layer::Handle &layer) + void _set_selected_layer(const synfig::Layer::Handle &layer) { view->layer_tree->select_layer(layer); /* @@ -416,13 +407,13 @@ private: // It musta been for some reason, but I cannot recall. //if(App::Busy::count) // return; - + if(view->layer_tree->get_selection()->get_selected()) { const Gtk::TreeRow row = *(view->layer_tree->get_selection()->get_selected()); // Don't do anything if that layer is already selected - if(layer == static_cast(row[layer_tree_model.layer])) + if(layer == static_cast(row[layer_tree_model.layer])) return; } Gtk::TreeModel::Children::iterator iter; @@ -443,7 +434,7 @@ private: */ } public: - + //! Returns the number of layers selected. virtual int get_selected_layer_count()const { @@ -454,26 +445,26 @@ public: virtual LayerList get_selected_layers()const { // assert(view->layer_tree); - - if(!view->layer_tree) { DEBUGPOINT(); sinfg::error("canvas_view.layer_tree not defined!?"); return LayerList(); } + + if(!view->layer_tree) { DEBUGPOINT(); synfig::error("canvas_view.layer_tree not defined!?"); return LayerList(); } return view->layer_tree->get_selected_layers(); } - + //! Returns the first layer selected or an empty handle if none are selected. - virtual sinfg::Layer::Handle get_selected_layer()const + virtual synfig::Layer::Handle get_selected_layer()const { // assert(view->layer_tree); - - if(!view->layer_tree) { DEBUGPOINT(); sinfg::error("canvas_view.layer_tree not defined!?"); return 0; } + + if(!view->layer_tree) { DEBUGPOINT(); synfig::error("canvas_view.layer_tree not defined!?"); return 0; } return view->layer_tree->get_selected_layer(); } - + //! Sets which layers should be selected virtual void set_selected_layers(const LayerList &layer_list) { // assert(view->layer_tree); - - if(!view->layer_tree) { DEBUGPOINT(); sinfg::error("canvas_view.layer_tree not defined!?"); return; } + + if(!view->layer_tree) { DEBUGPOINT(); synfig::error("canvas_view.layer_tree not defined!?"); return; } view->layer_tree->select_layers(layer_list); //view->get_smach().process_event(EVENT_REFRESH_DUCKS); @@ -481,11 +472,11 @@ public: } //! Sets which layer should be selected. - virtual void set_selected_layer(const sinfg::Layer::Handle &layer) + virtual void set_selected_layer(const synfig::Layer::Handle &layer) { // assert(view->layer_tree); - - if(!view->layer_tree) { DEBUGPOINT(); sinfg::error("canvas_view.layer_tree not defined!?"); return; } + + if(!view->layer_tree) { DEBUGPOINT(); synfig::error("canvas_view.layer_tree not defined!?"); return; } view->layer_tree->select_layer(layer); //view->queue_rebuild_ducks(); } @@ -504,27 +495,27 @@ public: { return get_selected_children().size(); } - + static inline void __child_grabber(const Gtk::TreeModel::iterator& iter, ChildrenList* ret) { const CanvasView::ChildrenTreeModel children_tree_model; - sinfgapp::ValueDesc value_desc((*iter)[children_tree_model.value_desc]); + synfigapp::ValueDesc value_desc((*iter)[children_tree_model.value_desc]); if(value_desc) ret->push_back(value_desc); } - + //! Returns a list of the currently selected value_nodes. virtual ChildrenList get_selected_children()const { if(!view->children_tree) return ChildrenList(); - + Glib::RefPtr selection=view->children_tree->get_selection(); if(!selection) return ChildrenList(); - + ChildrenList ret; - + selection->selected_foreach_iter( sigc::bind( sigc::ptr_fun( @@ -533,7 +524,7 @@ public: &ret ) ); - + /* Gtk::TreeModel::Children::iterator iter(view->children_tree_store()->children().begin()); iter++; @@ -542,12 +533,12 @@ public: { Gtk::TreeModel::Row row = *iter; if(selection->is_selected(row)) - ret.push_back((sinfgapp::ValueDesc)row[children_tree_model.value_desc]); + ret.push_back((synfigapp::ValueDesc)row[children_tree_model.value_desc]); } */ return ret; } - + //! Returns the first value_node selected or an empty handle if none are selected. virtual ChildrenList::value_type get_selected_child()const { @@ -560,7 +551,7 @@ public: return children.front(); } - + //! Sets which value_nodes should be selected virtual void set_selected_children(const ChildrenList &children_list) { @@ -578,14 +569,14 @@ public: { return; } - - - + + + int get_selected_layer_parameter_count()const { return get_selected_layer_parameters().size(); } - + LayerParamList get_selected_layer_parameters()const { if(!view->layer_tree) return LayerParamList(); @@ -594,9 +585,9 @@ public: if(!selection) return LayerParamList(); - + LayerParamList ret; - + Gtk::TreeModel::Children children = const_cast(view)->layer_tree_store()->children(); Gtk::TreeModel::Children::iterator iter; for(iter = children.begin(); iter != children.end(); ++iter) @@ -612,23 +603,23 @@ public: } return ret; } - + LayerParam get_selected_layer_parameter() const { if(!view->layer_tree) return LayerParam(); return get_selected_layer_parameters().front(); } - + void set_selected_layer_parameters(const LayerParamList &layer_param_list) { return; } - + void set_selected_layer_param(const LayerParam &layer_param) { return; } - + void clear_selected_layer_parameters() { return; @@ -662,7 +653,7 @@ CanvasView::IsWorking::operator bool()const /* === M E T H O D S ======================================================= */ -CanvasView::CanvasView(etl::loose_handle instance,etl::handle canvas_interface_): +CanvasView::CanvasView(etl::loose_handle instance,etl::handle canvas_interface_): smach_ (this), instance_ (instance), canvas_interface_ (canvas_interface_), @@ -672,16 +663,16 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handle instance,etl::handleset_time(0); //layer_tree_store_->rebuild(); - + // Set up the UI and Selection managers canvas_interface()->set_ui_interface(get_ui_interface()); canvas_interface()->set_selection_manager(get_selection_manager()); rebuild_ducks_queued=false; - + //notebook=manage(new class Gtk::Notebook()); //Gtk::VPaned *vpaned = manage(new class Gtk::VPaned()); //vpaned->pack1(*create_work_area(), Gtk::EXPAND|Gtk::SHRINK); @@ -716,25 +707,25 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handleshow(); - + //notebook->append_page(*create_layer_tree(),"Layers"); //notebook->append_page(*create_children_tree(),"Children"); //notebook->append_page(*create_keyframe_tree(),"Keyframes"); - - //sinfg::info("Canvasview: Before big chunk of allocation and tabling stuff"); + + //synfig::info("Canvasview: Before big chunk of allocation and tabling stuff"); //create all allocated stuff for this canvas audio = new AudioContainer(); - - Gtk::Table *layout_table= manage(new class Gtk::Table(1, 3, false)); + + Gtk::Table *layout_table= manage(new class Gtk::Table(1, 3, false)); //layout_table->attach(*vpaned, 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); layout_table->attach(*create_work_area(), 0, 1, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - init_menus(); + init_menus(); //layout_table->attach(*App::ui_manager()->get_widget("/menu-main"), 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); - - + + layout_table->attach(*create_time_bar(), 0, 1, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); layout_table->attach(*create_status_bar(), 0, 1, 4, 5, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); - + update_title(); layout_table->show(); @@ -742,7 +733,7 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handle instance,etl::handlesignal_rend_desc_changed().connect(sigc::mem_fun(*this,&studio::CanvasView::refresh_rend_desc)); waypoint_dialog.signal_changed().connect(sigc::mem_fun(*this,&studio::CanvasView::on_waypoint_changed)); waypoint_dialog.signal_delete().connect(sigc::mem_fun(*this,&studio::CanvasView::on_waypoint_delete)); - + //MODIFIED TIME ADJUSTMENT STUFF.... time_window_adjustment().set_child_adjustment(&time_adjustment()); - time_window_adjustment().signal_value_changed().connect(sigc::mem_fun(*this,&studio::CanvasView::refresh_time_window)); + time_window_adjustment().signal_value_changed().connect(sigc::mem_fun(*this,&studio::CanvasView::refresh_time_window)); time_adjustment().signal_value_changed().connect(sigc::mem_fun(*this,&studio::CanvasView::time_was_changed)); @@ -785,21 +776,21 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handlequeue_render_preview(); - + // If the canvas is really big, zoom out so that we can fit it all in the window - /*! \todo In other words, this is a zoom-to-fit, and should be - ** in it's own function. + /*! \todo In other words, this is a zoom-to-fit, and should be + ** in its own function. */ int w=get_canvas()->rend_desc().get_w()+70; int h=get_canvas()->rend_desc().get_h()+70; @@ -808,15 +799,15 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handlezoom_out(); w=round_to_int(get_canvas()->rend_desc().get_w()*work_area->get_zoom()+70); h=round_to_int(get_canvas()->rend_desc().get_h()*work_area->get_zoom()+70); - } + } if(w>700)w=700; - if(h>600)h=600; + if(h>600)h=600; set_default_size(w,h); property_window_position().set_value(Gtk::WIN_POS_NONE); - - - - + + + + std::list listTargets; listTargets.push_back( Gtk::TargetEntry("STRING") ); listTargets.push_back( Gtk::TargetEntry("text/plain") ); @@ -839,38 +830,38 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handlesignal_file_changed().connect(sigc::mem_fun(*this,&CanvasView::on_audio_file_change)); sound_dialog->signal_offset_changed().connect(sigc::mem_fun(*this,&CanvasView::on_audio_offset_change)); - - //attach to the preview when it's visible + + //attach to the preview when it's visible //preview_dialog->get_widget().signal_play().connect(sigc::mem_fun(*this,&CanvasView::play_audio)); //preview_dialog->get_widget().signal_stop().connect(sigc::mem_fun(*this,&CanvasView::stop_audio)); - + //hook to metadata signals get_canvas()->signal_meta_data_changed("audiofile").connect(sigc::mem_fun(*this,&CanvasView::on_audio_file_notify)); get_canvas()->signal_meta_data_changed("audiooffset").connect(sigc::mem_fun(*this,&CanvasView::on_audio_offset_notify)); //universal_scrubber=std::auto_ptr(new UniversalScrubber(this)); } - - //sinfg::info("Canvasview: Before Final time set up"); + + //synfig::info("Canvasview: Before Final time set up"); //MORE TIME STUFF time_window_adjustment().set_value(get_canvas()->rend_desc().get_time_start()); time_window_adjustment().value_changed(); - + GRAB_HINT_DATA("canvas_view"); /* { @@ -879,12 +870,12 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handlesecond) delete ext_widget_book_.begin()->second; } - + //delete preview audio.reset(); - + hide(); - - sinfg::info("CanvasView:~CanvasView(): Destructor Finished"); + + synfig::info("CanvasView:~CanvasView(): Destructor Finished"); } @@ -932,8 +923,8 @@ CanvasView::create_time_bar() timeslider->set_time_adjustment(&time_adjustment()); timeslider->set_bounds_adjustment(&time_window_adjustment()); //layout_table->attach(*timeslider, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL); - - + + tooltips.set_tip(*time_window_scroll,_("Moves the time window")); tooltips.set_tip(*timeslider,_("Changes the current time")); time_window_scroll->show(); @@ -943,19 +934,19 @@ CanvasView::create_time_bar() //time_scroll->signal_value_changed().connect(sigc::mem_fun(*work_area, &studio::WorkArea::render_preview_hook)); //time_scroll->set_update_policy(Gtk::UPDATE_DISCONTINUOUS); - + NORMAL_BUTTON(animatebutton,"gtk-yes","Animate"); animatebutton->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasView::on_animate_button_pressed)); animatebutton->show(); - NORMAL_BUTTON(keyframebutton,"sinfg-keyframe_lock_all","All Keyframes Locked"); + NORMAL_BUTTON(keyframebutton,"synfig-keyframe_lock_all","All Keyframes Locked"); keyframebutton->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasView::on_keyframe_button_pressed)); keyframebutton->show(); - + Gtk::Table *table= manage(new class Gtk::Table(2, 3, false)); //setup the audio display - disp_audio->set_size_request(-1,32); //disp_audio.show(); + disp_audio->set_size_request(-1,32); //disp_audio->show(); disp_audio->set_time_adjustment(&time_adjustment()); disp_audio->signal_start_scrubbing().connect( sigc::mem_fun(*audio,&AudioContainer::start_scrubbing) @@ -966,7 +957,7 @@ CanvasView::create_time_bar() disp_audio->signal_stop_scrubbing().connect( sigc::mem_fun(*audio,&AudioContainer::stop_scrubbing) ); - + table->attach(*manage(disp_audio), 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); table->attach(*timeslider, 0, 1, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK, 0, 0); table->attach(*time_window_scroll, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK, 0, 0); @@ -996,7 +987,7 @@ Gtk::Widget* CanvasView::create_status_bar() { Gtk::Image *icon; - Gtk::IconSize iconsize=Gtk::IconSize::from_name("sinfg-small_icon"); + Gtk::IconSize iconsize=Gtk::IconSize::from_name("synfig-small_icon"); cancel=false; // Create the status bar at the bottom of the window @@ -1039,7 +1030,7 @@ CanvasView::create_status_bar() refreshbutton->signal_clicked().connect(SLOT_EVENT(EVENT_REFRESH)); stopbutton->signal_clicked().connect(SLOT_EVENT(EVENT_STOP)); - + statusbartable->show_all(); return statusbartable; } @@ -1067,7 +1058,7 @@ CanvasView::create_children_tree() if(children_tree)children_tree->signal_waypoint_clicked().connect(sigc::mem_fun(*this, &studio::CanvasView::on_waypoint_clicked)); if(children_tree)children_tree->get_selection()->signal_changed().connect(SLOT_EVENT(EVENT_REFRESH_DUCKS)); - return children_tree; + return children_tree; } Gtk::Widget* @@ -1079,10 +1070,10 @@ CanvasView::create_keyframe_tree() //keyframe_tree->show(); //keyframe_tree->set_model(keyframe_tree_store()); keyframe_tree->set_editable(true); - //keyframe_tree->signal_edited().connect(sigc::hide_return(sigc::mem_fun(*canvas_interface(), &sinfgapp::CanvasInterface::update_keyframe))); + //keyframe_tree->signal_edited().connect(sigc::hide_return(sigc::mem_fun(*canvas_interface(), &synfigapp::CanvasInterface::update_keyframe))); keyframe_tree->signal_event().connect(sigc::mem_fun(*this, &studio::CanvasView::on_keyframe_tree_event)); - + Gtk::ScrolledWindow *scroll_layer_tree = manage(new class Gtk::ScrolledWindow()); scroll_layer_tree->set_flags(Gtk::CAN_FOCUS); scroll_layer_tree->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); @@ -1090,31 +1081,31 @@ CanvasView::create_keyframe_tree() scroll_layer_tree->set_shadow_type(Gtk::SHADOW_ETCHED_IN); //scroll_layer_tree->show(); - - Gtk::Table *layout_table= manage(new Gtk::Table(1, 2, false)); + + Gtk::Table *layout_table= manage(new Gtk::Table(1, 2, false)); layout_table->attach(*scroll_layer_tree, 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - + Gtk::Image *icon; - Gtk::IconSize iconsize(Gtk::IconSize::from_name("sinfg-small_icon")); + Gtk::IconSize iconsize(Gtk::IconSize::from_name("synfig-small_icon")); NEW_SMALL_BUTTON(button_add,"gtk-add","New Keyframe"); - NEW_SMALL_BUTTON(button_duplicate,"sinfg-duplicate","Duplicate Keyframe"); + NEW_SMALL_BUTTON(button_duplicate,"synfig-duplicate","Duplicate Keyframe"); NEW_SMALL_BUTTON(button_delete,"gtk-delete","Delete Keyframe"); Gtk::HBox *hbox(manage(new Gtk::HBox())); layout_table->attach(*hbox, 0, 1, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK, 0, 0); - + hbox->pack_start(*button_add,Gtk::PACK_SHRINK); hbox->pack_start(*button_duplicate,Gtk::PACK_SHRINK); hbox->pack_start(*button_delete,Gtk::PACK_SHRINK); - + /* button_raise->set_relief(Gtk::RELIEF_HALF); button_lower->set_relief(Gtk::RELIEF_HALF); button_duplicate->set_relief(Gtk::RELIEF_HALF); button_delete->set_relief(Gtk::RELIEF_HALF); */ - + button_add->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasView::on_keyframe_add_pressed)); button_duplicate->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasView::on_keyframe_duplicate_pressed)); button_delete->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasView::on_keyframe_remove_pressed)); @@ -1122,11 +1113,11 @@ CanvasView::create_keyframe_tree() //layout_table->show_all(); keyframe_tab_child=layout_table; - - + + layout_table->hide(); - - return layout_table; + + return layout_table; } Gtk::Widget* @@ -1149,7 +1140,7 @@ CanvasView::create_layer_tree() layer_tree->get_selection()->signal_changed().connect(SLOT_EVENT(EVENT_REFRESH_DUCKS)); layer_tree->hide(); - return layer_tree; + return layer_tree; } void @@ -1169,7 +1160,7 @@ CanvasView::init_menus() layermenu.set_accel_path("/Layer"); */ //cache the position of desired widgets - + /*Menus to worry about: - filemenu - editmenu @@ -1180,7 +1171,7 @@ CanvasView::init_menus() - viewmenu */ action_group = Gtk::ActionGroup::create(); - + //action_group->add( Gtk::Action::create("MenuFile", "_File") ); action_group->add( Gtk::Action::create("save", Gtk::Stock::SAVE), hide_return(sigc::mem_fun(*get_instance().get(), &studio::Instance::save)) @@ -1191,23 +1182,23 @@ CanvasView::init_menus() action_group->add( Gtk::Action::create("revert", Gtk::Stock::REVERT_TO_SAVED), sigc::hide_return(sigc::mem_fun(*get_instance().get(), &studio::Instance::safe_revert)) ); - action_group->add( Gtk::Action::create("cvs-add", Gtk::StockID("sinfg-cvs_add")), + action_group->add( Gtk::Action::create("cvs-add", Gtk::StockID("synfig-cvs_add")), sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_add)) ); - action_group->add( Gtk::Action::create("cvs-update", Gtk::StockID("sinfg-cvs_update")), + action_group->add( Gtk::Action::create("cvs-update", Gtk::StockID("synfig-cvs_update")), sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_update)) ); - action_group->add( Gtk::Action::create("cvs-revert", Gtk::StockID("sinfg-cvs_revert")), + action_group->add( Gtk::Action::create("cvs-revert", Gtk::StockID("synfig-cvs_revert")), sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_revert)) ); - action_group->add( Gtk::Action::create("cvs-commit", Gtk::StockID("sinfg-cvs_commit")), + action_group->add( Gtk::Action::create("cvs-commit", Gtk::StockID("synfig-cvs_commit")), sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_commit)) ); action_group->add( Gtk::Action::create("import", _("Import")), sigc::hide_return(sigc::mem_fun(*this, &studio::CanvasView::image_import)) ); action_group->add( Gtk::Action::create("render", _("Render")), - sigc::mem_fun(render_settings,&studio::RenderSettings::present) + sigc::mem_fun0(render_settings,&studio::RenderSettings::present) ); action_group->add( Gtk::Action::create("preview", _("Preview")), sigc::mem_fun(*this,&CanvasView::on_preview_option) @@ -1216,10 +1207,10 @@ CanvasView::init_menus() sigc::mem_fun(*this,&CanvasView::on_audio_option) ); action_group->add( Gtk::Action::create("options", _("Options")), - sigc::mem_fun(canvas_options,&studio::CanvasOptions::present) + sigc::mem_fun0(canvas_options,&studio::CanvasOptions::present) ); action_group->add( Gtk::Action::create("close", Gtk::StockID("gtk-close")), - sigc::hide_return(sigc::mem_fun(*this,&studio::CanvasView::close)) + sigc::hide_return(sigc::mem_fun(*this,&studio::CanvasView::close)) ); //action_group->add( Gtk::Action::create("undo", Gtk::StockID("gtk-undo")), @@ -1241,13 +1232,13 @@ CanvasView::init_menus() action_group->add( Gtk::Action::create("stop", Gtk::StockID("gtk-stop")), SLOT_EVENT(EVENT_STOP) ); - + action_group->add( Gtk::Action::create("refresh", Gtk::StockID("gtk-refresh")), SLOT_EVENT(EVENT_REFRESH) ); action_group->add( Gtk::Action::create("properties", Gtk::StockID("gtk-properties")), - sigc::mem_fun(canvas_properties,&studio::CanvasProperties::present) + sigc::mem_fun0(canvas_properties,&studio::CanvasProperties::present) ); // Preview Quality Menu @@ -1273,12 +1264,12 @@ CanvasView::init_menus() } } - action_group->add( Gtk::Action::create("play", Gtk::StockID("sinfg-play")), + action_group->add( Gtk::Action::create("play", Gtk::StockID("synfig-play")), sigc::mem_fun(*this, &studio::CanvasView::play) ); - + action_group->add( Gtk::Action::create("dialog-flipbook", _("Flipbook Dialog")), - sigc::mem_fun(*preview_dialog, &studio::Dialog_Preview::present) + sigc::mem_fun0(*preview_dialog, &studio::Dialog_Preview::present) ); action_group->add( Gtk::Action::create("toggle-grid-show", _("Toggle Grid Show")), @@ -1308,55 +1299,53 @@ CanvasView::init_menus() { Glib::RefPtr action; - + action=Gtk::Action::create("seek-next-frame", Gtk::Stock::GO_FORWARD,_("Next Frame"),_("Next Frame")); - action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek_frame),1)); + action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_frame),1)); action=Gtk::Action::create("seek-prev-frame", Gtk::Stock::GO_BACK,_("Prev Frame"),_("Prev Frame")); - action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek_frame),-1)); + action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_frame),-1)); action=Gtk::Action::create("seek-next-second", Gtk::Stock::GO_FORWARD,_("Seek Foward"),_("Seek Foward")); - action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek_time),Time(1))); + action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_time),Time(1))); action=Gtk::Action::create("seek-prev-second", Gtk::Stock::GO_BACK,_("Seek Backward"),_("Seek Backward")); - action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek_time),Time(-1))); + action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_time),Time(-1))); - // Broken...!? - /* action=Gtk::Action::create("seek-end", Gtk::Stock::GOTO_LAST,_("Seek to End"),_("Seek to End")); - action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek_time),Time::end())); - */ + action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_time),Time::end())); + action=Gtk::Action::create("seek-begin", Gtk::Stock::GOTO_FIRST,_("Seek to Begin"),_("Seek to Begin")); - action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek_time),Time::begin())); + action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_time),Time::begin())); action=Gtk::Action::create("jump-next-keyframe", Gtk::Stock::GO_FORWARD,_("Jump to Next Keyframe"),_("Jump to Next Keyframe")); - action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::jump_to_next_keyframe)); + action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_next_keyframe)); action=Gtk::Action::create("jump-prev-keyframe", Gtk::Stock::GO_BACK,_("Jump to Prev Keyframe"),_("Jump to Prev Keyframe")); - action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::jump_to_prev_keyframe)); + action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_prev_keyframe)); action=Gtk::Action::create("canvas-zoom-in", Gtk::Stock::ZOOM_IN); action_group->add( action,sigc::mem_fun(*work_area, &studio::WorkArea::zoom_in)); - + action=Gtk::Action::create("canvas-zoom-out", Gtk::Stock::ZOOM_OUT); action_group->add( action, sigc::mem_fun(*work_area, &studio::WorkArea::zoom_out) ); - + action=Gtk::Action::create("time-zoom-in", Gtk::Stock::ZOOM_IN, _("Zoom In on Timeline")); action_group->add( action, sigc::mem_fun(*this, &studio::CanvasView::time_zoom_in) ); - + action=Gtk::Action::create("time-zoom-out", Gtk::Stock::ZOOM_OUT, _("Zoom Out on Timeline")); action_group->add( action, sigc::mem_fun(*this, &studio::CanvasView::time_zoom_out) ); - + } #define DUCK_MASK(lower,upper) \ - duck_mask_##lower=Gtk::ToggleAction::create("mask-" #lower "-ducks", _("Mask "#lower" ducks")); \ + duck_mask_##lower=Gtk::ToggleAction::create("mask-" #lower "-ducks", _("Show "#lower" ducks")); \ duck_mask_##lower->set_active((bool)(work_area->get_type_mask()&Duck::TYPE_##upper)); \ action_group->add( duck_mask_##lower, \ sigc::bind( \ sigc::mem_fun(*this, &studio::CanvasView::toggle_duck_mask), \ Duck::TYPE_##upper \ ) \ - ) + ) DUCK_MASK(position,POSITION); DUCK_MASK(tangent,TANGENT); DUCK_MASK(vertex,VERTEX); @@ -1372,31 +1361,31 @@ CanvasView::init_menus() { Glib::RefPtr accel_action_group(Gtk::ActionGroup::create("canvas_view")); Glib::RefPtr action; - + action=Gtk::Action::create("seek-next-frame", Gtk::StockID("gtk-forward"),_("Next Frame"),_("Next Frame")); - accel_action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek),1)); + accel_action_group->add(action,sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek),1)); action=Gtk::Action::create("seek-prev-frame", Gtk::StockID("gtk-forward"),_("Prev Frame"),_("Prev Frame")); - accel_action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::seek),-1)); + accel_action_group->add( action, sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek),-1)); action=Gtk::Action::create("jump-next-keyframe", Gtk::StockID("gtk-forward"),_("Jump to Next Keyframe"),_("Jump to Next Keyframe")); - accel_action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::jump_to_next_keyframe)); + accel_action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_next_keyframe)); action=Gtk::Action::create("jump-prev-keyframe", Gtk::StockID("gtk-back"),_("Jump to Prev Keyframe"),_("Jump to Prev Keyframe")); - accel_action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::jump_to_prev_keyframe)); + accel_action_group->add( action,sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_prev_keyframe)); action=Gtk::Action::create("canvas-zoom-in", Gtk::StockID("gtk-zoom-in")); accel_action_group->add( action,sigc::mem_fun(*work_area, &studio::WorkArea::zoom_in)); - + action=Gtk::Action::create("canvas-zoom-out", Gtk::StockID("gtk-zoom-out")); accel_action_group->add( action, sigc::mem_fun(*work_area, &studio::WorkArea::zoom_out) ); - + action=Gtk::Action::create("time-zoom-in", Gtk::StockID("gtk-zoom-in"), _("Zoom In on Timeline")); accel_action_group->add( action, sigc::mem_fun(*this, &studio::CanvasView::time_zoom_in) ); - + action=Gtk::Action::create("time-zoom-out", Gtk::StockID("gtk-zoom-out"), _("Zoom Out on Timeline")); accel_action_group->add( action, sigc::mem_fun(*this, &studio::CanvasView::time_zoom_out) ); - + Glib::RefPtr accel_ui_manager(Gtk::UIManager::create()); Glib::ustring ui_info = @@ -1415,7 +1404,7 @@ CanvasView::init_menus() accel_ui_manager->add_ui_from_string(ui_info); add_accel_group(accel_ui_manager->get_accel_group()); - + accel_ui_manager->insert_action_group(accel_action_group); set_ref_obj("accel_ui_manager",accel_ui_manager); set_ref_obj("accel_action_group",accel_action_group); @@ -1424,19 +1413,19 @@ CanvasView::init_menus() -#if 0 - +#if 0 + //Test some key stuff - + filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-save"), hide_return(sigc::mem_fun(*get_instance().get(), &studio::Instance::save)))); filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-save-as"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_save_as)))); filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-revert-to-saved"),hide_return(sigc::mem_fun(*get_instance().get(), &studio::Instance::safe_revert)))); filemenu.items().push_back(Gtk::Menu_Helpers::SeparatorElem()); - filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-cvs_add"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_add)))); - filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-cvs_update"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_update)))); - filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-cvs_commit"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_commit)))); + filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("synfig-cvs_add"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_add)))); + filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("synfig-cvs_update"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_update)))); + filemenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("synfig-cvs_commit"),sigc::hide_return(sigc::mem_fun(*get_instance(), &studio::Instance::dialog_cvs_commit)))); filemenu.items().push_back(Gtk::Menu_Helpers::SeparatorElem()); filemenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Import..."),Gtk::AccelKey('I',Gdk::CONTROL_MASK),sigc::hide_return(sigc::mem_fun(*this, &studio::CanvasView::image_import)))); @@ -1446,11 +1435,11 @@ CanvasView::init_menus() )); filemenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Preview"),Gtk::AccelKey("F11"), sigc::mem_fun(*this,&CanvasView::on_preview_option) - )); + )); filemenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Sound File"), sigc::mem_fun(*this,&CanvasView::on_audio_option) - )); - + )); + filemenu.items().push_back(Gtk::Menu_Helpers::SeparatorElem()); filemenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Options"),Gtk::AccelKey("F12"), sigc::mem_fun(canvas_options,&studio::CanvasOptions::present) @@ -1474,13 +1463,6 @@ CanvasView::init_menus() editmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-stop"),Gtk::AccelKey(GDK_Escape,static_cast(0)),SLOT_EVENT(EVENT_STOP))); editmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-refresh"),Gtk::AccelKey('k',Gdk::CONTROL_MASK),SLOT_EVENT(EVENT_REFRESH))); editmenu.items().push_back(Gtk::Menu_Helpers::SeparatorElem()); - editmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-rotoscope_bline"), - sigc::mem_fun(*this, &studio::CanvasView::do_rotoscope_bline))); - editmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-rotoscope_polygon"), - sigc::mem_fun(*this, &studio::CanvasView::do_rotoscope_poly))); - editmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-eyedrop"), - sigc::mem_fun(*this, &studio::CanvasView::do_eyedrop))); - editmenu.items().push_back(Gtk::Menu_Helpers::SeparatorElem()); editmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-properties"),Gtk::AccelKey("F8"), sigc::mem_fun(canvas_properties,&studio::CanvasProperties::present) )); @@ -1490,13 +1472,13 @@ CanvasView::init_menus() { - sinfgapp::Action::ParamList param_list; + synfigapp::Action::ParamList param_list; param_list.add("canvas",Canvas::Handle(get_canvas())); param_list.add("canvas_interface",canvas_interface()); - add_actions_to_menu(&canvasmenu, param_list,sinfgapp::Action::CATEGORY_CANVAS); + add_actions_to_menu(&canvasmenu, param_list,synfigapp::Action::CATEGORY_CANVAS); } - + //canvasmenu.items().push_back(Gtk::Menu_Helpers::MenuElem("Keyframe Dialog",sigc::mem_fun(keyframe_dialog,&studio::Dialog_Keyframe::present))); // Duck Mask Menu @@ -1566,7 +1548,7 @@ CanvasView::init_menus() viewmenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Mask Ducks"),duckmaskmenu)); } - + // Preview Quality Menu if(1) { @@ -1589,8 +1571,8 @@ CanvasView::init_menus() } viewmenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Preview Quality"),qualitymenu)); } - - viewmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-play"), + + viewmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("synfig-play"), sigc::mem_fun(*this, &studio::CanvasView::play))); viewmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("Flipbook Dialog"), sigc::mem_fun(*preview_dialog, &studio::Dialog_Preview::present))); @@ -1605,7 +1587,7 @@ CanvasView::init_menus() sigc::mem_fun(*work_area, &studio::WorkArea::toggle_guide_snap))); viewmenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Toggle Low-Res"),Gtk::AccelKey('`',Gdk::CONTROL_MASK), sigc::mem_fun(*work_area, &studio::WorkArea::toggle_low_resolution_flag))); - + viewmenu.items().push_back(Gtk::Menu_Helpers::SeparatorElem()); viewmenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-zoom-in"),Gtk::AccelKey('=',static_cast(0)), @@ -1624,9 +1606,9 @@ CanvasView::init_menus() sigc::mem_fun(*this, &studio::CanvasView::time_zoom_out))); viewmenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Jump to Next Keyframe"),Gtk::AccelKey(']',static_cast(0)), - sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::jump_to_next_keyframe))); + sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_next_keyframe))); viewmenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("Jump to Prev Keyframe"),Gtk::AccelKey('[',static_cast(0)), - sigc::mem_fun(*canvas_interface().get(), &sinfgapp::CanvasInterface::jump_to_prev_keyframe))); + sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_prev_keyframe))); mainmenu.items().push_back(Gtk::Menu_Helpers::TearoffMenuElem()); mainmenu.items().push_back(Gtk::Menu_Helpers::MenuElem("_File",filemenu)); @@ -1636,9 +1618,9 @@ CanvasView::init_menus() mainmenu.items().push_back(Gtk::Menu_Helpers::MenuElem("_Layer",layermenu)); mainmenu.accelerate(*this); - + { - + trackmenu.items().push_back(Gtk::Menu_Helpers::MenuElem("New Waypoint",NOT_IMPLEMENTED_SLOT)); trackmenu.items().push_back(Gtk::Menu_Helpers::MenuElem("Delete Waypoint",NOT_IMPLEMENTED_SLOT)); trackmenu.items().push_back(Gtk::Menu_Helpers::MenuElem("Export",NOT_IMPLEMENTED_SLOT)); @@ -1662,11 +1644,11 @@ CanvasView::init_menus() filemenu.set_accel_path("/File"); editmenu.set_accel_path("/Edit"); layermenu.set_accel_path("/Layer"); - //mainmenu.set_accel_path(""); + //mainmenu.set_accel_path(""); canvasmenu.set_accel_path("/Canvas"); viewmenu.set_accel_path("/View"); duckmaskmenu.set_accel_path("/DuckMask"); -#endif +#endif } void @@ -1682,23 +1664,23 @@ CanvasView::show_keyframe_dialog() if(selection->get_selected()) { Gtk::TreeRow row(*selection->get_selected()); - + Keyframe keyframe(row[keyframe_tree->model.keyframe]); - + keyframe_dialog.set_keyframe(keyframe); keyframe_dialog.present(); } } void -CanvasView::add_layer(sinfg::String x) +CanvasView::add_layer(synfig::String x) { Canvas::Handle canvas; - - sinfgapp::SelectionManager::LayerList layer_list(get_selection_manager()->get_selected_layers()); - + + synfigapp::SelectionManager::LayerList layer_list(get_selection_manager()->get_selected_layers()); + int target_depth(0); - + if(layer_list.empty()) { canvas=get_canvas(); @@ -1709,31 +1691,31 @@ CanvasView::add_layer(sinfg::String x) target_depth=canvas->get_depth(*layer_list.begin()); } - + Layer::Handle layer(canvas_interface()->add_layer_to(x,canvas,target_depth)); if(layer) { get_selection_manager()->clear_selected_layers(); - get_selection_manager()->set_selected_layer(layer); + get_selection_manager()->set_selected_layer(layer); } } void -CanvasView::popup_layer_menu(sinfg::Layer::Handle layer) +CanvasView::popup_layer_menu(synfig::Layer::Handle layer) { //Gtk::Menu* menu(manage(new Gtk::Menu)); Gtk::Menu* menu(¶mmenu); menu->items().clear(); - - sinfgapp::Action::ParamList param_list; + + synfigapp::Action::ParamList param_list; param_list.add("time",canvas_interface()->get_time()); param_list.add("canvas",Canvas::Handle(layer->get_canvas())); param_list.add("canvas_interface",canvas_interface()); param_list.add("layer",layer); - + //Gtk::Menu *newlayers(manage(new Gtk::Menu())); //build_new_layer_menu(*newlayers); - + //parammenu.items().push_back(Gtk::Menu_Helpers::MenuElem(_("New Layer"),*newlayers)); if(layer->get_name()=="PasteCanvas") @@ -1748,18 +1730,18 @@ CanvasView::popup_layer_menu(sinfg::Layer::Handle layer) ) )); } - - add_actions_to_menu(menu, param_list,sinfgapp::Action::CATEGORY_LAYER); - + + add_actions_to_menu(menu, param_list,synfigapp::Action::CATEGORY_LAYER); + menu->popup(3,gtk_get_current_event_time()); } void -CanvasView::register_layer_type(sinfg::Layer::Book::value_type &lyr,std::map* category_map) +CanvasView::register_layer_type(synfig::Layer::Book::value_type &lyr,std::map* category_map) { /* if(lyr.second.category==_("Do Not Use")) return; - + if(category_map->count(lyr.second.category)==0) (*category_map)[lyr.second.category]=manage(new Gtk::Menu()); @@ -1778,11 +1760,11 @@ void CanvasView::build_new_layer_menu(Gtk::Menu &menu) { /* - std::map category_map; + std::map category_map; std::for_each( - sinfg::Layer::book().begin(), - sinfg::Layer::book().end(), + synfig::Layer::book().begin(), + synfig::Layer::book().end(), sigc::bind( sigc::mem_fun( *this, @@ -1795,9 +1777,9 @@ CanvasView::build_new_layer_menu(Gtk::Menu &menu) menu.items().clear(); menu.items().push_back(Gtk::Menu_Helpers::TearoffMenuElem()); - std::map::iterator iter; + std::map::iterator iter; for(iter=category_map.begin();iter!=category_map.end();++iter) - menu.items().push_back(Gtk::Menu_Helpers::MenuElem(iter->first,*iter->second)); + menu.items().push_back(Gtk::Menu_Helpers::MenuElem(iter->first,*iter->second)); menu.show(); */ @@ -1825,7 +1807,7 @@ CanvasView::on_refresh_pressed() } void -CanvasView::workarea_layer_selected(sinfg::Layer::Handle layer) +CanvasView::workarea_layer_selected(synfig::Layer::Handle layer) { get_selection_manager()->clear_selected_layers(); if(layer) @@ -1838,9 +1820,9 @@ CanvasView::refresh_rend_desc() { current_time_widget->set_fps(get_canvas()->rend_desc().get_frame_rate()); - + //???? - //sinfg::info("Canvasview: Refreshing render desc info"); + //synfig::info("Canvasview: Refreshing render desc info"); if(!get_time().is_equal(time_adjustment().get_value())) { time_adjustment().set_value(get_time()); @@ -1861,7 +1843,7 @@ CanvasView::refresh_rend_desc() //set the FPS of the timeslider timeslider->set_global_fps(get_canvas()->rend_desc().get_frame_rate()); - + //set the beginning and ending time of the time slider Time begin_time=get_canvas()->rend_desc().get_time_start(); Time end_time=get_canvas()->rend_desc().get_time_end(); @@ -1869,7 +1851,7 @@ CanvasView::refresh_rend_desc() // Setup the time_window adjustment time_window_adjustment().set_lower(begin_time); time_window_adjustment().set_upper(end_time); - time_window_adjustment().set_step_increment(sinfg::Time(1.0/get_canvas()->rend_desc().get_frame_rate())); + time_window_adjustment().set_step_increment(synfig::Time(1.0/get_canvas()->rend_desc().get_frame_rate())); //Time length(get_canvas()->rend_desc().get_time_end()-get_canvas()->rend_desc().get_time_start()); if(length < time_window_adjustment().get_page_size()) @@ -1877,35 +1859,35 @@ CanvasView::refresh_rend_desc() time_window_adjustment().set_page_increment(length); time_window_adjustment().set_page_size(length); } - - /*sinfg::info("w: %p - [%.3f,%.3f] (%.3f,%.3f) child: %p\n", + + /*synfig::info("w: %p - [%.3f,%.3f] (%.3f,%.3f) child: %p\n", &time_window_adjustment_, time_window_adjustment_.get_lower(), time_window_adjustment_.get_upper(),time_window_adjustment_.get_value(), time_window_adjustment_.get_page_size(),time_window_adjustment_.get_child_adjustment() );*/ - + time_window_adjustment().changed(); //only non-value stuff was changed // Setup the time adjustment - + //NOTE THESE TWO SHOULD BE CHANGED BY THE changed() CALL ABOVE //time_adjustment().set_lower(time_window_adjustment().get_value()); //time_adjustment().set_upper(time_window_adjustment().get_value()+time_window_adjustment().get_page_size()); - + // time_adjustment().set_lower(get_canvas()->rend_desc().get_time_start()); // time_adjustment().set_upper(get_canvas()->rend_desc().get_time_end()); - time_adjustment().set_step_increment(sinfg::Time(1.0/get_canvas()->rend_desc().get_frame_rate())); - time_adjustment().set_page_increment(sinfg::Time(1.0)); + time_adjustment().set_step_increment(synfig::Time(1.0/get_canvas()->rend_desc().get_frame_rate())); + time_adjustment().set_page_increment(synfig::Time(1.0)); time_adjustment().set_page_size(0); - + time_adjustment().changed(); - - /*sinfg::info("w: %p - [%.3f,%.3f] (%.3f,%.3f) child: %p\n", + + /*synfig::info("w: %p - [%.3f,%.3f] (%.3f,%.3f) child: %p\n", &time_window_adjustment_, time_window_adjustment_.get_lower(), time_window_adjustment_.get_upper(),time_window_adjustment_.get_value(), time_window_adjustment_.get_page_size(),time_window_adjustment_.get_child_adjustment() ); */ - + if(begin_time==end_time) { hide_timebar(); @@ -1921,14 +1903,14 @@ CanvasView::refresh_rend_desc() time_adjustment().set_value(begin_time); time_adjustment().value_changed(); } - + if(time_adjustment().get_value() > end_time) { time_adjustment().set_value(end_time); time_adjustment().value_changed(); } - - /*sinfg::info("Time stats: \n" + + /*synfig::info("Time stats: \n" "w: %p - [%.3f,%.3f] (%.3f,%.3f) child: %p\n" "t: %p - [%.3f,%.3f] %.3f", &time_window_adjustment_, time_window_adjustment_.get_lower(), @@ -1945,16 +1927,14 @@ CanvasView::refresh_rend_desc() bool CanvasView::close() { - hide(); - // I think this is bad..., removing - // get_instance()->canvas_view_list().erase(std::find(get_instance()->canvas_view_list().begin(),get_instance()->canvas_view_list().end(),this)); + get_instance()->safe_close(); return false; } handle CanvasView::create(loose_handle instance,handle canvas) { - etl::handle view(new CanvasView(instance,instance->sinfgapp::Instance::find_canvas_interface(canvas))); + etl::handle view(new CanvasView(instance,instance->synfigapp::Instance::find_canvas_interface(canvas))); instance->canvas_view_list().push_front(view); instance->signal_canvas_view_created()(view.get()); return view; @@ -1972,15 +1952,15 @@ CanvasView::update_title() else title+='"'+get_canvas()->get_name()+'"'; - if(get_instance()->sinfgapp::Instance::get_action_count()) + if(get_instance()->synfigapp::Instance::get_action_count()) title+=_(" (Unsaved)"); - if(get_instance()->sinfgapp::Instance::in_repository()) + if(get_instance()->synfigapp::Instance::in_repository()) { title+=" (CVS"; - if(get_instance()->sinfgapp::Instance::is_modified()) + if(get_instance()->synfigapp::Instance::is_modified()) title+=_("-MODIFIED"); - if(get_instance()->sinfgapp::Instance::is_updated()) + if(get_instance()->synfigapp::Instance::is_updated()) title+=_("-UPDATED"); title+=')'; } @@ -2020,14 +2000,14 @@ CanvasView::on_focus_in_event(GdkEventFocus*x) get_smach().process_event(EVENT_REFRESH_TOOL_OPTIONS); studio::App::set_selected_canvas_view(this); - + App::ui_manager()->insert_action_group(action_group); } - + // HACK ... Questionable...? if(x) return Gtk::Window::on_focus_in_event(x); - + return true; } @@ -2061,46 +2041,46 @@ CanvasView::build_tables() } void -CanvasView::on_layer_toggle(sinfg::Layer::Handle layer) +CanvasView::on_layer_toggle(synfig::Layer::Handle layer) { - sinfgapp::Action::Handle action(sinfgapp::Action::create("layer_activate")); + synfigapp::Action::Handle action(synfigapp::Action::create("layer_activate")); assert(action); - + if(!action) return; - + action->set_param("canvas",Canvas::Handle(layer->get_canvas())); if(!action->set_param("canvas_interface",canvas_interface())) // if(!action->set_param("canvas_interface",get_instance()->find_canvas_interface(layer->get_canvas()))) - sinfg::error("LayerActivate didn't like CanvasInterface...?"); + synfig::error("LayerActivate didn't like CanvasInterface...?"); action->set_param("time",get_time()); action->set_param("layer",layer); action->set_param("new_status",!layer->active()); assert(action->is_ready()); - + canvas_interface()->get_instance()->perform_action(action); } void -CanvasView::popup_param_menu(sinfgapp::ValueDesc value_desc, float location) +CanvasView::popup_param_menu(synfigapp::ValueDesc value_desc, float location) { parammenu.items().clear(); get_instance()->make_param_menu(¶mmenu,get_canvas(),value_desc,location); - + parammenu.popup(3,gtk_get_current_event_time()); } void -CanvasView::add_actions_to_menu(Gtk::Menu *menu, const sinfgapp::Action::ParamList ¶m_list,sinfgapp::Action::Category category)const +CanvasView::add_actions_to_menu(Gtk::Menu *menu, const synfigapp::Action::ParamList ¶m_list,synfigapp::Action::Category category)const { get_instance()->add_actions_to_menu(menu, param_list, category); } bool CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnID column_id) -{ +{ switch(button) { case 3: @@ -2114,10 +2094,10 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI menu->get_submenu()->popup(button,gtk_get_current_event_time()); } - + #if 0 bool multiple_selected=true; - + if(layer_tree->get_selection()->count_selected_rows()<=1) multiple_selected=false; @@ -2129,15 +2109,15 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI layer_tree->get_selection()->select(row); multiple_selected=false; } - + if(column_id==COLUMNID_TIME_TRACK) return false; - - //sinfgapp::ValueDesc value_desc(row[layer_param_tree_model.value_desc]); + + //synfigapp::ValueDesc value_desc(row[layer_param_tree_model.value_desc]); //ValueNode::Handle value_node(row[layer_param_tree_model.value_node]); //ValueNode::Handle parent_value_node; //ValueBase value=row[layer_param_tree_model.value]; - + //if(row.parent()) //{ // parent_value_node=(*row.parent())[layer_tree_model.value_node]; @@ -2145,7 +2125,7 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI { Layer::Handle layer(row[layer_tree_model.layer]); - sinfgapp::Action::ParamList param_list; + synfigapp::Action::ParamList param_list; param_list.add("time",canvas_interface()->get_time()); param_list.add("canvas",Canvas::Handle(row[layer_tree_model.canvas])); param_list.add("canvas_interface",canvas_interface()); @@ -2153,18 +2133,18 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI param_list.add("layer",layer); else { - sinfgapp::SelectionManager::LayerList layer_list(get_selection_manager()->get_selected_layers()); - sinfgapp::SelectionManager::LayerList::iterator iter; - + synfigapp::SelectionManager::LayerList layer_list(get_selection_manager()->get_selected_layers()); + synfigapp::SelectionManager::LayerList::iterator iter; + for(iter=layer_list.begin();iter!=layer_list.end();++iter) param_list.add("layer",Layer::Handle(*iter)); } - + parammenu.items().clear(); Gtk::Menu *newlayers(manage(new Gtk::Menu())); build_new_layer_menu(*newlayers); - + parammenu.items().push_back(Gtk::Menu_Helpers::MenuElem("New Layer",*newlayers)); if(!multiple_selected && layer->get_name()=="PasteCanvas") { @@ -2178,14 +2158,14 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI ) )); } - - add_actions_to_menu(¶mmenu, param_list,sinfgapp::Action::CATEGORY_LAYER); + + add_actions_to_menu(¶mmenu, param_list,synfigapp::Action::CATEGORY_LAYER); parammenu.popup(button,gtk_get_current_event_time()); return true; } /* - else if(column_id==LayerTree::COLUMNID_TIME_TRACK && value_node && handle::cast_dynamic(value_node)) - { + else if(column_id==LayerTree::COLUMNID_TIME_TRACK && value_node && handle::cast_dynamic(value_node)) + { // Right-click on time track with animated // trackmenu.popup(0,0); return true; @@ -2203,10 +2183,10 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI #if 0 parammenu.items().clear(); parammenu.items().push_back(Gtk::Menu_Helpers::MenuElem("Connect", - hide_return(sigc::mem_fun(*canvas_interface().get(),&sinfgapp::CanvasInterface::connect_selected_layer_params)) + hide_return(sigc::mem_fun(*canvas_interface().get(),&synfigapp::CanvasInterface::connect_selected_layer_params)) )); parammenu.items().push_back(Gtk::Menu_Helpers::MenuElem("Disconnect", - hide_return(sigc::mem_fun(*canvas_interface().get(),&sinfgapp::CanvasInterface::disconnect_selected_layer_params)) + hide_return(sigc::mem_fun(*canvas_interface().get(),&synfigapp::CanvasInterface::disconnect_selected_layer_params)) )); parammenu.popup(0,0); #endif @@ -2218,10 +2198,10 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI } return true; break; - + default: return false; - break; + break; } } @@ -2229,7 +2209,7 @@ CanvasView::on_layer_user_click(int button, Gtk::TreeRow row, LayerTree::ColumnI bool CanvasView::on_children_user_click(int button, Gtk::TreeRow row, ChildrenTree::ColumnID column_id) -{ +{ switch(button) { case 3: @@ -2238,7 +2218,7 @@ CanvasView::on_children_user_click(int button, Gtk::TreeRow row, ChildrenTree::C return false; if(!(bool)row[children_tree_model.is_canvas]) { - sinfgapp::ValueDesc value_desc=row[children_tree_model.value_desc]; + synfigapp::ValueDesc value_desc=row[children_tree_model.value_desc]; assert(value_desc); popup_param_menu(value_desc); return true; @@ -2246,10 +2226,10 @@ CanvasView::on_children_user_click(int button, Gtk::TreeRow row, ChildrenTree::C } return true; break; - + default: return false; - break; + break; } } @@ -2261,7 +2241,7 @@ CanvasView::on_keyframe_tree_event(GdkEvent *event) case GDK_BUTTON_PRESS: switch(event->button.button) { - case 3: + case 3: { //keyframemenu.popup(event->button.button,gtk_get_current_event_time()); return true; @@ -2286,14 +2266,14 @@ CanvasView::refresh_time_window() //THESE SHOULD AUTOMATICALLY BE TAKEN CARE OF //time_adjustment().set_lower(time_window_adjustment().get_value()); //time_adjustment().set_upper(time_window_adjustment().get_value()+time_window_adjustment().get_page_size()); - + time_adjustment().set_page_increment(1.0); // One second time_adjustment().set_page_size(0); - + if(get_canvas()) time_adjustment().set_step_increment(1.0/get_canvas()->rend_desc().get_frame_rate()); time_adjustment().changed(); - + //NOTE THIS SHOULD HOOK INTO THE CORRECT SIGNALS... if(children_tree) children_tree->queue_draw(); @@ -2303,18 +2283,18 @@ void CanvasView::on_time_changed() { Time time(get_time()); - + current_time_widget->set_value(time); try { get_canvas()->keyframe_list().find(time); current_time_widget->modify_text(Gtk::STATE_NORMAL,Gdk::Color("#FF0000")); }catch(...){ - current_time_widget->modify_text(Gtk::STATE_NORMAL,Gdk::Color("#000000")); + current_time_widget->modify_text(Gtk::STATE_NORMAL,Gdk::Color("#000000")); } - + if(get_time() != time_adjustment().get_value()) { - + //Recenters the window, causing it to jump (possibly undesirably... but whatever) if(time < time_window_adjustment().get_value() || time > time_window_adjustment().get_value()+time_window_adjustment().get_page_size()) @@ -2325,7 +2305,7 @@ CanvasView::on_time_changed() } time_adjustment().set_value(time); time_adjustment().value_changed(); - + // Shouldn't these trees just hook into // the time changed signal...? //YES THEY SHOULD... @@ -2339,7 +2319,7 @@ CanvasView::time_zoom_in() { time_window_adjustment().set_page_size(time_window_adjustment().get_page_size()*0.75); time_window_adjustment().changed(); - + refresh_time_window(); } @@ -2348,34 +2328,34 @@ CanvasView::time_zoom_out() { time_window_adjustment().set_page_size(time_window_adjustment().get_page_size()/0.75); time_window_adjustment().changed(); - + refresh_time_window(); } void CanvasView::time_was_changed() { - sinfg::Time time((sinfg::Time)(double)time_adjustment().get_value()); + synfig::Time time((synfig::Time)(double)time_adjustment().get_value()); set_time(time); } void -CanvasView::on_edited_value(sinfgapp::ValueDesc value_desc,sinfg::ValueBase new_value) +CanvasView::on_edited_value(synfigapp::ValueDesc value_desc,synfig::ValueBase new_value) { canvas_interface()->change_value(value_desc,new_value); } /* void -CanvasView::on_children_edited_value(const Glib::ustring&path_string,sinfg::ValueBase value) +CanvasView::on_children_edited_value(const Glib::ustring&path_string,synfig::ValueBase value) { Gtk::TreePath path(path_string); - + const Gtk::TreeRow row = *(children_tree->get_model()->get_iter(path)); assert((bool)row[children_tree_model.is_value_node]); - sinfgapp::ValueDesc value_desc=row[children_tree_model.value_desc]; + synfigapp::ValueDesc value_desc=row[children_tree_model.value_desc]; assert(value_desc); on_edited_value(value_desc,value); @@ -2390,15 +2370,15 @@ CanvasView::on_id_changed() void -CanvasView::on_mode_changed(sinfgapp::CanvasInterface::Mode mode) +CanvasView::on_mode_changed(synfigapp::CanvasInterface::Mode mode) { // If the aninimate flag was set in mode... - if(mode&sinfgapp::MODE_ANIMATE) + if(mode&synfigapp::MODE_ANIMATE) { Gtk::Image *icon; icon=manage(new Gtk::Image(Gtk::StockID("gtk-no"),Gtk::ICON_SIZE_BUTTON)); - animatebutton->remove(); - animatebutton->add(*icon); + animatebutton->remove(); + animatebutton->add(*icon); tooltips.set_tip(*animatebutton,_("In Animate Editing Mode")); icon->set_padding(0,0); icon->show(); @@ -2407,97 +2387,97 @@ CanvasView::on_mode_changed(sinfgapp::CanvasInterface::Mode mode) { Gtk::Image *icon; icon=manage(new Gtk::Image(Gtk::StockID("gtk-yes"),Gtk::ICON_SIZE_BUTTON)); - animatebutton->remove(); - animatebutton->add(*icon); + animatebutton->remove(); + animatebutton->add(*icon); tooltips.set_tip(*animatebutton,_("Not in Animate Editing Mode")); icon->set_padding(0,0); icon->show(); } - if((mode&sinfgapp::MODE_ANIMATE_FUTURE) && (mode&sinfgapp::MODE_ANIMATE_PAST)) + if((mode&synfigapp::MODE_ANIMATE_FUTURE) && (mode&synfigapp::MODE_ANIMATE_PAST)) { Gtk::Image *icon; - icon=manage(new Gtk::Image(Gtk::StockID("sinfg-keyframe_lock_all"),Gtk::ICON_SIZE_BUTTON)); - keyframebutton->remove(); - keyframebutton->add(*icon); + icon=manage(new Gtk::Image(Gtk::StockID("synfig-keyframe_lock_all"),Gtk::ICON_SIZE_BUTTON)); + keyframebutton->remove(); + keyframebutton->add(*icon); tooltips.set_tip(*keyframebutton,_("All Keyframes Locked")); icon->set_padding(0,0); icon->show(); } - else if((mode&sinfgapp::MODE_ANIMATE_FUTURE) && !(mode&sinfgapp::MODE_ANIMATE_PAST)) + else if((mode&synfigapp::MODE_ANIMATE_FUTURE) && !(mode&synfigapp::MODE_ANIMATE_PAST)) { Gtk::Image *icon; - icon=manage(new Gtk::Image(Gtk::StockID("sinfg-keyframe_lock_future"),Gtk::ICON_SIZE_BUTTON)); - keyframebutton->remove(); - keyframebutton->add(*icon); + icon=manage(new Gtk::Image(Gtk::StockID("synfig-keyframe_lock_future"),Gtk::ICON_SIZE_BUTTON)); + keyframebutton->remove(); + keyframebutton->add(*icon); tooltips.set_tip(*keyframebutton,_("Future Keyframes Locked")); icon->set_padding(0,0); icon->show(); } - else if(!(mode&sinfgapp::MODE_ANIMATE_FUTURE) && (mode&sinfgapp::MODE_ANIMATE_PAST)) + else if(!(mode&synfigapp::MODE_ANIMATE_FUTURE) && (mode&synfigapp::MODE_ANIMATE_PAST)) { Gtk::Image *icon; - icon=manage(new Gtk::Image(Gtk::StockID("sinfg-keyframe_lock_past"),Gtk::ICON_SIZE_BUTTON)); - keyframebutton->remove(); - keyframebutton->add(*icon); + icon=manage(new Gtk::Image(Gtk::StockID("synfig-keyframe_lock_past"),Gtk::ICON_SIZE_BUTTON)); + keyframebutton->remove(); + keyframebutton->add(*icon); tooltips.set_tip(*keyframebutton,_("Past Keyframes Locked")); icon->set_padding(0,0); icon->show(); } - else if(!(mode&sinfgapp::MODE_ANIMATE_FUTURE) && !(mode&sinfgapp::MODE_ANIMATE_PAST)) + else if(!(mode&synfigapp::MODE_ANIMATE_FUTURE) && !(mode&synfigapp::MODE_ANIMATE_PAST)) { Gtk::Image *icon; - icon=manage(new Gtk::Image(Gtk::StockID("sinfg-keyframe_lock_none"),Gtk::ICON_SIZE_BUTTON)); - keyframebutton->remove(); - keyframebutton->add(*icon); + icon=manage(new Gtk::Image(Gtk::StockID("synfig-keyframe_lock_none"),Gtk::ICON_SIZE_BUTTON)); + keyframebutton->remove(); + keyframebutton->add(*icon); tooltips.set_tip(*keyframebutton,_("No Keyframes Locked")); icon->set_padding(0,0); icon->show(); } - + work_area->queue_draw(); } void CanvasView::on_animate_button_pressed() { - if(get_mode()&sinfgapp::MODE_ANIMATE) - set_mode(get_mode()-sinfgapp::MODE_ANIMATE); + if(get_mode()&synfigapp::MODE_ANIMATE) + set_mode(get_mode()-synfigapp::MODE_ANIMATE); else - set_mode(get_mode()|sinfgapp::MODE_ANIMATE); + set_mode(get_mode()|synfigapp::MODE_ANIMATE); } void CanvasView::on_keyframe_button_pressed() { - sinfgapp::CanvasInterface::Mode mode(get_mode()); - - if((mode&sinfgapp::MODE_ANIMATE_FUTURE) && (mode&sinfgapp::MODE_ANIMATE_PAST)) + synfigapp::CanvasInterface::Mode mode(get_mode()); + + if((mode&synfigapp::MODE_ANIMATE_FUTURE) && (mode&synfigapp::MODE_ANIMATE_PAST)) { - set_mode(get_mode()-sinfgapp::MODE_ANIMATE_FUTURE); + set_mode(get_mode()-synfigapp::MODE_ANIMATE_FUTURE); } - else if(!(mode&sinfgapp::MODE_ANIMATE_FUTURE) && (mode&sinfgapp::MODE_ANIMATE_PAST)) + else if(!(mode&synfigapp::MODE_ANIMATE_FUTURE) && (mode&synfigapp::MODE_ANIMATE_PAST)) { - set_mode(get_mode()-sinfgapp::MODE_ANIMATE_PAST|sinfgapp::MODE_ANIMATE_FUTURE); + set_mode(get_mode()-synfigapp::MODE_ANIMATE_PAST|synfigapp::MODE_ANIMATE_FUTURE); } - else if((mode&sinfgapp::MODE_ANIMATE_FUTURE) && !(mode&sinfgapp::MODE_ANIMATE_PAST)) + else if((mode&synfigapp::MODE_ANIMATE_FUTURE) && !(mode&synfigapp::MODE_ANIMATE_PAST)) { - set_mode(get_mode()-sinfgapp::MODE_ANIMATE_FUTURE); + set_mode(get_mode()-synfigapp::MODE_ANIMATE_FUTURE); } - else if(!(mode&sinfgapp::MODE_ANIMATE_FUTURE) && !(mode&sinfgapp::MODE_ANIMATE_PAST)) + else if(!(mode&synfigapp::MODE_ANIMATE_FUTURE) && !(mode&synfigapp::MODE_ANIMATE_PAST)) { - set_mode(get_mode()|sinfgapp::MODE_ANIMATE_FUTURE|sinfgapp::MODE_ANIMATE_PAST); + set_mode(get_mode()|synfigapp::MODE_ANIMATE_FUTURE|synfigapp::MODE_ANIMATE_PAST); } } bool -CanvasView::duck_change_param(const Point &value,sinfg::Layer::Handle layer, sinfg::String param_name) +CanvasView::duck_change_param(const Point &value,synfig::Layer::Handle layer, synfig::String param_name) { - return canvas_interface()->change_value(sinfgapp::ValueDesc(layer,param_name),value); + return canvas_interface()->change_value(synfigapp::ValueDesc(layer,param_name),value); } bool -CanvasView::on_duck_changed(const sinfg::Point &value,const sinfgapp::ValueDesc& value_desc) +CanvasView::on_duck_changed(const synfig::Point &value,const synfigapp::ValueDesc& value_desc) { switch(value_desc.get_value_type()) { @@ -2518,11 +2498,11 @@ CanvasView::on_duck_changed(const sinfg::Point &value,const sinfgapp::ValueDesc& void CanvasView::selected_layer_color_set(Color color) { - sinfgapp::SelectionManager::LayerList selected_list(get_selection_manager()->get_selected_layers()); - sinfgapp::SelectionManager::LayerList::iterator iter; + synfigapp::SelectionManager::LayerList selected_list(get_selection_manager()->get_selected_layers()); + synfigapp::SelectionManager::LayerList::iterator iter; // Create the action group - //sinfgapp::PassiveGrouper group(canvas_interface()->get_instance(),_("Set Colors")); + //synfigapp::PassiveGrouper group(canvas_interface()->get_instance(),_("Set Colors")); Layer::Handle layer; for(iter=selected_list.begin();iter!=selected_list.end();++iter) @@ -2530,21 +2510,21 @@ CanvasView::selected_layer_color_set(Color color) if(*iter==layer) continue; layer=*iter; - on_edited_value(sinfgapp::ValueDesc(layer,"color"),color); + on_edited_value(synfigapp::ValueDesc(layer,"color"),color); } } void -CanvasView::rebuild_ducks_layer_(sinfg::TransformStack& transform_stack, Canvas::Handle canvas, std::set& selected_list) +CanvasView::rebuild_ducks_layer_(synfig::TransformStack& transform_stack, Canvas::Handle canvas, std::set& selected_list) { int transforms(0); String layer_name; - -#define QUEUE_REBUILD_DUCKS sigc::mem_fun(*this,&CanvasView::queue_rebuild_ducks) + +#define QUEUE_REBUILD_DUCKS sigc::mem_fun(*this,&CanvasView::queue_rebuild_ducks) if(!canvas) { - sinfg::warning("CanvasView::rebuild_ducks_layer_(): Layer doesn't have canvas set"); + synfig::warning("CanvasView::rebuild_ducks_layer_(): Layer doesn't have canvas set"); return; } for(Canvas::iterator iter(canvas->begin());iter!=canvas->end();++iter) @@ -2561,22 +2541,22 @@ CanvasView::rebuild_ducks_layer_(sinfg::TransformStack& transform_stack, Canvas: // This layer is currently selected. duck_changed_connections.push_back(layer->signal_changed().connect(QUEUE_REBUILD_DUCKS)); - + // do the bounding box thing bbox|=transform_stack.perform(layer->get_bounding_rect()); - + // Grab the layer's list pf parameters Layer::ParamList paramlist(layer->get_param_list()); - + // Grab the layer vocabulary Layer::Vocab vocab=layer->get_param_vocab(); Layer::Vocab::iterator iter; - + for(iter=vocab.begin();iter!=vocab.end();iter++) { if(!iter->get_hidden() && !iter->get_invisible_duck()) { - sinfgapp::ValueDesc value_desc(layer,iter->get_name()); + synfigapp::ValueDesc value_desc(layer,iter->get_name()); work_area->add_to_ducks(value_desc,this,transform_stack,&*iter); if(value_desc.is_value_node()) duck_changed_connections.push_back(value_desc.get_value_node()->signal_changed().connect(QUEUE_REBUILD_DUCKS)); @@ -2593,15 +2573,15 @@ CanvasView::rebuild_ducks_layer_(sinfg::TransformStack& transform_stack, Canvas: *this, &studio::CanvasView::selected_layer_color_set ) - ); + ); } */ } } } - + layer_name=layer->get_name(); - + if(layer->active()) { Transform::Handle trans(layer->get_transform()); @@ -2614,30 +2594,30 @@ CanvasView::rebuild_ducks_layer_(sinfg::TransformStack& transform_stack, Canvas: /* // Add transforms onto the stack if(layer_name=="Translate") { - transform_stack.push(sinfg::Transform_Translate(layer->get_param("origin").get(Vector()))); + transform_stack.push(synfig::Transform_Translate(layer->get_param("origin").get(Vector()))); transforms++; }else if(layer_name=="Zoom") { Vector scale; scale[0]=scale[1]=exp(layer->get_param("amount").get(Real())); - transform_stack.push(sinfg::Transform_Scale(scale,layer->get_param("center").get(Vector()))); + transform_stack.push(synfig::Transform_Scale(scale,layer->get_param("center").get(Vector()))); transforms++; }else if(layer_name=="stretch") { Vector scale(layer->get_param("amount").get(Vector())); - transform_stack.push(sinfg::Transform_Scale(scale,layer->get_param("center").get(Vector()))); + transform_stack.push(synfig::Transform_Scale(scale,layer->get_param("center").get(Vector()))); transforms++; }else if(layer_name=="Rotate") { - transform_stack.push(sinfg::Transform_Rotate(layer->get_param("amount").get(Angle()),layer->get_param("origin").get(Vector()))); + transform_stack.push(synfig::Transform_Rotate(layer->get_param("amount").get(Angle()),layer->get_param("origin").get(Vector()))); transforms++; } */ } - + // If this is a paste canvas layer, then we need to // descend into it if(layer_name=="PasteCanvas") @@ -2645,16 +2625,16 @@ CanvasView::rebuild_ducks_layer_(sinfg::TransformStack& transform_stack, Canvas: Vector scale; scale[0]=scale[1]=exp(layer->get_param("zoom").get(Real())); Vector origin(layer->get_param("origin").get(Vector())); - + Canvas::Handle child_canvas(layer->get_param("canvas").get(Canvas::Handle())); - + if(!scale.is_equal_to(Vector(1,1))) transform_stack.push(new Transform_Scale(scale,origin)); if(!scale.is_equal_to(Vector(0,0))) transform_stack.push(new Transform_Translate(origin)); - + rebuild_ducks_layer_(transform_stack,child_canvas,selected_list); - + if(!scale.is_equal_to(Vector(0,0))) transform_stack.pop(); if(!scale.is_equal_to(Vector(1,1))) @@ -2673,11 +2653,11 @@ CanvasView::queue_rebuild_ducks() #if 0 if(rebuild_ducks_queued) return; -#else +#else if(rebuild_ducks_queued) queue_rebuild_ducks_connection.disconnect(); #endif - + queue_rebuild_ducks_connection=Glib::signal_timeout().connect( sigc::bind_return( sigc::mem_fun(*this,&CanvasView::rebuild_ducks), @@ -2685,36 +2665,36 @@ CanvasView::queue_rebuild_ducks() ), 50 ); - + rebuild_ducks_queued=true; } void CanvasView::rebuild_ducks() -{ +{ /*static int i=0; i++; if(i>30) - sinfg::info("%d",i/(i-i)); + synfig::info("%d",i/(i-i)); */ - + rebuild_ducks_queued=false; //queue_rebuild_ducks_connection.disconnect(); - + if(work_area->is_dragging()) { queue_rebuild_ducks(); return; } - + if(!duck_refresh_flag) { duck_refresh_needed=true; return; } - + bbox=Rect::zero(); - + work_area->clear_ducks(); work_area->set_time(get_time()); get_canvas()->set_time(get_time()); @@ -2723,30 +2703,30 @@ CanvasView::rebuild_ducks() curr_transform_stack_set=false; for(;!duck_changed_connections.empty();duck_changed_connections.pop_back())duck_changed_connections.back().disconnect(); - + //get_canvas()->set_time(get_time()); bool not_empty(false); - - // First do the layers... + + // First do the layers... do{ - sinfgapp::SelectionManager::LayerList selected_list(get_selection_manager()->get_selected_layers()); - std::set layer_set(selected_list.begin(),selected_list.end()); - + synfigapp::SelectionManager::LayerList selected_list(get_selection_manager()->get_selected_layers()); + std::set layer_set(selected_list.begin(),selected_list.end()); + if(!layer_set.empty()) not_empty=true; - - sinfg::TransformStack transform_stack; - + + synfig::TransformStack transform_stack; + rebuild_ducks_layer_(transform_stack, get_canvas(), layer_set); }while(0); // Now do the children do{ - sinfgapp::SelectionManager::ChildrenList selected_list(get_selection_manager()->get_selected_children()); - sinfgapp::SelectionManager::ChildrenList::iterator iter; - sinfg::TransformStack transform_stack; - + synfigapp::SelectionManager::ChildrenList selected_list(get_selection_manager()->get_selected_children()); + synfigapp::SelectionManager::ChildrenList::iterator iter; + synfig::TransformStack transform_stack; + if(selected_list.empty()) { break; @@ -2779,13 +2759,13 @@ void CanvasView::play() { assert(get_canvas()); - + // If we are already busy, don't play! if(working_depth)return; - + // Set us up as working IsWorking is_working(*this); - + etl::clock timer; Time time=work_area->get_time(), @@ -2794,16 +2774,16 @@ CanvasView::play() // If we are already at the end of time, start over if(time==endtime) time=get_canvas()->rend_desc().get_time_start(); - - is_playing_=true; + + is_playing_=true; work_area->clear_ducks(); - + for(timer.reset(); time + timer() < endtime;) { //Clamp the time window so we can see the time value as it races across the horizon bool timewindreset = false; - + while( time + timer() > Time(time_window_adjustment().get_sub_upper()) ) { time_window_adjustment().set_value( @@ -2813,7 +2793,7 @@ CanvasView::play() ); timewindreset = true; } - + while( time + timer() < Time(time_window_adjustment().get_sub_lower()) ) { time_window_adjustment().set_value( @@ -2821,26 +2801,26 @@ CanvasView::play() time_window_adjustment().get_value()-time_window_adjustment().get_page_size()/2, time_window_adjustment().get_lower()) ); - + timewindreset = true; } - + //we need to tell people that the value changed if(timewindreset) time_window_adjustment().value_changed(); - + //update actual time to next step time_adjustment().set_value(time+timer()); time_adjustment().value_changed(); - + if(!work_area->sync_render_preview()) break; - + studio::App::iteration(false); - + if(get_cancel_status()) return; } - is_playing_=false; + is_playing_=false; time_adjustment().set_value(endtime); time_adjustment().value_changed(); @@ -2853,9 +2833,9 @@ CanvasView::show_tables() Smach::event_result x(process_event_key(EVENT_TABLES_SHOW)); if(x==Smach::RESULT_OK || x==Smach::RESULT_ACCEPT) { - Gtk::IconSize iconsize=Gtk::IconSize::from_name("sinfg-small_icon"); + Gtk::IconSize iconsize=Gtk::IconSize::from_name("synfig-small_icon"); treetogglebutton->remove(); - treetogglebutton->add(*manage(new Gtk::Image(Gtk::StockID("gtk-go-down"),iconsize))); + treetogglebutton->add(*manage(new Gtk::Image(Gtk::StockID("gtk-go-down"),iconsize))); treetogglebutton->show_all(); notebook->show(); } @@ -2869,9 +2849,9 @@ CanvasView::hide_tables() Smach::event_result x(process_event_key(EVENT_TABLES_HIDE)); if(x==Smach::RESULT_OK || x==Smach::RESULT_ACCEPT) { - Gtk::IconSize iconsize=Gtk::IconSize::from_name("sinfg-small_icon"); + Gtk::IconSize iconsize=Gtk::IconSize::from_name("synfig-small_icon"); treetogglebutton->remove(); - treetogglebutton->add(*manage(new Gtk::Image(Gtk::StockID("gtk-go-up"),iconsize))); + treetogglebutton->add(*manage(new Gtk::Image(Gtk::StockID("gtk-go-up"),iconsize))); treetogglebutton->show_all(); notebook->hide(); } @@ -2895,35 +2875,11 @@ CanvasView::toggle_tables() } void -CanvasView::do_rotoscope_bline() -{ - smach_.enter(&state_bline); -} - -void -CanvasView::do_rotoscope() -{ - smach_.enter(&state_draw); -} - -void -CanvasView::do_rotoscope_poly() -{ - smach_.enter(&state_polygon); -} - -void -CanvasView::do_eyedrop() -{ - smach_.enter(&state_eyedrop); -} - -void CanvasView::show_timebar() { timebar->show(); current_time_widget->show(); - + //keyframe_tab_child->show(); if(layer_tree) layer_tree->set_show_timetrack(true); @@ -2943,10 +2899,21 @@ CanvasView::hide_timebar() children_tree->set_show_timetrack(false); } +void +CanvasView::set_sensitive_timebar(bool sensitive) +{ + timebar->set_sensitive(sensitive); + current_time_widget->set_sensitive(sensitive); + //keyframe_tab_child->set_sensitive(sensitive); + if(layer_tree) + layer_tree->set_sensitive(sensitive); + if(children_tree) + children_tree->set_sensitive(sensitive); +} void -CanvasView::on_waypoint_clicked(sinfgapp::ValueDesc value_desc,sinfg::Waypoint waypoint,int button) +CanvasView::on_waypoint_clicked(synfigapp::ValueDesc value_desc,synfig::Waypoint waypoint,int button) { waypoint_dialog.set_value_desc(value_desc); waypoint_dialog.set_waypoint(waypoint); @@ -2964,7 +2931,7 @@ CanvasView::on_waypoint_clicked(sinfgapp::ValueDesc value_desc,sinfg::Waypoint w sigc::bind( sigc::mem_fun( *canvas_interface(), - &sinfgapp::CanvasInterface::set_time + &synfigapp::CanvasInterface::set_time ), waypoint.get_time() ) @@ -2976,13 +2943,13 @@ CanvasView::on_waypoint_clicked(sinfgapp::ValueDesc value_desc,sinfg::Waypoint w &Gtk::Widget::show ) )); - - waypoint_menu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("sinfg-duplicate"), + + waypoint_menu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("synfig-duplicate"), sigc::bind( sigc::bind( sigc::mem_fun( *canvas_interface(), - &sinfgapp::CanvasInterface::waypoint_duplicate + &synfigapp::CanvasInterface::waypoint_duplicate ), waypoint ), @@ -2994,7 +2961,7 @@ CanvasView::on_waypoint_clicked(sinfgapp::ValueDesc value_desc,sinfg::Waypoint w sigc::bind( sigc::mem_fun( *canvas_interface(), - &sinfgapp::CanvasInterface::waypoint_remove + &synfigapp::CanvasInterface::waypoint_remove ), waypoint ), @@ -3012,7 +2979,7 @@ CanvasView::on_waypoint_clicked(sinfgapp::ValueDesc value_desc,sinfg::Waypoint w void CanvasView::on_waypoint_changed() { - sinfgapp::Action::ParamList param_list; + synfigapp::Action::ParamList param_list; param_list.add("canvas",get_canvas()); param_list.add("canvas_interface",canvas_interface()); param_list.add("value_node",waypoint_dialog.get_value_desc().get_value_node()); @@ -3025,7 +2992,7 @@ CanvasView::on_waypoint_changed() void CanvasView::on_waypoint_delete() { - sinfgapp::Action::ParamList param_list; + synfigapp::Action::ParamList param_list; param_list.add("canvas",get_canvas()); param_list.add("canvas_interface",canvas_interface()); param_list.add("value_node",waypoint_dialog.get_value_desc().get_value_node()); @@ -3040,75 +3007,75 @@ CanvasView::on_drop_drag_data_received(const Glib::RefPtr& con { // We will make this true once we have a solid drop bool success(false); - //sinfg::info("Droped data of type \"%s\"",selection_data.get_data_type()); - //sinfg::info("Droped data of target \"%s\"",gdk_atom_name(selection_data->target)); - //sinfg::info("selection=\"%s\"",gdk_atom_name(selection_data->selection)); - + //synfig::info("Droped data of type \"%s\"",selection_data.get_data_type()); + //synfig::info("Droped data of target \"%s\"",gdk_atom_name(selection_data->target)); + //synfig::info("selection=\"%s\"",gdk_atom_name(selection_data->selection)); + if ((selection_data_.get_length() >= 0) && (selection_data_.get_format() == 8)) { - if(sinfg::String(selection_data_.get_data_type())=="STRING")do + if(synfig::String(selection_data_.get_data_type())=="STRING")do { - sinfg::String selection_data((gchar *)(selection_data_.get_data())); + synfig::String selection_data((gchar *)(selection_data_.get_data())); - Layer::Handle layer(sinfg::Layer::create("Text")); + Layer::Handle layer(synfig::Layer::create("Text")); if(!layer) break; if(!layer->set_param("text",ValueBase(selection_data))) break; - sinfgapp::Action::Handle action(sinfgapp::Action::create("layer_add")); - + synfigapp::Action::Handle action(synfigapp::Action::create("layer_add")); + assert(action); if(!action) break; - + action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",canvas_interface()); action->set_param("new",layer); if(!get_instance()->perform_action(action)) break; - + // Ok, we have successfuly imported at least one item. success=true; } while(0); // END of "STRING" - - if(sinfg::String(selection_data_.get_data_type())=="text/plain") + + if(synfig::String(selection_data_.get_data_type())=="text/plain") { - sinfg::String selection_data((gchar *)(selection_data_.get_data())); - + synfig::String selection_data((gchar *)(selection_data_.get_data())); + // For some reason, GTK hands us a list of URL's seperated // by not only Carrage-Returns, but also Line-Feeds. // Line-Feeds will mess us up. Remove all the line-feeds. - while(selection_data.find_first_of('\r')!=sinfg::String::npos) + while(selection_data.find_first_of('\r')!=synfig::String::npos) selection_data.erase(selection_data.begin()+selection_data.find_first_of('\r')); - + std::stringstream stream(selection_data); - - //sinfgapp::PassiveGrouper group(canvas_interface()->get_instance(),_("Insert Image")); + + //synfigapp::PassiveGrouper group(canvas_interface()->get_instance(),_("Insert Image")); while(stream) { - sinfg::String filename,URI; + synfig::String filename,URI; getline(stream,filename); - + // If we don't have a filename, move on. if(filename.empty()) continue; - + // Make sure this URL is of the "file://" type. URI=String(filename.begin(),filename.begin()+sizeof("file://")-1); if(URI!="file://") { - sinfg::warning("Unknown URI (%s) in \"%s\"",URI.c_str(),filename.c_str()); + synfig::warning("Unknown URI (%s) in \"%s\"",URI.c_str(),filename.c_str()); continue; } - + // Strip the "file://" part from the filename - filename=sinfg::String(filename.begin()+sizeof("file://")-1,filename.end()); + filename=synfig::String(filename.begin()+sizeof("file://")-1,filename.end()); String ext; try{ext=(String(filename.begin()+filename.find_last_of('.')+1,filename.end()));}catch(...){continue;} - + // If this is a SIF file, then we need to do things slightly differently if(ext=="sketch") { @@ -3138,14 +3105,14 @@ CanvasView::on_drop_drag_data_received(const Glib::RefPtr& con void CanvasView::on_keyframe_add_pressed() { - sinfgapp::Action::Handle action(sinfgapp::Action::create("keyframe_add")); + synfigapp::Action::Handle action(synfigapp::Action::create("keyframe_add")); if(!action) { ui_interface_->error("I am unable to find the appropriate action"); return; - } - + } + action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",canvas_interface()); action->set_param("keyframe",Keyframe(get_time())); @@ -3163,17 +3130,17 @@ CanvasView::on_keyframe_duplicate_pressed() { ui_interface_->error("I am unable to duplicate the keyframe"); return; - } + } keyframe=row[model.keyframe]; - sinfgapp::Action::Handle action(sinfgapp::Action::create("keyframe_duplicate")); + synfigapp::Action::Handle action(synfigapp::Action::create("keyframe_duplicate")); if(!action) { ui_interface_->error("I am unable to find the appropriate action"); return; - } - + } + action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",canvas_interface()); action->set_param("keyframe",keyframe); @@ -3192,17 +3159,17 @@ CanvasView::on_keyframe_remove_pressed() { ui_interface_->error("I am unable to remove the keyframe"); return; - } + } keyframe=row[model.keyframe]; - sinfgapp::Action::Handle action(sinfgapp::Action::create("keyframe_remove")); + synfigapp::Action::Handle action(synfigapp::Action::create("keyframe_remove")); if(!action) { ui_interface_->error("I am unable to find the appropriate action"); return; - } - + } + action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",canvas_interface()); action->set_param("keyframe",keyframe); @@ -3222,22 +3189,22 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type) if(duck_mask_position) duck_mask_position->set_active(!is_currently_on); break; - + case Duck::TYPE_VERTEX: if(duck_mask_vertex) duck_mask_vertex->set_active(!is_currently_on); break; - + case Duck::TYPE_TANGENT: if(duck_mask_tangent) duck_mask_tangent->set_active(!is_currently_on); break; - + case Duck::TYPE_RADIUS: if(duck_mask_radius) duck_mask_radius->set_active(!is_currently_on); break; - + case Duck::TYPE_WIDTH: if(duck_mask_width) duck_mask_width->set_active(!is_currently_on); @@ -3249,7 +3216,7 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type) break; default: - sinfg::warning("CanvasView::toggle_duck_mask():Unknown duck type!"); + synfig::warning("CanvasView::toggle_duck_mask():Unknown duck type!"); break; } @@ -3257,7 +3224,7 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type) work_area->set_type_mask(work_area->get_type_mask()-type); else work_area->set_type_mask(work_area->get_type_mask()|type); - + work_area->queue_draw(); } @@ -3284,9 +3251,9 @@ CanvasView::on_input_device_changed(GdkDevice* device) get_smach().egress(); } assert(device); - - sinfgapp::InputDevice::Handle input_device; - input_device=sinfgapp::Main::select_input_device(device->name); + + synfigapp::InputDevice::Handle input_device; + input_device=synfigapp::Main::select_input_device(device->name); App::toolbox->change_state(input_device->get_state()); process_event_key(EVENT_INPUT_DEVICE_CHANGED); } @@ -3295,9 +3262,9 @@ void CanvasView::on_preview_option() { Dialog_PreviewOptions *po = dynamic_cast(get_ext_widget("prevoptions")); - + Canvas::Handle canv = get_canvas(); - + if(canv) { RendDesc &r = canv->rend_desc(); @@ -3316,7 +3283,7 @@ CanvasView::on_preview_option() po->set_begin_override(false); po->set_endtime(end); po->set_end_override(false); - + set_ext_widget("prevoptions",po); } /*po->set_zoom(work_area->get_zoom()/2); @@ -3325,7 +3292,7 @@ CanvasView::on_preview_option() po->set_begin_override(false); po->set_endtime(end); po->set_end_override(false);*/ - + po->set_global_fps(r.get_frame_rate()); po->signal_finish().connect(sigc::mem_fun(*this,&CanvasView::on_preview_create)); po->present(); @@ -3335,10 +3302,10 @@ CanvasView::on_preview_option() void CanvasView::on_preview_create(const PreviewInfo &info) -{ +{ //set all the options etl::handle prev = new Preview; - + prev->set_canvasview(this); prev->set_zoom(info.zoom); prev->set_fps(info.fps); @@ -3350,10 +3317,11 @@ CanvasView::on_preview_create(const PreviewInfo &info) //render it out... prev->render(); - + Dialog_Preview *pd = preview_dialog.get(); assert(pd); - + + pd->set_default_size(700,510); pd->set_preview(prev.get()); pd->present(); } @@ -3361,14 +3329,14 @@ CanvasView::on_preview_create(const PreviewInfo &info) void CanvasView::on_audio_option() { - sinfg::warning("Launching Audio Options"); + synfig::warning("Launching Audio Options"); sound_dialog->set_global_fps(get_canvas()->rend_desc().get_frame_rate()); sound_dialog->present(); } void CanvasView::on_audio_file_change(const std::string &f) -{ +{ //save in meta data - always even when not valid... canvas_interface()->set_meta_data("audiofile",f); } @@ -3384,35 +3352,35 @@ CanvasView::on_audio_file_notify() { std::string file(get_canvas()->get_meta_data("audiofile")); if(!file.c_str()) return; - + if(!audio->load(file,dirname(get_canvas()->get_file_name())+string("/"))) { - if(file != "") sinfg::warning("Could not load the file: %s", file.c_str()); + if(file != "") synfig::warning("Could not load the file: %s", file.c_str()); get_canvas()->erase_meta_data("audiofile"); disp_audio->hide(); disp_audio->set_profile(etl::handle()); }else { - //save in canvasview - sinfg::warning("Getting the profile of the music stuff"); - + //save in canvasview + synfig::warning("Getting the profile of the music stuff"); + //profile specific stuff for the preview widget //similar for other attachments Dialog_Preview *pd = preview_dialog.get(); pd->get_widget().set_audio(audio); - + handle prof = audio->get_profile(); - + if(!prof) { - sinfg::warning("Agh, I couldn't build the profile captain!"); + synfig::warning("Agh, I couldn't build the profile captain!"); } pd->get_widget().set_audioprofile(prof); - + disp_audio->set_profile(audio->get_profile()); disp_audio->show(); - - sinfg::warning("successfully set the profiles and stuff"); + + synfig::warning("successfully set the profiles and stuff"); } disp_audio->queue_draw(); } @@ -3424,8 +3392,8 @@ CanvasView::on_audio_offset_notify() audio->set_offset(t); sound_dialog->set_offset(t); disp_audio->queue_draw(); - - sinfg::info("CanvasView::on_audio_offset_notify(): offset time set to %s",t.get_string(get_canvas()->rend_desc().get_frame_rate()).c_str()); + + synfig::info("CanvasView::on_audio_offset_notify(): offset time set to %s",t.get_string(get_canvas()->rend_desc().get_frame_rate()).c_str()); } void @@ -3433,9 +3401,9 @@ CanvasView::play_audio(float t) { if(audio.get()) { - sinfg::info("Playing audio at %f s",t); + synfig::info("Playing audio at %f s",t); audio->play(t); - } + } } void @@ -3457,49 +3425,49 @@ CanvasView::on_audio_scrub() Glib::RefPtr -CanvasView::get_ref_obj(const sinfg::String& x) +CanvasView::get_ref_obj(const synfig::String& x) { return ref_obj_book_[x]; } Glib::RefPtr -CanvasView::get_ref_obj(const sinfg::String& x)const +CanvasView::get_ref_obj(const synfig::String& x)const { return ref_obj_book_.find(x)->second; } void -CanvasView::set_ref_obj(const sinfg::String& x, Glib::RefPtr y) +CanvasView::set_ref_obj(const synfig::String& x, Glib::RefPtr y) { ref_obj_book_[x]=y; } Glib::RefPtr -CanvasView::get_tree_model(const sinfg::String& x) +CanvasView::get_tree_model(const synfig::String& x) { return Glib::RefPtr::cast_dynamic(ref_obj_book_["_tree_model_"+x]); } Glib::RefPtr -CanvasView::get_tree_model(const sinfg::String& x)const +CanvasView::get_tree_model(const synfig::String& x)const { return Glib::RefPtr::cast_dynamic(ref_obj_book_.find("_tree_model_"+x)->second); } void -CanvasView::set_tree_model(const sinfg::String& x, Glib::RefPtr y) +CanvasView::set_tree_model(const synfig::String& x, Glib::RefPtr y) { ref_obj_book_["_tree_model_"+x]=Glib::RefPtr::cast_static(y); } Gtk::Widget* -CanvasView::get_ext_widget(const sinfg::String& x) +CanvasView::get_ext_widget(const synfig::String& x) { return ext_widget_book_[x]; } void -CanvasView::set_ext_widget(const sinfg::String& x, Gtk::Widget* y) +CanvasView::set_ext_widget(const synfig::String& x, Gtk::Widget* y) { ext_widget_book_[x]=y; if(x=="layers_cmp") @@ -3527,7 +3495,7 @@ static bool _close_instance(etl::handle instance) { etl::handle argh(instance); instance->safe_close(); - sinfg::info("closed"); + synfig::info("closed"); return false; } @@ -3547,6 +3515,6 @@ CanvasView::on_delete_event(GdkEventAny* event) } if(event) return Gtk::Window::on_delete_event(event); - + return true; }