lyx_mirror/src/frontends/qt4/GuiRef.h

116 lines
2.3 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file GuiRef.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#ifndef GUIREF_H
#define GUIREF_H
#include "GuiDialog.h"
#include "ui_RefUi.h"
2016-09-17 11:03:33 +00:00
#include "FancyLineEdit.h"
#include "insets/InsetCommandParams.h"
#include <vector>
class QTreeWidgetItem;
namespace lyx {
namespace frontend {
class GuiRef : public GuiDialog, public Ui::RefUi
{
Q_OBJECT
public:
GuiRef(GuiView & lv);
/// Dialog inherited methods
//@{
void enableView(bool enable);
//@}
private Q_SLOTS:
void changed_adaptor();
void gotoClicked();
void filterLabels();
void refHighlighted(QTreeWidgetItem *);
void selectionChanged();
2016-09-17 11:03:33 +00:00
void refTextChanged(QString const &);
void refSelected(QTreeWidgetItem *);
void sortToggled();
void groupToggled();
void updateClicked();
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
void applyView();
/// update dialog
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();
///
bool initialiseParams(std::string const & data);
/// clean-up on hide.
void clearParams() { params_.clear(); }
/// clean-up on hide.
void dispatchParams();
private:
///
InsetCommandParams params_;
2016-09-17 11:03:33 +00:00
/// contains the search box
FancyLineEdit * filter_;
/// 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_;
};
} // namespace frontend
} // namespace lyx
#endif // GUIREF_H