4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
15 #include "bufferview_funcs.h"
17 #include "frontends/LyXView.h"
19 #include "GuiImplementation.h"
30 class GView : public LyXView, public Gtk::Window {
43 Gtk::Box & getBox(Position pos);
45 virtual void prohibitInput() const;
46 virtual void allowInput() const;
47 virtual void message(std::string const &);
49 bool on_delete_event(GdkEventAny * event);
50 void focusWorkArea() { workArea_->grab_focus(); }
51 void setGWorkArea(Gtk::Widget * w) { workArea_ = w; }
54 virtual void busy(bool) const;
55 /// clear any temporary message and replace with current status
56 virtual void clearMessage();
58 // returns true if this view has the focus.
59 virtual bool hasFocus() const;
62 Gui & gui() { return frontend_; }
66 bool onFocusIn(GdkEventFocus * event);
67 virtual void setWindowTitle(std::string const & t, std::string const & it);
69 // The top-most box containing all other boxes.
72 // The physical store for the boxes making up the layout.
73 typedef boost::shared_ptr<Gtk::Box> BoxPtr;
74 typedef std::vector<BoxPtr> BoxStore;
77 // Accessors to the various Boxes.
78 std::map<Position, BoxPtr> box_map_;
80 boost::scoped_ptr<GMiniBuffer> minibuffer_;
81 Gtk::Widget * workArea_;
83 GuiImplementation frontend_;
86 } // namespace frontend