X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXView.h;h=40f44074adf6c4c887103e758d00634bb7dbffb4;hb=c0ef23bc2a2f2b3bd6c3520e0c0bd6223bb1a1a2;hp=d82a83c504cf65ef5ab4f2028ed6379eafdbd931;hpb=d4ee9c38b6aa45146f67658352623bcbc3e0ad9b;p=lyx.git diff --git a/src/LyXView.h b/src/LyXView.h index d82a83c504..40f44074ad 100644 --- a/src/LyXView.h +++ b/src/LyXView.h @@ -1,63 +1,47 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. - * - * ====================================================== */ - -#ifndef LyXView_H -#define LyXView_H + +#ifndef LYXVIEW_BASE_H +#define LYXVIEW_BASE_H #ifdef __GNUG__ #pragma interface #endif -#include -#include FORMS_H_LOCATION +#include +#include #include "LString.h" #include "frontends/Timeout.h" -#include -#include "layout.h" +#include "layout.h" // Just for LyXTextClass::size_type (sic) -class LyXFunc; +class Buffer; class Toolbar; class MiniBuffer; class Intl; -class Buffer; class Menubar; class BufferView; class Dialogs; +class LyXFunc; -/** - This class is the form containing the view of the buffer. The actual buffer - view is supposed (at least IMHO) to be another class, that shows its output - in one or more LyXView's. - */ -class LyXView : public SigC::Object, public boost::noncopyable { +/// +class LyXView : public SigC::Object, boost::noncopyable { public: - /// constructor - LyXView(int w, int h); - - /// destructor - ~LyXView(); - - /// Where to place the form. - void setPosition(int, int); - - /// Show the main form. - void show(int, int, string const & t = string("LyX")); - - /// init (should probably be removed later) (Lgb) - void init(); - + /// + LyXView(); + /// + virtual ~LyXView(); + /// + virtual void init() = 0; + /// + virtual void setPosition(int, int) = 0; + /// + virtual void show(int, int, string const &) = 0; /// Redraw the main form. - void redraw(); + virtual void redraw() = 0; + + /// Resize all BufferViews in this LyXView (because the width changed) + void resize(); /// returns the buffer currently shown in the main form. Buffer * buffer() const; @@ -65,9 +49,6 @@ public: /// BufferView * view() const; - /// returns a pointer to the form. - FL_FORM * getForm() const; - /// return a pointer to the toolbar Toolbar * getToolbar() const; @@ -83,6 +64,13 @@ public: /// return a pointer to the minibuffer MiniBuffer * getMiniBuffer() const; + /// + void message(string const &); + /// + void messagePush(string const & str); + /// + void messagePop(); + /// Menubar * getMenubar() const; @@ -101,45 +89,41 @@ public: /// Updates the title of the window void updateWindowTitle(); - /// Show state (toolbar and font in minibuffer) void showState(); /// Reset autosave timer void resetAutosaveTimer(); -private: - /// - LyXFunc * lyxfunc; - /// - Toolbar * toolbar; - /// - MiniBuffer * minibuffer; /// - Menubar * menubar; + virtual void prohibitInput() const = 0; /// - Intl * intl; + virtual void allowInput() const = 0; +protected: /// - Dialogs * dialogs_; - + Menubar * menubar; + /// + Toolbar * toolbar; /** This is supposed to be a pointer or a list of pointers to the BufferViews currently being shown in the LyXView. So far this is not used, but that should change pretty soon. (Lgb) */ BufferView * bufferview; + /// + MiniBuffer * minibuffer; /// - void invalidateLayoutChoice(); -public: - /** This callback is run when a close event is sent from the - window manager. */ - static int atCloseMainFormCB(FL_FORM *, void *); + Intl * intl; + /// + Timeout autosave_timeout; /// A callback void AutoSave(); + /// + void invalidateLayoutChoice(); private: + /// + LyXFunc * lyxfunc; /// - Timeout autosave_timeout; - /// makes the main form. - void create_form_form_main(int width, int height); - /// A pointer to the form. - FL_FORM * form_; + Dialogs * dialogs_; + /// + virtual void setWindowTitle(string const &) = 0; /** 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) */