synfig-studio  1.0.3
mainwindow.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
21 /* ========================================================================= */
22 
23 /* === S T A R T =========================================================== */
24 
25 #ifndef __SYNFIG_STUDIO_MAINWINDOW_H
26 #define __SYNFIG_STUDIO_MAINWINDOW_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <ETL/handle>
31 #include <gtkmm/window.h>
32 #include <gtkmm/box.h>
33 #include <gtkmm/notebook.h>
34 #include <gtkmm/actiongroup.h>
35 #include <gtkmm/toggleaction.h>
36 
37 /* === M A C R O S ========================================================= */
38 
39 /* === T Y P E D E F S ===================================================== */
40 
41 /* === C L A S S E S & S T R U C T S ======================================= */
42 
43 namespace studio {
44  class Dockable;
45  class DockBook;
46 
47  class MainWindow: public Gtk::Window
48  {
49  private:
50  Gtk::Bin *bin_;
51  DockBook *main_dock_book_;
52  Glib::RefPtr<Gtk::ActionGroup> window_action_group;
53 
55  void init_menus();
56 
57  static void show_dialog_input();
58  void on_recent_files_changed();
59  void on_dockable_registered(Dockable* dockable);
60  void on_dockable_unregistered(Dockable* dockable);
61  void toggle_show_menubar();
62 
63  Glib::RefPtr<Gtk::ToggleAction> toggle_menubar;
64  bool toggling_show_menubar;
65 
66 
67  public:
68  MainWindow();
69  virtual ~MainWindow();
70 
71  Gtk::Bin& root() { return *bin_; }
72  const Gtk::Bin& root() const { return *bin_; }
73 
74  DockBook& main_dock_book() { return *main_dock_book_; }
75  const DockBook& main_dock_book() const { return *main_dock_book_; }
76  };
77 }; // END of namespace studio
78 
79 /* === E N D =============================================================== */
80 
81 #endif