Blame synfig-studio/src/gui/mainwindow.h

9b19d5
/* === S Y N F I G ========================================================= */
9b19d5
/*!	\file mainwindow.h
9b19d5
**	\brief MainWindow
9b19d5
**
9b19d5
**	$Id$
9b19d5
**
9b19d5
**	\legal
9b19d5
**	......... ... 2013 Ivan Mahonin
9b19d5
**
9b19d5
**	This package is free software; you can redistribute it and/or
9b19d5
**	modify it under the terms of the GNU General Public License as
9b19d5
**	published by the Free Software Foundation; either version 2 of
9b19d5
**	the License, or (at your option) any later version.
9b19d5
**
9b19d5
**	This package is distributed in the hope that it will be useful,
9b19d5
**	but WITHOUT ANY WARRANTY; without even the implied warranty of
9b19d5
**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9b19d5
**	General Public License for more details.
9b19d5
**	\endlegal
9b19d5
*/
9b19d5
/* ========================================================================= */
9b19d5
9b19d5
/* === S T A R T =========================================================== */
9b19d5
9b19d5
#ifndef __SYNFIG_STUDIO_MAINWINDOW_H
9b19d5
#define __SYNFIG_STUDIO_MAINWINDOW_H
9b19d5
9b19d5
/* === H E A D E R S ======================================================= */
9b19d5
a488c9
#include <etl handle=""></etl>
9b19d5
#include <gtkmm window.h=""></gtkmm>
a488c9
#include <gtkmm box.h=""></gtkmm>
9b19d5
#include <gtkmm notebook.h=""></gtkmm>
ac4c88
#include <gtkmm actiongroup.h=""></gtkmm>
Yu Chen fc950e
#include <gtkmm toggleaction.h=""></gtkmm>
9b19d5
9b19d5
/* === M A C R O S ========================================================= */
9b19d5
9b19d5
/* === T Y P E D E F S ===================================================== */
9b19d5
9b19d5
/* === C L A S S E S & S T R U C T S ======================================= */
9b19d5
9b19d5
namespace studio {
839371
	class Dockable;
f24ab7
	class DockBook;
839371
9b19d5
	class MainWindow: public Gtk::Window
9b19d5
	{
ec177c
	private:
8e0196
		Gtk::Bin *bin_;
f24ab7
		DockBook *main_dock_book_;
Yu Chen ca1b1f
		Glib::RefPtr<gtk::actiongroup> window_action_group;</gtk::actiongroup>
9b19d5
a316ef
		//! Constructor Helper - Initializes all of the menus
a316ef
		void init_menus();
a316ef
Rodolfo Ribeiro Gomes f49551
		//! Mandatory for constructing custom widgets from GTKBuilder files
Rodolfo Ribeiro Gomes f49551
		void register_custom_widget_types();
Rodolfo Ribeiro Gomes f49551
3d521f
		static void show_dialog_input();
0865f9
		void on_recent_files_changed();
Rodolfo Ribeiro Gomes 4d2447
		void on_custom_workspaces_changed();
839371
		void on_dockable_registered(Dockable* dockable);
[d.j.a.y] Jerome Blanchi d5e08d
		void on_dockable_unregistered(Dockable* dockable);
Yu Chen fc950e
		void toggle_show_menubar();
Yu Chen fc950e
Rodolfo Ribeiro Gomes b62117
		guint save_workspace_merge_id;
Rodolfo Ribeiro Gomes cbe448
		guint custom_workspaces_merge_id;
Rodolfo Ribeiro Gomes b62117
Rodolfo Ribeiro Gomes b62117
		void add_custom_workspace_menu_item_handlers();
Rodolfo Ribeiro Gomes b62117
		void remove_custom_workspace_menu_item_handlers();
Rodolfo Ribeiro Gomes b62117
Rodolfo Ribeiro Gomes 37680c
	protected:
Rodolfo Ribeiro Gomes 37680c
		virtual bool on_key_press_event(GdkEventKey *key_event);
3d521f
9b19d5
	public:
9b19d5
		MainWindow();
9b19d5
		virtual ~MainWindow();
9b19d5
8e0196
		Gtk::Bin& root() { return *bin_; }
8e0196
		const Gtk::Bin& root() const { return *bin_; }
8e0196
f24ab7
		DockBook& main_dock_book() { return *main_dock_book_; }
f24ab7
		const DockBook& main_dock_book() const { return *main_dock_book_; }
de146d
de146d
		static void make_short_filenames(
de146d
			const std::vector<synfig::string> &fullnames,</synfig::string>
de146d
			std::vector<synfig::string> &shortnames );</synfig::string>
9b19d5
	};
9b19d5
}; // END of namespace studio
9b19d5
9b19d5
/* === E N D =============================================================== */
9b19d5
9b19d5
#endif