1 /* === S I N F G =========================================================== */
3 ** \brief Template Header
5 ** $Id: dockbook.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
8 ** Copyright (c) 2002 Robert B. Quattlebaum Jr.
10 ** This software and associated documentation
11 ** are CONFIDENTIAL and PROPRIETARY property of
12 ** the above-mentioned copyright holder.
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.
20 /* ========================================================================= */
22 /* === S T A R T =========================================================== */
24 #ifndef __SINFG_STUDIO_DOCKBOOK_H
25 #define __SINFG_STUDIO_DOCKBOOK_H
27 /* === H E A D E R S ======================================================= */
29 #include <gtkmm/notebook.h>
30 #include <sinfg/string.h>
31 #include <gtkmm/tooltips.h>
33 /* === M A C R O S ========================================================= */
35 /* === T Y P E D E F S ===================================================== */
37 /* === C L A S S E S & S T R U C T S ======================================= */
44 class DockBook : public Gtk::Notebook
46 friend class DockManager;
47 friend class Dockable;
49 sigc::signal<void> signal_empty_;
50 sigc::signal<void> signal_changed_;
52 Gtk::Tooltips tooltips_;
61 sigc::signal<void>& signal_empty() { return signal_empty_; }
62 sigc::signal<void>& signal_changed() { return signal_changed_; }
64 void add(Dockable& dockable, int position=-1);
65 void remove(Dockable& dockable);
71 sinfg::String get_local_contents()const;
73 sinfg::String get_contents()const;
74 void set_contents(const sinfg::String& x);
76 void refresh_tabs_headers();
78 void refresh_tab(Dockable*);
80 bool tab_button_pressed(GdkEventButton* event, Dockable* dockable);
81 void on_drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int, int, const Gtk::SelectionData& selection_data, guint, guint time);
82 }; // END of studio::DockBook
84 }; // END of namespace studio
86 /* === E N D =============================================================== */