X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FDialog.h;h=5f958e79d0d835a552354de0cf7a704437b913c6;hb=b7f6b979d0f889f08e735f35378bb20ba3788b4b;hp=39242223999bb023df3448779a6044447d8aa703;hpb=193074b3847b0364c8270c96614993e4500c938e;p=lyx.git diff --git a/src/frontends/qt4/Dialog.h b/src/frontends/qt4/Dialog.h index 3924222399..5f958e79d0 100644 --- a/src/frontends/qt4/Dialog.h +++ b/src/frontends/qt4/Dialog.h @@ -20,6 +20,7 @@ #include +class QSettings; class QWidget; namespace lyx { @@ -44,11 +45,10 @@ enum KernelDocType DOCBOOK }; - /** \c Dialog collects the different parts of a Model-Controller-View * split of a generic dialog together. */ -class Dialog +class Dialog { public: /// \param lv is the access point for the dialog to the LyX kernel. @@ -73,7 +73,7 @@ public: * This default implementation saves the geometry state. * Reimplement to save more settings. **/ - virtual void saveSession() const; + virtual void saveSession(QSettings & settings) const; /// Restore session settings. /** @@ -121,9 +121,12 @@ public: /// Hide the dialog from sight void hideView(); - /// Create the dialog if necessary, update it and display it. + /// Prepare dialog and display it. void showView(); + /// Prepare dialog before view. + void prepareView(); + /// Decide wether the dialog should grab thekeyboard focus when shown. /// This method defaults to true, override if a different behaviour /// is wanted. @@ -156,10 +159,15 @@ public: /// Enable the Controller to dispatch its data back to the LyX kernel. virtual void dispatchParams() = 0; + /** \return true if the dialog should be updated when the + * buffer has changed. + */ + virtual bool isBufferDependent() const = 0; + /** \return true if the dialog should be shown only when * a buffer is open. */ - virtual bool isBufferDependent() const = 0; + virtual bool needBufferOpen() const = 0; /** \return true if the dialog can apply data also * for ReadOnly buffers. @@ -232,7 +240,7 @@ public: //@{ bool isBufferAvailable() const; bool isBufferReadonly() const; - QString bufferFilepath() const; + QString bufferFilePath() const; //@} /// The type of the current buffer. @@ -243,8 +251,12 @@ public: * We should aim to reduce/remove these from the interface. */ //@{ - GuiView const & lyxview() const { return *lyxview_; } + GuiView const & lyxview() const { return lyxview_; } + /// Current buffer Buffer const & buffer() const; + /// Main document buffer + Buffer const & documentBuffer() const; + /// Current BufferView BufferView const * bufferview() const; //@} @@ -253,21 +265,22 @@ protected: void setTitle(QString const & title) { title_ = title; } /// virtual void apply(); + /// To be called when the buffer view has changed + virtual void onBufferViewChanged() = 0; private: /** The Dialog's name is the means by which a dialog identifies - * itself to the LyXView. + * itself to the GuiView. */ QString const name_; /// QString title_; /// - GuiView * lyxview_; + GuiView & lyxview_; /// intentionally unimplemented, therefore uncopiable Dialog(Dialog const &); void operator=(Dialog const &); - };