X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXView.h;h=8017453af51c88e2c90f1e80d9119653181f7626;hb=f448e22d483e1370bcbfbb7be8cb47ad7251ed77;hp=e8f292cea4249656626eb099f2af04ac3497e238;hpb=76938908d7da15b92bad3908e71eb969c9449c0e;p=lyx.git diff --git a/src/LyXView.h b/src/LyXView.h index e8f292cea4..8017453af5 100644 --- a/src/LyXView.h +++ b/src/LyXView.h @@ -16,29 +16,27 @@ #pragma interface #endif +#include #include FORMS_H_LOCATION +#include "LString.h" +#include "Timeout.h" +#include +#include "layout.h" + class LyXFunc; class Toolbar; class MiniBuffer; class Intl; class Buffer; -class Menus; +class Menubar; + class BufferView; +class Dialogs; -/// -struct FD_form_main { - /// - FL_FORM * form_main; - /// - FL_OBJECT * timer_autosave; - /// - FL_OBJECT * timer_update; - /// - void * vdata; - /// - long ldata; -}; +#ifdef SIGC_CXX_NAMESPACES +using SigC::Object; +#endif /** @@ -46,7 +44,7 @@ struct FD_form_main { view is supposed (at least IMHO) to be another class, that shows its output in one or more LyXView's. */ -class LyXView { +class LyXView : public Object, public noncopyable { public: /// constructor LyXView(int w, int h); @@ -58,7 +56,7 @@ public: void setPosition(int, int); /// Show the main form. - void show(int, int, char const * t = "LyX"); + void show(int, int, string const & t = string("LyX")); /// init (should probably be removed later) (Lgb) void init(); @@ -72,15 +70,18 @@ public: /// BufferView * view() const; - /// returns a pointer to the main form. - FD_form_main * getMainForm() const; - /// returns a pointer to the form. FL_FORM * getForm() const; /// return a pointer to the toolbar Toolbar * getToolbar() const; + /// sets the layout in the toolbar layout combox + void setLayout(LyXTextClass::size_type layout); + + /// update the toolbar + void updateToolbar(); + /// return a pointer to the lyxfunc LyXFunc * getLyXFunc() const; @@ -88,17 +89,27 @@ public: MiniBuffer * getMiniBuffer() const; /// - Menus * getMenus() const; + Menubar * getMenubar() const; + + /// + void updateMenubar(); /// Intl * getIntl() const; + /// + Dialogs * getDialogs() { return dialogs_; } + /// void updateLayoutChoice(); /// Updates the title of the window void updateWindowTitle(); + + /// Show state (toolbar and font in minibuffer) + void showState(); + /// Reset autosave timer void resetAutosaveTimer(); private: @@ -109,9 +120,11 @@ private: /// MiniBuffer * minibuffer; /// - Menus * menus; + Menubar * menubar; /// Intl * intl; + /// + Dialogs * dialogs_; /** This is supposed to be a pointer or a list of pointers to the BufferViews currently being shown in the LyXView. So far @@ -119,26 +132,19 @@ private: BufferView * bufferview; /// void invalidateLayoutChoice(); - /// - void UpdateDocumentClassChoice(); public: - /// - static int KeyPressMask_raw_callback(FL_FORM *, void * xev); /** This callback is run when a close event is sent from the window manager. */ static int atCloseMainFormCB(FL_FORM *, void *); /// A callback - static void AutosaveTimerCB(FL_OBJECT *, long); - /// A callback - static void UpdateTimerCB(FL_OBJECT *, long); + void AutoSave(); private: + /// + Timeout autosave_timeout; /// makes the main form. void create_form_form_main(int width, int height); /// A pointer to the form. - FD_form_main * form_main_; - /// A pointer to the form. FL_FORM * form_; - /** The last textclass layout list in the layout choice selector This should probably be moved to the toolbar, but for now it's here. (Asger) */