]> git.lyx.org Git - lyx.git/blobdiff - src/LyX.h
Fix support for screen fractional scaling with Wayland
[lyx.git] / src / LyX.h
index 100b593047e7fdda62972854e2100c56db9de9e6..c35464e210e6626f9d5f6e10f6ed879514b78935 100644 (file)
--- a/src/LyX.h
+++ b/src/LyX.h
 
 #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;
@@ -34,30 +38,39 @@ 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;
 
 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 &);
@@ -75,16 +88,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,
@@ -95,7 +104,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.
@@ -120,26 +131,29 @@ 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();
        friend SpellChecker * theSpellChecker();
-       friend void setRcGuiLanguage();
+       friend void setSpellChecker();
        friend void emergencyCleanup();
        friend void execBatchCommands();
        friend void lyx_exit(int exit_code);
@@ -152,12 +166,18 @@ void emergencyCleanup();
 /// \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);
-/// Set the language defined by the user.
-void setRcGuiLanguage();
 /// 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
-