void Dock_Curves::init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view) { //! Curves is registred thrue CanvasView::set_ext_widget //! and will be deleted during CanvasView::~CanvasView() //! \see CanvasView::set_ext_widget //! \see CanvasView::~CanvasView Widget_Curves* curves(new Widget_Curves()); curves->set_time_adjustment(canvas_view->time_adjustment()); Gtk::TreeView* param_tree_view( static_cast<Gtk::TreeView*>(canvas_view->get_ext_widget("params")) ); param_tree_view->get_selection()->signal_changed().connect( sigc::bind( sigc::bind( sigc::ptr_fun( _curve_selection_changed ),curves ),param_tree_view ) ); studio::LayerTree* tree_layer(dynamic_cast<studio::LayerTree*>(canvas_view->get_ext_widget("layers_cmp"))); tree_layer->signal_param_tree_header_height_changed().connect(sigc::mem_fun(*this, &studio::Dock_Curves::on_update_header_height)); canvas_view->set_ext_widget(get_name(),curves); }
void Dock_Children::init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view) { Glib::RefPtr<ChildrenTreeStore> children_tree_store; children_tree_store=ChildrenTreeStore::create(canvas_view->canvas_interface()); ChildrenTree* children_tree(new ChildrenTree()); children_tree->set_model(children_tree_store); children_tree->set_time_adjustment(canvas_view->time_adjustment()); canvas_view->set_tree_model(get_name(),children_tree_store); canvas_view->set_ext_widget(get_name(),children_tree); }
void Dock_Curves::changed_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view) { if(table_) { table_->hide(); delete table_; hscrollbar_->unset_adjustment(); vscrollbar_->unset_adjustment(); //widget_timeslider_->unset_adjustment(); table_=0; } if(canvas_view) { last_widget_curves_=dynamic_cast<Widget_Curves*>( canvas_view->get_ext_widget(get_name()) ); vscrollbar_->set_adjustment(last_widget_curves_->get_range_adjustment()); hscrollbar_->set_adjustment(canvas_view->time_window_adjustment()); widget_timeslider_->set_time_adjustment(&canvas_view->time_adjustment()); widget_timeslider_->set_bounds_adjustment(&canvas_view->time_window_adjustment()); widget_timeslider_->set_global_fps(canvas_view->get_canvas()->rend_desc().get_frame_rate()); table_=new Gtk::Table(2,2); table_->attach(*widget_timeslider_, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK); table_->attach(*last_widget_curves_, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); table_->attach(*hscrollbar_, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK); table_->attach(*vscrollbar_, 1, 2, 0, 2, Gtk::FILL|Gtk::SHRINK, Gtk::FILL|Gtk::EXPAND); add(*table_); //add(*last_widget_curves_); last_widget_curves_->show(); table_->show_all(); show_all(); } else { //clear_previous(); } }
void Dock_Layers::init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view) { Glib::RefPtr<LayerTreeStore> layer_tree_store; layer_tree_store=LayerTreeStore::create(canvas_view->canvas_interface()); canvas_view->set_tree_model(get_name(),layer_tree_store); //! layer_tree is registred thrue CanvasView::set_ext_widget //! and will be deleted during CanvasView::~CanvasView() //! \see CanvasView::set_ext_widget //! \see CanvasView::~CanvasView LayerTree* layer_tree(new LayerTree()); layer_tree->set_time_adjustment(canvas_view->time_adjustment()); layer_tree->signal_edited_value().connect( sigc::hide_return( sigc::bind(sigc::mem_fun(*canvas_view->canvas_interface(), &synfigapp::CanvasInterface::change_value), false) ) ); // (a) should be before (b), (b) should be before (c) canvas_view->set_ext_widget(get_name()+"_cmp",layer_tree); // (a) canvas_view->set_ext_widget(get_name(),&layer_tree->get_layer_tree_view()); canvas_view->set_ext_widget("params",&layer_tree->get_param_tree_view()); layer_tree->set_model(layer_tree_store); // (b) canvas_view->set_tree_model("params",layer_tree->get_param_tree_view().get_model()); // (c) /* canvas_view->layermenu.items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-delete"),Gtk::AccelKey("Delete"), sigc::mem_fun(*layer_tree, &LayerTree::on_delete_pressed)) ); */ // Hide the time bar if(canvas_view->get_canvas()->rend_desc().get_time_start()==canvas_view->get_canvas()->rend_desc().get_time_end()) canvas_view->hide_timebar(); layer_tree_store->rebuild(); present(); }
void Dock_Curves::init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view) { Widget_Curves* curves(new Widget_Curves()); curves->set_time_adjustment(canvas_view->time_adjustment()); Gtk::TreeView* param_tree_view( static_cast<Gtk::TreeView*>(canvas_view->get_ext_widget("params")) ); param_tree_view->get_selection()->signal_changed().connect( sigc::bind( sigc::bind( sigc::ptr_fun( _curve_selection_changed ),curves ),param_tree_view ) ); canvas_view->set_ext_widget(get_name(),curves); }