4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
8 * \author Kalle Dalheimer
10 * Full author contact details are available in file CREDITS.
16 #include "ControlCitation.h"
18 #include <QStringListModel>
23 class QCitation : public ControlCitation
29 QStringListModel * available() { return &available_keys_; }
32 QStringListModel * selected() { return &selected_keys_; }
35 QStringListModel * found() { return &found_keys_; }
43 /// Get key description
44 QString getKeyInfo(QString const &);
46 /// Find keys containing the string (not case-sens)
47 void findKey(QString const &);
49 /// Add key to selected keys
50 void addKey(QModelIndex const &);
52 /// Delete key from selected keys
53 void deleteKey(QModelIndex const &);
55 /// Move selected key one place up
56 void upKey(QModelIndex const &);
58 /// Move selected key one place down
59 void downKey(QModelIndex const &);
61 /// List of example cite strings
62 QStringList citationStyles(int);
64 /// Check whether there are keys to select
65 virtual bool isValid();
67 /// Set the Params variable for the Controller.
68 virtual void apply(int const choice, bool const full, bool const force,
69 QString before, QString after);
71 /// Update dialog before/whilst showing it.
72 virtual void updateModel();
76 QStringListModel available_keys_;
79 QStringListModel selected_keys_;
82 QStringListModel found_keys_;
86 } // namespace frontend