lyx_mirror/src/lyx_main.h
Lars Gullik Bjønnes 8283e978f8 ws cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3803 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 17:27:08 +00:00

92 lines
1.9 KiB
C++

// -*- C++ -*-
/* This file is part of
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
/* This is the declaration of the LyX class, there should only
* exist _one_ instance of this in the application. */
#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 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 : boost::noncopyable {
public:
/// the only allowed constructor
LyX(int * argc, char * argv[]); // constructor
/// Always is useful a destructor
~LyX();
/// in the case of failure
static void emergencyCleanup();
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;
///
void runtime();
///
void init(bool);
///
void defaultKeyBindings(kb_keymap * kbmap);
///
void deadKeyBindings(kb_keymap * kbmap);
///
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);
///
bool easyParse(int * argc, char * argv[]);
};
#endif