#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 lyx {
namespace frontend {
-class Clipboard;
class WorkArea;
virtual ~Gui() {}
///
- virtual Clipboard & clipboard() = 0;
-
- ///
- virtual int newView(unsigned int width, unsigned int height) = 0;
+ virtual LyXView& createRegisteredView() = 0;
///
- virtual LyXView & view(int id) = 0;
+ virtual bool unregisterView(int id) = 0;
///
- virtual void destroyView(int id) = 0;
+ virtual bool closeAllViews()= 0;
///
- virtual int newWorkArea(unsigned int width, unsigned int height, int view_id) = 0;
+ virtual LyXView& view(int id) const = 0;
///
- virtual WorkArea & workArea(int id) = 0;
- ///
- virtual void destroyWorkArea(int id) = 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:
- /// 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