]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiRef.h
Make a string translatable
[lyx.git] / src / frontends / qt4 / GuiRef.h
index 81288a9cb32b9831f94a6cdce4e0646092765e7f..46d9a6d076607a71d96aa4f9b8ac138221e14945 100644 (file)
 #ifndef GUIREF_H
 #define GUIREF_H
 
-#include "GuiDialogView.h"
-#include "ControlRef.h"
+#include "GuiDialog.h"
 #include "ui_RefUi.h"
+#include "FancyLineEdit.h"
 
-#include <QDialog>
+#include "insets/InsetCommandParams.h"
 
 #include <vector>
 
-class QListWidgetItem;
+class QTreeWidgetItem;
 
 namespace lyx {
 namespace frontend {
 
-class GuiRef;
-
-class GuiRefDialog : public QDialog, public Ui::RefUi {
+class GuiRef : public GuiDialog, public Ui::RefUi
+{
        Q_OBJECT
-public:
-       GuiRefDialog(GuiRef * form);
 
-       virtual void show();
+public:
+       GuiRef(GuiView & lv);
+       /// Dialog inherited methods
+       //@{
+       void enableView(bool enable);
+       //@}
 
-public Q_SLOTS:
+private Q_SLOTS:
        void changed_adaptor();
        void gotoClicked();
-       void refHighlighted(QListWidgetItem *);
+       void filterLabels();
+       void resetFilter();
+       void refHighlighted(QTreeWidgetItem *);
        void selectionChanged();
-       void refSelected(QListWidgetItem *);
-       void sortToggled(bool);
+       void refTextChanged(QString const &);
+       void refSelected(QTreeWidgetItem *);
+       void sortToggled();
+       void groupToggled();
        void updateClicked();
-
-protected Q_SLOTS:
-       void reset_dialog();
-protected:
-       void closeEvent(QCloseEvent * e);
-private:
-       GuiRef * form_;
-};
-
-
-class GuiRef : public GuiView<GuiRefDialog>
-{
-public:
-       friend class GuiRefDialog;
-
-       GuiRef(Dialog &);
-
-       /// parent controller
-       ControlRef & controller()
-       { return static_cast<ControlRef &>(this->getController()); }
-       /// parent controller
-       ControlRef const & controller() const
-       { return static_cast<ControlRef const &>(this->getController()); }
-protected:
-       virtual bool isValid();
+       void resetDialog();
+       void dialogRejected();
 
 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();
+       ///
+       void enableBoxes();
 
        /// is name allowed for this ?
        bool nameAllowed();
@@ -90,15 +86,28 @@ private:
        void redoRefs();
        /// update references
        void updateRefs();
+       ///
+       bool initialiseParams(std::string const & data);
+       /// clean-up on hide.
+       void clearParams() { params_.clear(); }
+       /// clean-up on hide.
+       void dispatchParams();
+
+private:
+       ///
+       InsetCommandParams params_;
+
+       /// contains the search box
+       FancyLineEdit * filter_;
 
-       /// 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_;
+       /// store the last active buffer
+       int active_buffer_;
        /// the references
        std::vector<docstring> refs_;
 };