#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 LyXView& createRegisteredView() = 0;
///
- virtual int newWorkArea(int w, int h) = 0;
+ virtual bool unregisterView(int id) = 0;
///
- virtual WorkArea& workArea(int id) = 0;
+ virtual bool closeAllViews()= 0;
+
///
- virtual void destroyWorkArea(int id) = 0;
+ virtual LyXView& view(int id) const = 0;
+ ///
+ std::vector<int> const & viewIds()
+ {
+ return view_ids_;
+ }
+
+ virtual int newWorkArea(unsigned int width, unsigned int height, int view_id) = 0;
///
- GuiCursor & guiCursor() {return cursor_;}
+ virtual WorkArea & workArea(int id) = 0;
+
+protected:
-private:
- GuiCursor cursor_;
+ std::vector<int> view_ids_;
};
} // namespace frontend