]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Application.h
compile fix (missing forward declaration)
[lyx.git] / src / frontends / Application.h
index c6d254d68e0d0793f3a6c09461631b7819b53156..0cc2ed00f69eef03e37bcfa262035469e4d083a3 100644 (file)
 #include "ColorCode.h"
 
 #include "support/strfwd.h"
+#include "support/docstring.h"
 
 #include <boost/function.hpp>
 
+#include <vector>
+
 
 namespace lyx {
 
@@ -25,6 +28,7 @@ class Buffer;
 class FuncRequest;
 class FuncStatus;
 class Inset;
+class Lexer;
 struct RGBColor;
 
 namespace frontend {
@@ -51,18 +55,29 @@ initialisation should be done before the instanciation of this class.
 
  Application (this is the frontend really, should probably be renamed).
    |
-   LyXView-1 (M1 WorkAreas, M1 <= N)
+   LyXView-1 (one or more in case of split-view mode).
+   |  |
+   |  <tab-widget-1-1> 
+   |  |  |
+   |  |  WorkArea-1-1-1 (M1-1 WorkAreas, M1-1 <= N)
+   |  |  | |
+   |  |  | BufferView <-----------> Buffer-c
+   |  |  |   |
+   |  |  |   Cursor
+   |  |  |
+   |  |  WorkArea-1-1-2
+   |  |  | |
+   |  |  | BufferView <-----------> Buffer-a
+   |  |  |   |
+   |  |  |   Cursor
    |  |
-   |  <tab-widget>
-   |     | (many)
-   |     WorkArea-1
-   |       |
-   |       BufferView <-----------> Buffer-c
-   |         |
-   |         Cursor
+   |  <tab-widget-1-2> 
    |
-   LyXView-2 (M2 WorkAreas, M2 <= N, M2 independent of M1)
-      |
+   LyXView-2 (one or more in case of split-view mode).
+   |  |
+   |  <tab-widget-2-1>
+   |  |  |
+   |  |  WorkArea-2-1-1 (M2-1 WorkAreas, M2-1 <= N, M2-1 independent of M1-1)
      ...
 
 
@@ -156,13 +171,15 @@ public:
        ///
        virtual FuncStatus getStatus(FuncRequest const & cmd) = 0;
        /// dispatch command.
-       virtual void dispatch(FuncRequest const & cmd) = 0;
+       /// \return true if the \c FuncRequest has been dispatched.
+       virtual bool dispatch(FuncRequest const & cmd) = 0;
 
        ///
        virtual void resetGui() = 0;
 
-       ///
-       virtual bool closeAllViews() = 0;
+       /// Load files and restore GUI Session.
+       virtual void restoreGuiSession() = 0;
+
        ///
        virtual void hideDialogs(std::string const & name, Inset * inset) const = 0;
        ///
@@ -197,6 +214,11 @@ public:
        */
        virtual void updateColor(ColorCode col) = 0;
 
+       /**
+       * read and create the menu structure
+       */
+       virtual void readMenus(Lexer & lex) = 0;
+
        /**
        * add a callback for socket read notification
        * @param fd socket descriptor (file/socket/etc)
@@ -210,9 +232,8 @@ public:
        */
        virtual void unregisterSocketCallback(int fd) = 0;
 
-       /// Create the main window with given geometry settings.
-       /// \param geometry_arg: only for Windows platform.
-       virtual void createView(std::string const & geometry_arg = std::string()) = 0;
+       virtual bool searchMenu(FuncRequest const & func,
+               std::vector<docstring> & names) const = 0;
 };
 
 } // namespace frontend