]> git.lyx.org Git - lyx.git/blobdiff - src/LyX.h
even example code should follow the style conventions
[lyx.git] / src / LyX.h
index 0a0602e3864f98de5562a1656a32a7c94fded661..0d8616eff9b98eef606cb2631ec62e76ae1f4049 100644 (file)
--- a/src/LyX.h
+++ b/src/LyX.h
 #ifndef LYX_H
 #define LYX_H
 
-#include <boost/scoped_ptr.hpp>
-#include <boost/utility.hpp>
-
-#include <string>
+#include "support/strfwd.h"
 
 namespace lyx {
 
@@ -33,19 +30,22 @@ class Inset;
 class LyXFunc;
 class Server;
 class ServerSocket;
-class LyXView;
 class Messages;
 class Mover;
 class Movers;
 class Session;
 class KeyMap;
+class CmdDef;
 
 extern bool use_gui;
 
-namespace frontend { class Application; }
+namespace frontend {
+class Application;
+class LyXView;
+}
 
 /// initial startup
-class LyX : boost::noncopyable {
+class LyX {
 public:
 
        LyX();
@@ -54,6 +54,11 @@ public:
        /// Execute LyX.
        int exec(int & argc, char * argv[]);
 
+       /// Try to exit LyX properly.
+       /// \p exit_code is 0 by default, if a non zero value is passed,
+       /// emergencyCleanup() will be called before exiting.
+       void exit(int exit_code = 0) const;
+
        static LyX & ref();
        static LyX const & cref();
 
@@ -83,7 +88,10 @@ public:
        ///
        KeyMap & topLevelKeymap();
        KeyMap const & topLevelKeymap() const;
-       
+
+       ///
+       CmdDef & topLevelCmdDef();
+
        ///
        Converters & converters();
        Converters & systemConverters();
@@ -96,20 +104,19 @@ public:
        void setGuiLanguage(std::string const & language);
 
        ///
-       LyXView * newLyXView();
-
-       /** redraw \c inset in all the BufferViews in which it is currently
-        *  visible. If successful return a pointer to the owning Buffer.
-        */
-       Buffer const * const updateInset(Inset const *) const;
+       frontend::LyXView * newLyXView();
 
        /// Execute batch commands if available.
        void execBatchCommands();
 
        ///
-       void addFileToLoad(support::FileName const &);
+       void addFileToLoad(std::string const &);
 
 private:
+       /// noncopyable
+       LyX(LyX const &);
+       void operator=(LyX const &);
+
        /// Do some cleanup in preparation of an exit.
        void prepareExit();
 
@@ -128,16 +135,8 @@ private:
        */
        void loadFiles();
 
-       /// Create a View, load files and restore GUI Session.
-       void restoreGuiSession();
-
-       /// Initialize RC font for the GUI.
-       void initGuiFont();
-
        /// initial LyX set up
        bool init();
-       /// set up the default key bindings
-       void defaultKeyBindings(KeyMap * kbmap);
        /// set up the default dead key bindings if requested
        void deadKeyBindings(KeyMap * kbmap);
        /** Check for the existence of the user's support directory and,
@@ -157,20 +156,19 @@ private:
        /// \param enc_name encodings definition file
        /// \param symbols_name unicode->LaTeX mapping file
        bool readEncodingsFile(std::string const & enc_name,
-                              std::string const & symbols_name);
+                              std::string const & symbols_name);
        /// parsing of non-gui LyX options.
        void easyParse(int & argc, char * argv[]);
        /// shows up a parsing error on screen
        void printError(ErrorItem const &);
 
+       /// Use the Pimpl idiom to hide the internals.
+       // Mostly used for singletons.
+       struct Impl;
+       Impl * pimpl_;
+
        /// has this user started lyx for the first time?
        bool first_start;
-       /// the parsed command line batch command if any
-       std::string batch_command;
-
-       /// Use the Pimpl idiom to hide the internals.
-       struct Singletons;
-       boost::scoped_ptr<Singletons> pimpl_;
 
        friend Movers & theMovers();
        friend Mover const & getMover(std::string  const & fmt);