X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flyx_main.h;h=908c60119f501ea23f827382f5d64c42f464479b;hb=86e0dfa3e11957318ca4f3f549248326aa806eb4;hp=e8a8d6874316a819e96675fa8fb623a3edce7cb5;hpb=0705dae8a3a2bcdd6be55eb468547c1389e84d2c;p=lyx.git diff --git a/src/lyx_main.h b/src/lyx_main.h index e8a8d68743..908c60119f 100644 --- a/src/lyx_main.h +++ b/src/lyx_main.h @@ -15,31 +15,46 @@ #define LYX_MAIN_H #include +#include #include -#include "support/std_string.h" - +#include +#include +class Buffer; class ErrorItem; -class LyXRC; +class InsetBase; class LastFiles; -class Buffer; +class LyXView; class kb_keymap; -/// last files loaded -extern boost::scoped_ptr lastfiles; - - /// initial startup class LyX : boost::noncopyable { public: - LyX(int & argc, char * argv[]); + static void exec(int & argc, char * argv[]); + static LyX & ref(); + static LyX const & cref(); /// in the case of failure - static void emergencyCleanup(); + void emergencyCleanup() const; + + LastFiles & lastfiles(); + LastFiles const & lastfiles() const; + + void addLyXView(boost::shared_ptr const & lyxview); + + /** 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(InsetBase const *) const; private: + static boost::scoped_ptr singleton_; + + LyX(); + void priv_exec(int & argc, char * argv[]); + /// initial LyX set up void init(bool); /// set up the default key bindings @@ -49,13 +64,13 @@ private: /// check, set up and configure the user dir if necessary void queryUserLyXDir(bool explicit_userdir); /// read lyxrc/preferences - void readRcFile(string const & name); + void readRcFile(std::string const & name); /// read the given ui (menu/toolbar) file - void readUIFile(string const & name); + void readUIFile(std::string const & name); /// read the given languages file - void readLanguagesFile(string const & name); + void readLanguagesFile(std::string const & name); /// read the given encodings file - void readEncodingsFile(string const & name); + void readEncodingsFile(std::string const & name); /// parsing of non-gui LyX options. Returns true if gui bool easyParse(int & argc, char * argv[]); /// shows up a parsing error on screen @@ -64,7 +79,13 @@ private: /// has this user started lyx for the first time? bool first_start; /// the parsed command line batch command if any - string batch_command; + std::string batch_command; + + /// last files loaded + boost::scoped_ptr lastfiles_; + /// + typedef std::list > ViewList; + ViewList views_; }; #endif // LYX_MAIN_H