3 * \file gtk/GuiImplementation.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Abdelrazak Younes
9 * Full author contact details are available in file CREDITS.
12 #ifndef GUI_IMPLEMENTATION_H
13 #define GUI_IMPLEMENTATION_H
15 #include "frontends/Gui.h"
16 #include "frontends/LyXView.h"
19 #include "GWorkArea.h"
21 #include "GuiWorkArea.h"
23 #include <boost/shared_ptr.hpp>
29 * The Gui class is the interface to all GTK components.
31 class GuiImplementation: public lyx::frontend::Gui
38 virtual ~GuiImplementation()
42 int newView(unsigned int w, unsigned int h);
44 LyXView & view(int /*id*/)
49 void destroyView(int /*id*/)
54 int newWorkArea(unsigned int w, unsigned int h, int /*view_id*/);
56 lyx::frontend::WorkArea & workArea(int /*id*/)
61 void destroyWorkArea(int /*id*/);
65 boost::shared_ptr<GuiWorkArea> work_area_;
67 boost::shared_ptr<LyXView> view_;
69 boost::shared_ptr<GWorkArea> old_work_area_;
71 boost::shared_ptr<GScreen> old_screen_;
74 } // namespace frontend
77 #endif // GUI_IMPLEMENTATION_H