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
9 * \author Abdelrazak Younes
11 * Full author contact details are available in file CREDITS.
17 #include "frontends/controllers/ControlCitation.h"
19 #include <QStringList>
20 #include <QStringListModel>
25 class QCitation : public ControlCitation
30 virtual ~QCitation() {}
31 virtual bool initialiseParams(std::string const & data);
37 QStringListModel * available() { return &available_model_; }
40 QStringListModel * selected() { return &selected_model_; }
48 /// Get key description
49 QString getKeyInfo(QString const &);
51 /// Clear selected keys
52 void clearSelection();
54 /// Find keys containing a string.
56 QString const & str, //< string expression
57 bool only_keys, //< set to true if only keys shall be searched.
58 bool case_sensitive, //< set to true for case sensitive search.
59 bool reg_exp //< set to true if \c str is a regular expression.
62 /// Add key to selected keys
63 void addKey(QModelIndex const &);
65 /// Delete key from selected keys
66 void deleteKey(QModelIndex const &);
68 /// Move selected key one place up
69 void upKey(QModelIndex const &);
71 /// Move selected key one place down
72 void downKey(QModelIndex const &);
74 /// List of example cite strings
75 QStringList citationStyles(int);
77 /// Set the Params variable for the Controller.
78 virtual void apply(int const choice, bool const full, bool const force,
79 QString before, QString after);
83 QStringListModel available_model_;
86 QStringListModel selected_model_;
89 QStringList all_keys_;
92 QStringList cited_keys_;
96 } // namespace frontend