10 #include <boost/utility.hpp>
11 #include <sigc++/signal_system.h>
14 #include "frontends/Timeout.h"
28 class LyXView : public SigC::Object, boost::noncopyable {
35 virtual void init() = 0;
37 virtual void setPosition(int, int) = 0;
39 virtual void show(int, int, string const &) = 0;
40 /// Redraw the main form.
41 virtual void redraw() = 0;
43 /// Resize all BufferViews in this LyXView (because the width changed)
46 /// returns the buffer currently shown in the main form.
47 Buffer * buffer() const;
50 BufferView * view() const;
52 /// return a pointer to the toolbar
53 Toolbar * getToolbar() const;
55 /// sets the layout in the toolbar layout combox
56 void setLayout(LyXTextClass::size_type layout);
58 /// update the toolbar
61 /// return a pointer to the lyxfunc
62 LyXFunc * getLyXFunc() const;
64 /// return a pointer to the minibuffer
65 MiniBuffer * getMiniBuffer() const;
68 void message(string const &);
70 void messagePush(string const & str);
75 Menubar * getMenubar() const;
81 Intl * getIntl() const;
84 Dialogs * getDialogs() { return dialogs_; }
87 void updateLayoutChoice();
89 /// Updates the title of the window
90 void updateWindowTitle();
92 /// Show state (toolbar and font in minibuffer)
95 /// Reset autosave timer
96 void resetAutosaveTimer();
98 virtual void prohibitInput() const = 0;
100 virtual void allowInput() const = 0;
106 /** This is supposed to be a pointer or a list of pointers to the
107 BufferViews currently being shown in the LyXView. So far
108 this is not used, but that should change pretty soon. (Lgb) */
109 BufferView * bufferview;
111 MiniBuffer * minibuffer;
115 Timeout autosave_timeout;
119 void invalidateLayoutChoice();
126 virtual void setWindowTitle(string const &) = 0;
127 /** The last textclass layout list in the layout choice selector
128 This should probably be moved to the toolbar, but for now it's