]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiRef.h
do what the FIXME suggested
[lyx.git] / src / frontends / qt4 / GuiRef.h
index 63773beadab5c0f144792f1e84b413f5711b6eb3..f1bb9f9e3c56c6c3ab7a282b16b0f93a0aa45f8a 100644 (file)
@@ -9,33 +9,29 @@
  * Full author contact details are available in file CREDITS.
  */
 
-#ifndef QREF_H
-#define QREF_H
-
-#include "GuiDialogView.h"
+#ifndef GUIREF_H
+#define GUIREF_H
 
+#include "GuiDialog.h"
+#include "Dialog.h"
 #include "ui_RefUi.h"
-
-#include <QDialog>
+#include "insets/InsetCommandParams.h"
 
 #include <vector>
 
 class QListWidgetItem;
-class QCloseEvent;
 
 namespace lyx {
 namespace frontend {
 
-class GuiRef;
-
-class GuiRefDialog : public QDialog, public Ui::RefUi {
+class GuiRef : public GuiCommand, public Ui::RefUi
+{
        Q_OBJECT
-public:
-       GuiRefDialog(GuiRef * form);
 
-       virtual void show();
+public:
+       GuiRef(GuiView & lv);
 
-public Q_SLOTS:
+private Q_SLOTS:
        void changed_adaptor();
        void gotoClicked();
        void refHighlighted(QListWidgetItem *);
@@ -43,71 +39,50 @@ public Q_SLOTS:
        void refSelected(QListWidgetItem *);
        void sortToggled(bool);
        void updateClicked();
-
-protected Q_SLOTS:
        void reset_dialog();
-protected:
-       void closeEvent(QCloseEvent * e);
-private:
-       GuiRef * form_;
-};
-
-
-class ControlRef;
-
-// full qualification because qt4 has also a ControlRef type
-class GuiRef
-       : public QController<lyx::frontend::ControlRef, GuiView<GuiRefDialog> >
-{
-public:
-       friend class GuiRefDialog;
-
-       GuiRef(Dialog &);
-
-protected:
-       virtual bool isValid();
 
 private:
+       ///
+       bool isBufferDependent() const { return true; }
+       /** disconnect from the inset when the Apply button is pressed.
+        Allows easy insertion of multiple references. */
+       bool disconnectOnApply() const { return true; }
+       ///
+       void gotoRef(std::string const &);
+       ///
+       void gotoBookmark();
+       ///
+       void closeEvent(QCloseEvent * e);
+       ///
+       bool isValid();
        /// apply changes
-       virtual void apply();
-       /// build dialog
-       virtual void build_dialog();
+       void applyView();
        /// update dialog
-       virtual void update_contents();
+       void updateContents();
 
        /// is name allowed for this ?
        bool nameAllowed();
-
        /// is type allowed for this ?
        bool typeAllowed();
-
        /// go to current reference
        void gotoRef();
-
        /// set go back button
        void setGoBack();
-
        /// set goto ref button
        void setGotoRef();
-
        /// re-enter references
        void redoRefs();
-
        /// update references
        void updateRefs();
 
        /// sort or not persistent state
        bool sort_;
-
        /// went to a reference ?
        bool at_ref_;
-
        /// the last reference entered or examined
        QString last_reference_;
-
        /// store the buffer settings
        int restored_buffer_;
-
        /// the references
        std::vector<docstring> refs_;
 };
@@ -115,4 +90,4 @@ private:
 } // namespace frontend
 } // namespace lyx
 
-#endif // QREF_H
+#endif // GUIREF_H