X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyX.h;h=162151286aafe72ecc736621141c04a42b839611;hb=c7d29be153debac82e3d2e8865fcc849f0a5f40d;hp=f46b3a025a54e421815336cb04e51032a2e013ff;hpb=5ec4d801626d22da5f1929fdd668eae50b55b537;p=lyx.git diff --git a/src/LyX.h b/src/LyX.h index f46b3a025a..162151286a 100644 --- 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 * @@ -16,47 +16,62 @@ #include "support/strfwd.h" +#include + 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,28 +132,32 @@ 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 & 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 void setRcGuiLanguage(); + friend SpellChecker * theSpellChecker(); + friend void setSpellChecker(); friend void emergencyCleanup(); friend void execBatchCommands(); - friend void lyx_exit(int exit_code = 0); + friend void lyx_exit(int exit_code); }; @@ -149,12 +166,19 @@ 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 = 0); -/// Set the language defined by the user. -void setRcGuiLanguage(); +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