1 /* === S I N F G =========================================================== */
2 /*! \file dockmanager.h
3 ** \brief Template Header
5 ** $Id: dockmanager.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_DOCKMANAGER_H
25 #define __SINFG_DOCKMANAGER_H
27 /* === H E A D E R S ======================================================= */
31 #include <sinfg/string.h>
32 #include <sigc++/signal.h>
33 #include <sigc++/object.h>
34 #include <ETL/smart_ptr>
36 /* === M A C R O S ========================================================= */
38 /* === T Y P E D E F S ===================================================== */
40 /* === C L A S S E S & S T R U C T S ======================================= */
48 class DockManager : public sigc::trackable
50 friend class Dockable;
51 friend class DockDialog;
52 friend class DockSettings;
54 std::list<Dockable*> dockable_list_;
55 std::list<DockDialog*> dock_dialog_list_;
57 sigc::signal<void,Dockable*> signal_dockable_registered_;
59 etl::smart_ptr<DockSettings> dock_settings;
65 DockDialog& find_dock_dialog(int id);
66 const DockDialog& find_dock_dialog(int id)const;
68 sigc::signal<void,Dockable*>& signal_dockable_registered() { return signal_dockable_registered_; }
70 void register_dockable(Dockable& x);
71 bool unregister_dockable(Dockable& x);
72 Dockable& find_dockable(const sinfg::String& x);
73 void present(sinfg::String x);
75 }; // END of class DockManager
77 }; // END of namespace studio
79 /* === E N D =============================================================== */