class LyXFunc;
class LyXServer;
class LyXServerSocket;
+class LyXView;
namespace lyx {
namespace frontend {
struct Application_pimpl;
class Clipboard;
+class FontLoader;
class Gui;
class Selection;
///
virtual ~Application() {}
+ /// Start the main event loop, after executing the given batch
+ /// commands.
int start(std::string const & batch);
///
virtual Gui & gui() = 0;
///
virtual int const exec() = 0;
- ///
+
+ /// Quit running LyX.
+ /**
+ * This may either quit directly or record the exit status
+ * and only stop the event loop.
+ */
virtual void exit(int status) = 0;
///
virtual Clipboard & clipboard() = 0;
///
virtual Selection & selection() = 0;
+ ///
+ virtual FontLoader & fontLoader() = 0;
+
+ /// return a suitable serif font name.
+ virtual std::string const romanFontName() = 0;
+
+ /// return a suitable sans serif font name.
+ virtual std::string const sansFontName() = 0;
+
+ /// return a suitable monospaced font name.
+ virtual std::string const typewriterFontName() = 0;
///
LyXFunc & lyxFunc();
BufferList & bufferList();
BufferList const & bufferList() const;
+ /// Create the main window with given geometry settings.
+ LyXView & createView(unsigned int width, unsigned int height,
+ int posx, int posy, bool maximize);
+
+ ///
void setBufferView(BufferView * buffer_view);
protected:
/// FIXME: \todo use Gui::currentView() in the future
BufferView * buffer_view_;
+private:
/// Application private implementation.
- /// FIXME: this should be private but LyXFunc construction
- /// is still done in GuiApplication.
Application_pimpl * pimpl_;
}; // Application