X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Flayertree.h;h=97b2d27f993971c9265b607608635aa1abc83138;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=b0e0f989d91247c08384dc6ac4146f12f8a54e9a;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/layertree.h b/synfig-studio/trunk/src/gtkmm/layertree.h index b0e0f98..97b2d27 100644 --- a/synfig-studio/trunk/src/gtkmm/layertree.h +++ b/synfig-studio/trunk/src/gtkmm/layertree.h @@ -1,28 +1,30 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file layertree.h ** \brief Template Header ** -** $Id: layertree.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Chris Moore ** -** 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 */ /* ========================================================================= */ /* === S T A R T =========================================================== */ -#ifndef __SINFG_STUDIO_LAYERTREE_H -#define __SINFG_STUDIO_LAYERTREE_H +#ifndef __SYNFIG_STUDIO_LAYERTREE_H +#define __SYNFIG_STUDIO_LAYERTREE_H /* === H E A D E R S ======================================================= */ @@ -35,21 +37,25 @@ #include #include -#include -#include +#include +#include #include "layertreestore.h" #include "layerparamtreestore.h" -#include +#include #include "widget_value.h" /* === M A C R O S ========================================================= */ +// comment this out if you don't want the params dialog to have a 'timetrack' column +// (alternatively, export SYNFIG_DISABLE_PARAMS_PANEL_TIMETRACK=1 in environment at runtime) +#define TIMETRACK_IN_PARAMS_PANEL + /* === T Y P E D E F S ===================================================== */ /* === C L A S S E S & S T R U C T S ======================================= */ -namespace Gtk { class TreeModelSort; }; +namespace Gtk { class TreeModelSort; }; namespace studio { @@ -70,24 +76,24 @@ public: COLUMNID_NAME, COLUMNID_VALUE, COLUMNID_TIME_TRACK, - + COLUMNID_END //!< \internal }; */ - typedef std::list LayerList; - + typedef std::list LayerList; + /* -- ** -- P U B L I C D A T A ------------------------------------------------ */ public: - + //LayerTreeStore::Model model; LayerTreeStore::Model layer_model; LayerParamTreeStore::Model param_model; - sinfg::Layer::Handle last_top_selected_layer; + synfig::Layer::Handle last_top_selected_layer; Gtk::TreePath last_top_selected_path; /* @@ -99,29 +105,27 @@ private: Gtk::Tooltips tooltips_; Gtk::TreePath last_tooltip_path; - - Gtk::TreeView* layer_tree_view_; Gtk::TreeView* param_tree_view_; - - Gtk::HBox *hbox; Gtk::Adjustment layer_amount_adjustment_; Gtk::HScale *layer_amount_hscale; - sinfg::Layer::Handle quick_layer; + synfig::Layer::Handle quick_layer; Glib::RefPtr layer_tree_store_; Glib::RefPtr param_tree_store_; - + Glib::RefPtr sorted_layer_tree_store_; -// CellRenderer_TimeTrack *cellrenderer_time_track; +#ifdef TIMETRACK_IN_PARAMS_PANEL + CellRenderer_TimeTrack *cellrenderer_time_track; +#endif // TIMETRACK_IN_PARAMS_PANEL Gtk::TreeView::Column* column_time_track; @@ -129,47 +133,50 @@ private: CellRenderer_ValueBase *cellrenderer_value; - sigc::signal signal_layer_toggle_; + sigc::signal signal_layer_toggle_; - sigc::signal signal_edited_value_; + sigc::signal signal_edited_value_; sigc::signal signal_layer_user_click_; sigc::signal signal_param_user_click_; - sigc::signal signal_waypoint_clicked_; + sigc::signal >,int> signal_waypoint_clicked_layertree_; bool disable_amount_changed_signal; Gtk::Button *button_raise; Gtk::Button *button_lower; Gtk::Button *button_duplicate; + Gtk::Button *button_encapsulate; Gtk::Button *button_delete; Widget_ValueBase blend_method_widget; - + /* -- ** -- P R I V A T E M E T H O D S --------------------------------------- */ private: - + Gtk::Widget* create_layer_tree(); Gtk::Widget* create_param_tree(); - + /* -- ** -- S I G N A L T E R M I N A L S ------------------------------------- */ private: - void on_edited_value(const Glib::ustring&path_string,sinfg::ValueBase value); + void on_edited_value(const Glib::ustring&path_string,synfig::ValueBase value); + + void on_layer_renamed(const Glib::ustring&path_string,const Glib::ustring& value); void on_layer_toggle(const Glib::ustring& path_string); - void on_waypoint_clicked(const Glib::ustring &, sinfg::Waypoint, int button); + void on_waypoint_clicked_layertree(const etl::handle& node, const synfig::Time&, const synfig::Time&, int button); - void on_waypoint_changed( sinfg::Waypoint waypoint , sinfg::ValueNode::Handle value_node); + void on_waypoint_changed( synfig::Waypoint waypoint , synfig::ValueNode::Handle value_node); bool on_layer_tree_event(GdkEvent *event); @@ -184,14 +191,16 @@ private: void on_blend_method_changed(); public: - - void on_raise_pressed(); - void on_lower_pressed(); + // void on_raise_pressed(); + + // void on_lower_pressed(); - void on_duplicate_pressed(); + // void on_duplicate_pressed(); - void on_delete_pressed(); + // void on_encapsulate_pressed(); + + // void on_delete_pressed(); /* -- ** -- P U B L I C M E T H O D S ----------------------------------------- @@ -200,7 +209,7 @@ public: public: //Gtk::TreeView* get_param_tree_view() { return param_tree_view_; } - Gtk::TreeView& param_tree_view() { return *param_tree_view_; } + //Gtk::TreeView& param_tree_view() { return *param_tree_view_; } Gtk::HBox& get_hbox() { return *hbox; } Gtk::TreeView& get_layer_tree_view() { return *layer_tree_view_; } @@ -208,10 +217,10 @@ public: const Gtk::TreeView& get_layer_tree_view()const { return *layer_tree_view_; } const Gtk::TreeView& get_param_tree_view()const { return *param_tree_view_; } - + Glib::RefPtr get_selection() { return get_layer_tree_view().get_selection(); } Glib::SignalProxy1< bool,GdkEvent* > signal_event () { return get_layer_tree_view().signal_event(); } - + LayerTree(); ~LayerTree(); @@ -222,27 +231,25 @@ public: void set_show_timetrack(bool x=true); //! Signal called when layer is toggled. - sigc::signal& signal_layer_toggle() { return signal_layer_toggle_; } + sigc::signal& signal_layer_toggle() { return signal_layer_toggle_; } //! Signal called with a value has been edited. - sigc::signal& signal_edited_value() { return signal_edited_value_; } + sigc::signal& signal_edited_value() { return signal_edited_value_; } sigc::signal& signal_layer_user_click() { return signal_layer_user_click_; } sigc::signal& signal_param_user_click() { return signal_param_user_click_; } - sigc::signal& signal_waypoint_clicked() { return signal_waypoint_clicked_; } + sigc::signal >,int>& signal_waypoint_clicked_layertree() { return signal_waypoint_clicked_layertree_; } + + etl::handle get_selection_manager() { return layer_tree_store_->canvas_interface()->get_selection_manager(); } - etl::handle get_selection_manager() { return layer_tree_store_->canvas_interface()->get_selection_manager(); } - - - - void select_layer(sinfg::Layer::Handle layer); + void select_layer(synfig::Layer::Handle layer); void select_layers(const LayerList& layer_list); - void select_all_children_layers(sinfg::Layer::Handle layer); + void select_all_children_layers(synfig::Layer::Handle layer); void select_all_children(Gtk::TreeModel::Children::iterator iter); LayerList get_selected_layers()const; - sinfg::Layer::Handle get_selected_layer()const; + synfig::Layer::Handle get_selected_layer()const; void clear_selected_layers(); }; // END of LayerTree