]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Gui.h
hopefully fix tex2lyx linking.
[lyx.git] / src / frontends / Gui.h
index 2d1c9eee1ea4b3090d147cac9de5420ee1a103e7..442508f7ea0388bc033ec114d90cf35ef7da07fd 100644 (file)
 #ifndef BASE_GUI_H
 #define BASE_GUI_H
 
-#include "frontends/GuiCursor.h"
+#include <boost/shared_ptr.hpp>
+
+#include <map>
+#include <vector>
 
 namespace lyx {
+
+class LyXView;
+class BufferView;
+
 namespace frontend {
 
-class Clipboard;
 class WorkArea;
 
 
@@ -32,19 +38,25 @@ public:
        virtual ~Gui() {}
 
        ///
-       virtual Clipboard& clipboard() = 0;
+       virtual int newView() = 0;
        ///
-       virtual int newWorkArea(int w, int h) = 0;
+       virtual LyXView & view(int id) = 0;
+
+       ///
+       virtual int newWorkArea(unsigned int width, unsigned int height, int view_id) = 0;
        ///
-       virtual WorkArea& workArea(int id) = 0;
+       virtual WorkArea & workArea(int id) = 0;
        ///
-       virtual void destroyWorkArea(int id) = 0;
+       virtual bool closeAll() = 0;
 
        ///
-       GuiCursor & guiCursor() {return cursor_;}
+       std::vector<int> const & viewIds() { return view_ids_; };
+
+protected:
+       /// view of a buffer. Eventually there will be several.
+       std::map<int, boost::shared_ptr<BufferView> > buffer_views_;
 
-private:
-       GuiCursor cursor_;
+       std::vector<int> view_ids_;
 };
 
 } // namespace frontend