Added copyright lines for files I've edited this year.
[synfig.git] / synfig-studio / trunk / src / gtkmm / layertree.cpp
index 81460f5..ab05c82 100644 (file)
@@ -6,6 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007, 2008 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -167,7 +168,8 @@ LayerTree::LayerTree():
 
 LayerTree::~LayerTree()
 {
-       synfig::info("LayerTree::~LayerTree(): Deleted");
+       if (getenv("SYNFIG_DEBUG_DESTRUCTORS"))
+               synfig::info("LayerTree::~LayerTree(): Deleted");
 }
 
 Gtk::Widget*
@@ -197,7 +199,7 @@ LayerTree::create_layer_tree()
                Gtk::TreeView::Column* column = get_layer_tree_view().get_column(index-1);
                get_layer_tree_view().set_expander_column(*column);
 
-               column->set_sort_column_id(layer_model.z_depth);
+               column->set_sort_column(layer_model.z_depth);
                //column->set_reorderable();
                //column->set_resizable();
                //column->set_clickable();
@@ -208,27 +210,27 @@ LayerTree::create_layer_tree()
        }
        //get_layer_tree_view().append_column(_("Z"),layer_model.z_depth);
        {       // --- N A M E --------------------------------------------------------
-               Gtk::TreeView::Column* column = Gtk::manage( new Gtk::TreeView::Column(_("Layer")) );
+               Gtk::TreeView::Column* column = Gtk::manage( new Gtk::TreeView::Column(_("Name")) );
 
                // Set up the icon cell-renderer
                Gtk::CellRendererText* cellrenderer = Gtk::manage( new Gtk::CellRendererText() );
+               column->pack_start(*cellrenderer,false);
+               column->add_attribute(cellrenderer->property_text(), layer_model.label);
                cellrenderer->signal_edited().connect(sigc::mem_fun(*this, &studio::LayerTree::on_layer_renamed));
                cellrenderer->property_editable()=true;
 
-               column->pack_start(*cellrenderer,false);
-               column->add_attribute(cellrenderer->property_text(), layer_model.label);
+               column->set_reorderable();
+               // column->set_resizable();
+               column->set_clickable(true);
+               column->set_sort_column(layer_model.label);
+
                get_layer_tree_view().append_column(*column);
 
                //              int index;
 //             index=get_layer_tree_view().append_column_editable(_("Layer"),layer_model.label);
                //Gtk::TreeView::Column* column = get_layer_tree_view().get_column(index-1);
 
-               //column->set_sort_column_id(layer_model.index);
-
                //get_layer_tree_view().set_expander_column(*column);
-               //column->set_reorderable();
-               //column->set_resizable();
-               //column->set_clickable(false);
 
                //Gtk::CellRendererPixbuf* icon_cellrenderer = Gtk::manage( new Gtk::CellRendererPixbuf() );
                //column->pack_start(*icon_cellrenderer,false);
@@ -243,7 +245,7 @@ LayerTree::create_layer_tree()
                column_z_depth->set_resizable();
                column_z_depth->set_clickable();
 
-               column_z_depth->set_sort_column_id(layer_model.z_depth);
+               column_z_depth->set_sort_column(layer_model.z_depth);
        }
 
        get_layer_tree_view().set_enable_search(true);
@@ -350,7 +352,7 @@ LayerTree::create_param_tree()
                column->set_reorderable();
                column->set_resizable();
                column->set_clickable();
-               column->set_sort_column_id(param_model.type);
+               column->set_sort_column(param_model.type);
        }
        /*{     // --- T I M E   T R A C K --------------------------------------------
                Gtk::TreeView::Column* column = Gtk::manage( new Gtk::TreeView::Column(_("Time Track")) );
@@ -359,7 +361,7 @@ LayerTree::create_param_tree()
                // Set up the value-node cell-renderer
                cellrenderer_time_track=LayerParamTreeStore::add_cell_renderer_value_node(column);
                cellrenderer_time_track->property_mode()=Gtk::CELL_RENDERER_MODE_ACTIVATABLE;
-               cellrenderer_time_track->signal_waypoint_clicked().connect(sigc::mem_fun(*this, &studio::LayerTree::on_waypoint_clicked) );
+               cellrenderer_time_track->signal_waypoint_clicked_cellrenderer().connect(sigc::mem_fun(*this, &studio::LayerTree::on_waypoint_clicked_layertree) );
                cellrenderer_time_track->signal_waypoint_changed().connect(sigc::mem_fun(*this, &studio::LayerTree::on_waypoint_changed) );
                column->add_attribute(cellrenderer_time_track->property_value_desc(), param_model.value_desc);
                column->add_attribute(cellrenderer_time_track->property_canvas(), param_model.canvas);
@@ -524,7 +526,7 @@ LayerTree::set_model(Glib::RefPtr<LayerTreeStore> layer_tree_store)
                sorted_layer_tree_store_->set_default_sort_func(sigc::ptr_fun(&studio::LayerTreeStore::z_sorter));
 
                //sorted_store->set_sort_func(model.time.index(),sigc::mem_fun(&studio::KeyframeTreeStore::time_sorter));
-               //sorted_store->set_sort_column_id(model.time.index(), Gtk::SORT_ASCENDING);
+               //sorted_store->set_sort_column(model.time.index(), Gtk::SORT_ASCENDING);
 
                get_layer_tree_view().set_model(sorted_layer_tree_store_);
        }
@@ -707,6 +709,7 @@ LayerTree::on_layer_renamed(const Glib::ustring&path_string,const Glib::ustring&
        if(!row)
                return;
        row[layer_model.label]=value;
+       get_layer_tree_view().columns_autosize();
 }
 
 void
@@ -720,15 +723,17 @@ LayerTree::on_layer_toggle(const Glib::ustring& path_string)
 }
 
 void
-LayerTree::on_waypoint_clicked(const Glib::ustring &path_string, synfig::Waypoint waypoint,int button)
+LayerTree::on_waypoint_clicked_layertree(const etl::handle<synfig::Node>& node __attribute__ ((unused)),
+                                                                                const synfig::Time& time __attribute__ ((unused)),
+                                                                                const synfig::Time& time_offset __attribute__ ((unused)),
+                                                                                int button __attribute__ ((unused)),
+                                                                                synfig::Waypoint::Side side __attribute__ ((unused)))
 {
-       Gtk::TreePath path(path_string);
-
-       const Gtk::TreeRow row = *(get_param_tree_view().get_model()->get_iter(path));
-       if(!row)
-               return;
+       //! \todo writeme
 
-       signal_waypoint_clicked()(static_cast<synfigapp::ValueDesc>(row[param_model.value_desc]),waypoint,button);
+       // synfigapp::ValueDesc value_desc;
+       // std::set<synfig::Waypoint, std::less<UniqueID> > waypoint_set;
+       // signal_waypoint_clicked_layertree()(value_desc,waypoint_set,button,side);
 }
 
 bool