X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyx_main.h;h=a196e8909aec48bb56d916ac4a3fe5baf6973777;hb=6c2e78e12855d8661eb289ded3dc8722748863b8;hp=c9cdf781bf96875eccc1c651b02a82a508131a41;hpb=44cd0fc9a1687cc63911c7f98d978594458e7813;p=lyx.git diff --git a/src/lyx_main.h b/src/lyx_main.h index c9cdf781bf..a196e8909a 100644 --- a/src/lyx_main.h +++ b/src/lyx_main.h @@ -15,39 +15,59 @@ #define LYX_MAIN_H #include +#include #include +#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 void defaultKeyBindings(kb_keymap * kbmap); /// set up the default dead key bindings if requested void deadKeyBindings(kb_keymap * kbmap); - /// check, set up and configure the user dir if necessary - void queryUserLyXDir(bool explicit_userdir); + /** Check for the existence of the user's support directory and, + * if not present, create it. Exits the program if the directory + * cannot be created. + * \returns true if the user-side configuration script + * (lib/configure) should be re-run in this directory. + */ + bool queryUserLyXDir(bool explicit_userdir); /// read lyxrc/preferences void readRcFile(std::string const & name); /// read the given ui (menu/toolbar) file @@ -65,6 +85,12 @@ private: bool first_start; /// the parsed command line batch command if any std::string batch_command; + + /// last files loaded + boost::scoped_ptr lastfiles_; + /// + typedef std::list > ViewList; + ViewList views_; }; #endif // LYX_MAIN_H