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 "GuiClipboard.h"
22 #include "GuiWorkArea.h"
24 #include <boost/shared_ptr.hpp>
30 * The Gui class is the interface to all GTK components.
32 class GuiImplementation: public lyx::frontend::Gui
39 virtual ~GuiImplementation()
43 lyx::frontend::Clipboard & clipboard()
48 int newView(unsigned int w, unsigned int h);
50 LyXView & view(int /*id*/)
55 void destroyView(int /*id*/)
60 int newWorkArea(unsigned int w, unsigned int h, int /*view_id*/);
62 lyx::frontend::WorkArea & workArea(int /*id*/)
67 void destroyWorkArea(int /*id*/);
71 boost::shared_ptr<GuiClipboard> clipboard_;
73 boost::shared_ptr<GuiWorkArea> work_area_;
75 boost::shared_ptr<LyXView> view_;
77 boost::shared_ptr<GWorkArea> old_work_area_;
79 boost::shared_ptr<GScreen> old_screen_;
82 } // namespace frontend
85 #endif // GUI_IMPLEMENTATION_H