2002-07-02 19:23:10 +00:00
|
|
|
// -*- C++ -*-
|
2002-06-12 09:47:10 +00:00
|
|
|
/**
|
|
|
|
* \file lyx_gui.h
|
2002-09-05 15:14:23 +00:00
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
2002-06-12 09:47:10 +00:00
|
|
|
*
|
2002-11-04 00:15:56 +00:00
|
|
|
* \author John Levon
|
2002-09-05 14:10:50 +00:00
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
* Full author contact details are available in file CREDITS.
|
2002-06-12 09:47:10 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef LYX_GUI_H
|
|
|
|
#define LYX_GUI_H
|
2002-11-04 00:15:56 +00:00
|
|
|
|
2003-09-05 17:23:11 +00:00
|
|
|
#include "support/std_string.h"
|
2002-12-18 14:24:32 +00:00
|
|
|
#include "FuncStatus.h"
|
2002-11-04 02:12:42 +00:00
|
|
|
|
2002-06-12 09:47:10 +00:00
|
|
|
#include <vector>
|
2002-07-02 19:23:10 +00:00
|
|
|
|
|
|
|
class Dialogs;
|
2003-09-18 11:48:11 +00:00
|
|
|
class LColor_color;
|
2002-07-12 03:05:13 +00:00
|
|
|
class LyXFont;
|
2002-07-14 01:44:15 +00:00
|
|
|
class LyXComm;
|
2002-12-18 14:24:32 +00:00
|
|
|
class FuncRequest;
|
2002-07-02 19:23:10 +00:00
|
|
|
|
2002-06-12 09:47:10 +00:00
|
|
|
/// GUI interaction
|
|
|
|
namespace lyx_gui {
|
2002-07-02 19:23:10 +00:00
|
|
|
|
2003-03-31 02:59:34 +00:00
|
|
|
/// are we using the GUI at all
|
|
|
|
extern bool use_gui;
|
|
|
|
|
|
|
|
/// return a suitable serif font name (called from non-gui context too !)
|
|
|
|
string const roman_font_name();
|
|
|
|
|
|
|
|
/// return a suitable sans serif font name (called from non-gui context too !)
|
|
|
|
string const sans_font_name();
|
|
|
|
|
|
|
|
/// return a suitable monospaced font name (called from non-gui context too !)
|
|
|
|
string const typewriter_font_name();
|
|
|
|
|
2002-11-04 00:15:56 +00:00
|
|
|
/// parse command line and do basic initialisation
|
|
|
|
void parse_init(int & argc, char * argv[]);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* set up GUI parameters. At this point lyxrc may
|
|
|
|
* be used.
|
|
|
|
*/
|
|
|
|
void parse_lyxrc();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Start the main event loop, after executing the given
|
|
|
|
* batch commands, and loading the given documents
|
|
|
|
*/
|
2002-11-04 02:12:42 +00:00
|
|
|
void start(string const & batch, std::vector<string> const & files);
|
2002-11-04 00:15:56 +00:00
|
|
|
|
2003-06-03 19:32:08 +00:00
|
|
|
/**
|
|
|
|
* Synchronise all pending events.
|
|
|
|
*/
|
|
|
|
void sync_events();
|
|
|
|
|
2002-11-04 00:15:56 +00:00
|
|
|
/**
|
|
|
|
* quit running LyX
|
|
|
|
*/
|
|
|
|
void exit();
|
|
|
|
|
2002-12-18 14:24:32 +00:00
|
|
|
/**
|
|
|
|
* return the status flag for a given action. This can be used to tell
|
|
|
|
* that a given lfun is not implemented by a frontend
|
|
|
|
*/
|
|
|
|
FuncStatus getStatus(FuncRequest const & ev);
|
|
|
|
|
2002-11-04 00:15:56 +00:00
|
|
|
/** Eg, passing LColor::black returns "000000",
|
|
|
|
* passing LColor::white returns "ffffff".
|
|
|
|
*/
|
2003-09-18 11:48:11 +00:00
|
|
|
string const hexname(LColor_color col);
|
2002-11-04 00:15:56 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* update an altered GUI color
|
|
|
|
*/
|
2003-09-18 11:48:11 +00:00
|
|
|
void update_color(LColor_color col);
|
2002-11-04 00:15:56 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* update the font cache
|
|
|
|
*/
|
|
|
|
void update_fonts();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* is the given font available ?
|
|
|
|
*/
|
|
|
|
bool font_available(LyXFont const & font);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* add a callback for I/O read notification
|
|
|
|
*/
|
|
|
|
void set_read_callback(int fd, LyXComm * comm);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* remove a I/O read callback
|
2002-11-04 02:12:42 +00:00
|
|
|
* @param fd file descriptor
|
2002-11-04 00:15:56 +00:00
|
|
|
*/
|
|
|
|
void remove_read_callback(int fd);
|
|
|
|
|
|
|
|
} // namespace lyx_gui
|
2002-06-12 09:47:10 +00:00
|
|
|
|
|
|
|
#endif // LYX_GUI_H
|