00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_STUDIO_DOCK_DIALOG_H
00026 #define __SYNFIG_STUDIO_DOCK_DIALOG_H
00027
00028
00029
00030 #include <gtkmm/stockid.h>
00031 #include <gtkmm/button.h>
00032 #include "dialogsettings.h"
00033 #include <synfig/string.h>
00034 #include <gtkmm/dialog.h>
00035 #include <gtkmm/tooltips.h>
00036 #include <gtkmm/label.h>
00037 #include <gtkmm/frame.h>
00038 #include <gtkmm/handlebox.h>
00039 #include <gtkmm/scrolledwindow.h>
00040 #include <gtkmm/accelgroup.h>
00041
00042
00043
00044
00045
00046
00047
00048 namespace Gtk { class Box; class Paned; };
00049 namespace studio {
00050
00051 class DockManager;
00052 class DockBook;
00053 class Dockable;
00054 class Widget_CompSelect;
00055 class CanvasView;
00056
00057 class DockDialog : public Gtk::Window
00058 {
00059 friend class DockManager;
00060 friend class DockBook;
00061 friend class Dockable;
00062 sigc::connection empty_sig;
00063
00064 bool composition_selector_;
00065
00066 bool is_deleting;
00067
00068 bool is_horizontal;
00069
00070 private:
00071 std::list<DockBook*> dock_book_list;
00072
00073 std::vector<Gtk::Paned*> panels_;
00074 std::vector<int> dock_book_sizes_;
00075
00076
00077 DockBook* last_dock_book;
00078
00079 Widget_CompSelect* widget_comp_select;
00080 Gtk::Box *box;
00081
00082 int id_;
00083
00084 void on_hide();
00085
00086 void refresh();
00087
00088 void refresh_title();
00089
00090 void set_id(int x) { id_=x; }
00091
00092 void refresh_accel_group();
00093
00094 void drop_on_append(const Glib::RefPtr<Gdk::DragContext>& context, int, int, const Gtk::SelectionData& selection_data, guint, guint time);
00095 void drop_on_prepend(const Glib::RefPtr<Gdk::DragContext>& context, int, int, const Gtk::SelectionData& selection_data, guint, guint time);
00096
00097 public:
00098
00099 const std::vector<int>& get_dock_book_sizes()const { return dock_book_sizes_;}
00100 void set_dock_book_sizes(const std::vector<int>&);
00101 void rebuild_sizes();
00102
00103 bool close();
00104
00105 int get_id()const { return id_; }
00106
00107 DockBook* append_dock_book();
00108 DockBook* prepend_dock_book();
00109 void erase_dock_book(DockBook*);
00110
00111 void set_composition_selector(bool x);
00112 bool get_composition_selector()const { return composition_selector_; }
00113
00114 DockDialog();
00115 ~DockDialog();
00116
00117 DockBook& get_dock_book();
00118 const DockBook& get_dock_book()const;
00119
00120 synfig::String get_contents()const;
00121 void set_contents(const synfig::String& x);
00122 };
00123
00124 };
00125
00126
00127
00128 #endif