my log
[synfig.git] / synfig-studio / trunk / src / gtkmm / dock_children.cpp
1 /* === S Y N F I G ========================================================= */
2 /*!     \file dock_children.cpp
3 **      \brief Template File
4 **
5 **      $Id: dock_children.cpp,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
6 **
7 **      \legal
8 **      Copyright (c) 2002 Robert B. Quattlebaum Jr.
9 **
10 **      This software and associated documentation
11 **      are CONFIDENTIAL and PROPRIETARY property of
12 **      the above-mentioned copyright holder.
13 **
14 **      You may not copy, print, publish, or in any
15 **      other way distribute this software without
16 **      a prior written agreement with
17 **      the copyright holder.
18 **      \endlegal
19 */
20 /* ========================================================================= */
21
22 /* === H E A D E R S ======================================================= */
23
24 #ifdef USING_PCH
25 #       include "pch.h"
26 #else
27 #ifdef HAVE_CONFIG_H
28 #       include <config.h>
29 #endif
30
31 #include "dock_children.h"
32 #include "app.h"
33
34 #include <gtkmm/scrolledwindow.h>
35 #include <cassert>
36 #include "instance.h"
37 #include <sigc++/signal.h>
38 #include <sigc++/hide.h>
39 #include <sigc++/retype_return.h>
40 #include <sigc++/slot.h>
41 #include "childrentreestore.h"
42 #include "childrentree.h"
43 #include "canvasview.h"
44
45 #endif
46
47 /* === U S I N G =========================================================== */
48
49 using namespace std;
50 using namespace etl;
51 using namespace synfig;
52 using namespace studio;
53
54 /* === M A C R O S ========================================================= */
55
56 /* === G L O B A L S ======================================================= */
57
58 /* === P R O C E D U R E S ================================================= */
59
60 /* === M E T H O D S ======================================================= */
61
62 Dock_Children::Dock_Children():
63         Dock_CanvasSpecific("children",_("Children"),Gtk::StockID("synfig-children"))
64 {
65         set_use_scrolled(false);
66 /*
67         add(*create_action_tree());
68
69         add_button(
70                 Gtk::StockID("synfig-clear_redo"),
71                 _("Clear the REDO Stack")
72         )->signal_clicked().connect(
73                 sigc::mem_fun(
74                         *this,
75                         &Dock_Children::clear_redo
76                 )
77         );
78 */
79 }
80
81 Dock_Children::~Dock_Children()
82 {
83 }
84
85 void
86 Dock_Children::init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view)
87 {
88         Glib::RefPtr<ChildrenTreeStore> children_tree_store;
89         children_tree_store=ChildrenTreeStore::create(canvas_view->canvas_interface());
90
91         ChildrenTree* children_tree(new ChildrenTree());
92         children_tree->set_model(children_tree_store);
93         children_tree->set_time_adjustment(canvas_view->time_adjustment());
94
95         
96         canvas_view->set_tree_model(get_name(),children_tree_store);
97         canvas_view->set_ext_widget(get_name(),children_tree);
98 }
99
100 void
101 Dock_Children::changed_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view)
102 {
103         if(canvas_view)
104         {
105                 Gtk::Widget* tree_view(canvas_view->get_ext_widget(get_name()));
106         
107                 add(*tree_view);
108                 tree_view->show();
109         }
110         else clear_previous();
111
112 }