#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;
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