]> git.lyx.org Git - lyx.git/blobdiff - src/LyX.h
Account for old versions of Pygments
[lyx.git] / src / LyX.h
index a57ae481df8c960b5d94ba73f017763656afafc0..162151286aafe72ecc736621141c04a42b839611 100644 (file)
--- a/src/LyX.h
+++ b/src/LyX.h
@@ -4,7 +4,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Jean-Marc Lasgouttes
  * \author John Levon
  *
 
 #include "support/strfwd.h"
 
+#include <vector>
+
 namespace lyx {
 
 class BufferList;
 class CmdDef;
 class Converters;
+class DispatchResult;
 class ErrorItem;
+class Formats;
 class FuncRequest;
 class FuncStatus;
 class KeyMap;
-class LyXFunc;
+class LaTeXFonts;
 class Messages;
 class Mover;
 class Movers;
 class Server;
 class ServerSocket;
 class Session;
+class SpellChecker;
+
+enum RunMode {
+       NEW_INSTANCE,
+       USE_REMOTE,
+       PREFERRED
+};
+
+enum OverwriteFiles {
+       NO_FILES,
+       MAIN_FILE,
+       ALL_FILES,
+       UNSPECIFIED
+};
 
 extern bool use_gui;
+extern bool verbose;
+extern bool ignore_missing_glyphs;
+extern RunMode run_mode;
+extern OverwriteFiles force_overwrite;
+extern double qt_scale_factor;
 
 namespace frontend {
 class Application;
-class LyXView;
-}
-
-namespace graphics {
-class Previews;
 }
 
 /// initial startup
 class LyX {
+       friend class LyXConsoleApp;
 public:
-
        LyX();
        ~LyX();
 
        /// Execute LyX.
        int exec(int & argc, char * argv[]);
 
-       ///
-       frontend::LyXView * newLyXView();
-
 private:
        /// noncopyable
        LyX(LyX const &);
@@ -74,16 +89,12 @@ private:
        */
        int init(int & argc, char * argv[]);
 
+       /// Execute commandline commands if no GUI was requested.
+       int execWithoutGui(int & argc, char * argv[]);
+
        /// Execute batch commands if available.
        void execCommands();
 
-       /// Load files passed at command-line.
-       /// return true on success false if we encounter an error
-       /**
-       This method is used only in non-GUI mode.
-       */
-       bool loadFiles();
-
        /// initial LyX set up
        bool init();
        /** Check for the existence of the user's support directory and,
@@ -94,7 +105,9 @@ private:
         */
        bool queryUserLyXDir(bool explicit_userdir);
        /// read lyxrc/preferences
-       bool readRcFile(std::string const & name);
+       /// \param check_format: whether to try to convert the format of
+       /// the file, if there is a mismatch.
+       bool readRcFile(std::string const & name, bool check_format = false);
        /// read the given languages file
        bool readLanguagesFile(std::string const & name);
        /// read the encodings.
@@ -119,36 +132,53 @@ private:
        bool first_start;
 
        friend FuncStatus getStatus(FuncRequest const & action);
-       friend void dispatch(FuncRequest const & action);
+       friend DispatchResult const & dispatch(FuncRequest const & action);
+       friend void dispatch(FuncRequest const & action, DispatchResult & dr);
+       friend std::vector<std::string> & theFilesToLoad();
        friend BufferList & theBufferList();
-       friend LyXFunc & theLyXFunc();
        friend Server & theServer();
        friend ServerSocket & theServerSocket();
        friend Converters & theConverters();
        friend Converters & theSystemConverters();
-       friend Messages & getMessages(std::string const & language);
-       friend Messages & getGuiMessages();
+       friend Formats & theFormats();
+       friend Formats & theSystemFormats();
+       friend Messages const & getMessages(std::string const & language);
+       friend Messages const & getGuiMessages();
        friend KeyMap & theTopLevelKeymap();
        friend Movers & theMovers();
-       friend Mover const & getMover(std::string  const & fmt);
+       friend Mover const & getMover(std::string const & fmt);
        friend void setMover(std::string const & fmt, std::string const & command);
        friend Movers & theSystemMovers();
        friend frontend::Application * theApp();
-       friend graphics::Previews & thePreviews();
        friend Session & theSession();
+       friend LaTeXFonts & theLaTeXFonts();
        friend CmdDef & theTopLevelCmdDef();
-       /// Set the language defined by the user.
-       friend void setRcGuiLanguage();
-       /// in the case of failure
+       friend SpellChecker * theSpellChecker();
+       friend void setSpellChecker();
        friend void emergencyCleanup();
-       /// Execute batch commands if available.
        friend void execBatchCommands();
-       /// 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.
-       friend void lyx_exit(int exit_code = 0);
+       friend void lyx_exit(int exit_code);
 };
 
+
+/// in the case of failure
+void emergencyCleanup();
+/// 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 lyx_exit(int exit_code);
+/// Execute batch commands if available.
+void execBatchCommands();
+
+///
+FuncStatus getStatus(FuncRequest const & action);
+
+///
+DispatchResult const & dispatch(FuncRequest const & action);
+
+///
+void dispatch(FuncRequest const & action, DispatchResult & dr);
+
 } // namespace lyx
 
 #endif // LYX_H