]> git.lyx.org Git - lyx.git/blobdiff - src/lyx_main.h
fix typo that put too many include paths for most people
[lyx.git] / src / lyx_main.h
index 9c6326c1b981e8fa5deba2b568c2625a4b42297b..c56d5ea9a72b4b4d7c542801aa6d6b911033bd3b 100644 (file)
@@ -1,11 +1,11 @@
 // -*- C++ -*-
 /* This file is part of
-* ====================================================== 
-* 
+* ======================================================
+*
 *           LyX, The Document Processor
-*       
+*
 *           Copyright 1995 Matthias Ettrich
-*           Copyright 1995-2000 The LyX Team.
+*           Copyright 1995-2001 The LyX Team.
 *
 * ====================================================== */
 
 #ifndef LYX_MAIN_H
 #define LYX_MAIN_H
 
+#ifdef __GNUG__
+#pragma interface
+#endif
+
 #include <csignal>
 
 #include "LString.h"
 
+#include <boost/smart_ptr.hpp>
+#include <boost/utility.hpp>
+
 class LyXGUI;
 class LyXRC;
 class LastFiles;
 class Buffer;
 class kb_keymap;
 
+///
 extern string system_lyxdir;
+///
 extern string user_lyxdir;
+///
 extern string system_tempdir;
-
-extern LastFiles * lastfiles; /* we should hopefully be able to move this
-                             * inside the LyX class */
+///
+extern boost::scoped_ptr<LastFiles> lastfiles;
+/* we should hopefully be able to move this
+ * inside the LyX class */
 
 
 /**
   This is the main LyX object it encapsulates most of the other objects.
 */
-class LyX {
+class LyX : boost::noncopyable {
 public:
-       /**@name Constructors and Deconstructors */
-       //@{
        /// the only allowed constructor
        LyX(int * argc, char * argv[]); // constructor
-       // Always is useful a destructor
+       /// Always is useful a destructor
        ~LyX();
-       //@}
 
-       /**@name Pointers to... */
-       //@{
-       ///
-       LyXGUI * lyxGUI;  // should be only one of this
-       //@}
-private:
-       /**@name Constructors and Deconstructors */
-       //@{
-       /// not allowed
-       LyX(const LyX &) {} // not allowed
-       /// not allowed
-       LyX() {} // not allowed
-       //@}
+       /// in the case of failure
+       static void emergencyCleanup();
 
-       /**@name Private variables */
-       //@{
+private:
+       /// Should be a maximum of 1 LyXGUI.
+       boost::scoped_ptr<LyXGUI> lyxGUI;
        /// does this user start lyx for the first time?
        bool first_start;
        ///
        string batch_command;
        ///
-       struct sigaction act_;
-       //@}
-       /**@name Private Members */
-       //@{
-       ///
        void runtime();
        ///
-       void init(int * argc, char * argv[], bool);
+       void init(bool);
        ///
        void defaultKeyBindings(kb_keymap * kbmap);
        ///
        void deadKeyBindings(kb_keymap * kbmap);
        ///
-       void queryUserLyXDir();
+       void queryUserLyXDir(bool explicit_userdir);
+       /** Search for and read the LyXRC file name, return
+           true if successfull.
+       */
+       bool readRcFile(string const & name);
+       /// Read the ui file `name'
+       void readUIFile(string const & name);
+       /// Read the languages file `name'
+       void readLanguagesFile(string const & name);
+       /// Read the encodings file `name'
+       void readEncodingsFile(string const & name);
        ///
-        void ReadRcFile(string const & name);
-        ///
        bool easyParse(int * argc, char * argv[]);
-       //@}
 };
 
 #endif