2 * \file frontend/Application.cpp
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Abdelrazak Younes
8 * Full author contact details are available in file CREDITS.
13 #include "frontends/Application.h"
15 #include "frontends/NoGuiFontLoader.h"
16 #include "frontends/NoGuiFontMetrics.h"
17 #include "frontends/FontLoader.h"
18 #include "frontends/FontMetrics.h"
19 #include "frontends/Gui.h"
20 #include "frontends/LyXView.h"
21 #include "frontends/WorkArea.h"
23 #include "FuncRequest.h"
24 #include "FuncStatus.h"
25 #include "LyX.h" // for lyx::use_gui
30 #include "support/lstrings.h"
31 #include "support/os.h"
33 #include <boost/scoped_ptr.hpp>
34 #include <boost/shared_ptr.hpp>
41 Application::Application(int &, char **)
47 LyXView & Application::createView(unsigned int width,
51 unsigned int iconSizeXY,
52 const std::string & geometryArg)
54 LyXView & view = gui().createRegisteredView();
55 int view_id = view.id();
57 theLyXFunc().setLyXView(&view);
59 /*int workArea_id_ =*/ gui().newWorkArea(width, height, view_id);
62 view.setGeometry(width, height, posx, posy, maximized, iconSizeXY, geometryArg);
71 LyXView const * Application::currentView() const
77 LyXView * Application::currentView()
83 void Application::setCurrentView(LyXView & current_view)
85 current_view_ = ¤t_view;
88 } // namespace frontend
92 frontend::FontLoader & theFontLoader()
94 static frontend::NoGuiFontLoader no_gui_font_loader;
97 return no_gui_font_loader;
99 BOOST_ASSERT(theApp());
100 return theApp()->fontLoader();
104 frontend::FontMetrics const & theFontMetrics(Font const & f)
106 static frontend::NoGuiFontMetrics no_gui_font_metrics;
109 return no_gui_font_metrics;
111 BOOST_ASSERT(theApp());
112 return theApp()->fontLoader().metrics(f);
116 frontend::Clipboard & theClipboard()
118 BOOST_ASSERT(theApp());
119 return theApp()->clipboard();
123 frontend::Selection & theSelection()
125 BOOST_ASSERT(theApp());
126 return theApp()->selection();