X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiDialog.h;h=2359d740122f260fad455380a79d27bb112613a4;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=977e361fa3cc27e03d5d7dcd95e1559ce36bfd86;hpb=10cc0a8842d147462d4f26ba8353ebb163d34d9c;p=lyx.git diff --git a/src/frontends/qt4/GuiDialog.h b/src/frontends/qt4/GuiDialog.h index 977e361fa3..2359d74012 100644 --- a/src/frontends/qt4/GuiDialog.h +++ b/src/frontends/qt4/GuiDialog.h @@ -15,20 +15,18 @@ #include "Dialog.h" #include "ButtonController.h" -#include "insets/InsetCommandParams.h" - #include -#include -class QCloseEvent; -class QShowEvent; namespace lyx { namespace frontend { -/** \c Dialog collects the different parts of a Model-Controller-View - * split of a generic dialog together. - */ +/// Base class for historical LyX dialogs. +/** + * \warning New dialogs should use the leaner classes \c DialogView or + * \c DockView depending on the intent. Eventally, old dialog should be + * converted to \c DialogView too. + */ class GuiDialog : public QDialog, public Dialog { Q_OBJECT @@ -37,8 +35,11 @@ public: /// \param lv is the access point for the dialog to the LyX kernel. /// \param name is the identifier given to the dialog by its parent /// container. - explicit GuiDialog(GuiView & lv, std::string const & name); - ~GuiDialog(); + /// \param title is the window title used for decoration. + GuiDialog(GuiView & lv, QString const & name, QString const & title); + + virtual QWidget * asQWidget() { return this; } + virtual QWidget const * asQWidget() const { return this; } public Q_SLOTS: /** \name Buttons @@ -51,15 +52,18 @@ public Q_SLOTS: void slotOK(); // Apply button clicked void slotApply(); + // AutoApply checkbox clicked + void slotAutoApply(); // Close button clicked or closed from WindowManager void slotClose(); + /// + void closeEvent(QCloseEvent * e); public: /** Check whether we may apply our data. * * The buttons are disabled if not and (re-)enabled if yes. */ - void checkStatus(); void setButtonsValid(bool valid); /** \name Dialog Components @@ -70,53 +74,27 @@ public: ButtonController & bc() { return bc_; } //@} - void setViewTitle(docstring const & title); - - /// the dialog has changed contents virtual void changed(); + virtual void enableView(bool enable); + /// default: do nothing virtual void applyView() {} /// default: do nothing virtual void updateContents() {} - /// - void closeEvent(QCloseEvent *); - /// - void showEvent(QShowEvent *); -protected: - /// Hide the dialog. - virtual void hideView(); - /// Create the dialog if necessary, update it and display it. - virtual void showView(); - /// - virtual bool isVisibleView() const; +public: /// is the dialog currently valid ? virtual bool isValid() { return true; } public: - /** \name Container Access - * These methods are publicly accessible because they are invoked - * by the parent container acting on commands from the LyX kernel. - */ - //@{ - /// \param data is a string encoding of the data to be displayed. - /// It is passed to the Controller to be translated into a useable form. - void showData(std::string const & data); - void updateData(std::string const & data); - - void hide(); - - //@} /** When applying, it's useful to know whether the dialog is about * to close or not (no point refreshing the display for example). */ bool isClosing() const { return is_closing_; } - void apply(); - /// Update the display of the dialog whilst it is still visible. virtual void updateView(); @@ -129,31 +107,6 @@ private: }; -class GuiCommand : public GuiDialog -{ -public: - /// We need to know with what sort of inset we're associated. - // FIXME This should probably be an InsetCode - GuiCommand(GuiView &, std::string const & name); - /// - bool initialiseParams(std::string const & data); - /// clean-up on hide. - void clearParams() { params_.clear(); } - /// clean-up on hide. - void dispatchParams(); - /// - bool isBufferDependent() const { return true; } - -protected: - /// - InsetCommandParams params_; - //FIXME It should be possible to eliminate lfun_name_ - //now and recover that information from params().insetType(). - //But let's not do that quite yet. - /// Flags what action is taken by Kernel::dispatch() - std::string const lfun_name_; -}; - } // namespace frontend } // namespace lyx