X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXView.h;h=8017453af51c88e2c90f1e80d9119653181f7626;hb=f448e22d483e1370bcbfbb7be8cb47ad7251ed77;hp=95565adcff3c9c206c344dd80cdf727cd0342e32;hpb=3660343dc7da7cb40b93448949dca02a579505d5;p=lyx.git diff --git a/src/LyXView.h b/src/LyXView.h index 95565adcff..8017453af5 100644 --- a/src/LyXView.h +++ b/src/LyXView.h @@ -1,11 +1,11 @@ // -*- C++ -*- /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1998 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * ====================================================== */ @@ -16,32 +16,27 @@ #pragma interface #endif +#include #include FORMS_H_LOCATION -#include "lyx.h" -#include "buffer.h" -#include "menus.h" -#include "BufferView.h" + +#include "LString.h" +#include "Timeout.h" +#include #include "layout.h" class LyXFunc; class Toolbar; class MiniBuffer; class Intl; +class Buffer; +class Menubar; -/// -struct FD_form_main { - /// - FL_FORM * form_main; - /// - FL_OBJECT * timer_autosave; - /// - FL_OBJECT * timer_update; - /// - void * vdata; - /// - long ldata; -}; +class BufferView; +class Dialogs; +#ifdef SIGC_CXX_NAMESPACES +using SigC::Object; +#endif /** @@ -49,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); @@ -61,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(); @@ -70,28 +65,40 @@ public: void redraw(); /// returns the buffer currently shown in the main form. - Buffer * buffer() const { return bufferview->buffer(); } + Buffer * buffer() const; /// - BufferView * currentView() { return bufferview; } + BufferView * view() const; /// returns a pointer to the form. - FL_FORM * getForm() { return _form; } + FL_FORM * getForm() const; /// return a pointer to the toolbar - Toolbar * getToolbar() { return 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() { return lyxfunc; } + LyXFunc * getLyXFunc() const; /// return a pointer to the minibuffer - MiniBuffer * getMiniBuffer() { return minibuffer; } + MiniBuffer * getMiniBuffer() const; + + /// + Menubar * getMenubar() const; + + /// + void updateMenubar(); /// - Menus * getMenus() { return menus; } + Intl * getIntl() const; /// - Intl * getIntl() { return intl; } + Dialogs * getDialogs() { return dialogs_; } /// void updateLayoutChoice(); @@ -99,6 +106,10 @@ public: /// 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. - FD_form_main * create_form_form_main(int width, int height); + 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; - + 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) */