]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/lyx_gui.h
make LyX work better when run from a directory which name contains spaces or other...
[lyx.git] / src / frontends / lyx_gui.h
index 0ebcebbb093f368da70583c9b9f406e190f7a30d..153c46fa5421b808323ce76791a6bbbb46b4ab5e 100644 (file)
@@ -6,23 +6,43 @@
  *
  * \author John Levon
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef LYX_GUI_H
 #define LYX_GUI_H
 
-#include "LColor.h"
-#include "LString.h"
+
+#include "FuncStatus.h"
+
+#include <boost/function.hpp>
+
+#include <string>
 #include <vector>
 
 class Dialogs;
+class LColor_color;
 class LyXFont;
 class LyXComm;
+class LyXDataSocket;
+class LyXServerSocket;
+class FuncRequest;
 
 /// GUI interaction
 namespace lyx_gui {
 
+/// are we using the GUI at all
+extern bool use_gui;
+
+/// return a suitable serif font name (called from non-gui context too !)
+std::string const roman_font_name();
+
+/// return a suitable sans serif font name (called from non-gui context too !)
+std::string const sans_font_name();
+
+/// return a suitable monospaced font name (called from non-gui context too !)
+std::string const typewriter_font_name();
+
 /// parse command line and do basic initialisation
 void parse_init(int & argc, char * argv[]);
 
@@ -36,22 +56,33 @@ void parse_lyxrc();
  * Start the main event loop, after executing the given
  * batch commands, and loading the given documents
  */
-void start(string const & batch, std::vector<std::string> const & files);
+void start(std::string const & batch, std::vector<std::string> const & files);
+
+/**
+ * Synchronise all pending events.
+ */
+void sync_events();
 
 /**
  * quit running LyX
  */
 void exit();
 
+/**
+ * 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);
+
 /** Eg, passing LColor::black returns "000000",
  *      passing LColor::white returns "ffffff".
  */
-string const hexname(LColor::color col);
+std::string const hexname(LColor_color col);
 
 /**
  * update an altered GUI color
  */
-void update_color(LColor::color col);
+void update_color(LColor_color col);
 
 /**
  * update the font cache
@@ -64,14 +95,16 @@ void update_fonts();
 bool font_available(LyXFont const & font);
 
 /**
- * add a callback for I/O read notification
+ * add a callback for socket read notification
+ * @param fd socket descriptor (file/socket/etc)
  */
-void set_read_callback(int fd, LyXComm * comm);
+void register_socket_callback(int fd, boost::function<void()> func);
 
 /**
  * remove a I/O read callback
+ * @param fd socket descriptor (file/socket/etc)
  */
-void remove_read_callback(int fd);
+void unregister_socket_callback(int fd);
 
 } // namespace lyx_gui