1 /*************************************************************************** 2 * Copyright (C) 2004-2021 by Pere Constans 3 * constans@molspaces.com 4 * cb2Bib version 2.0.1. Licensed under the GNU GPL version 3. 5 * See the LICENSE file that comes with this distribution. 6 ***************************************************************************/ 7 #ifndef C2BCITERVIEW_H 8 #define C2BCITERVIEW_H 9 10 #include "c2bCiterModel.h" 11 12 #include <QTableView> 13 14 15 class c2bCiterView : public QTableView 16 { 17 18 Q_OBJECT 19 20 public: 21 explicit c2bCiterView(QWidget* parentw = 0); 22 inline ~c2bCiterView() {} 23 24 c2bCiter::State currentState() const; 25 void reloadModel(QAbstractItemModel* citations, const QStringList& bibtex_files, const c2bCiter::State& s); 26 void setPatternFilter(const QString& pattern); 27 28 29 signals: 30 void citeReferences(); 31 void editReference(); 32 void hideCiter(); 33 void openAnnote(); 34 void openFile(); 35 void openUrl(); 36 void patternFilterChanged(const bool mode, const QString& pattern); 37 void statusMessage(const QString& message); 38 39 40 protected: 41 void keyPressEvent(QKeyEvent* qevent); 42 void keyboardSearch(const QString& search); 43 void resizeEvent(QResizeEvent* qevent); 44 45 46 public slots: 47 void updatePatternFilter(const QString& pattern); 48 49 50 private: 51 void clearCurrentFilter(); 52 void keywordDocumentSearch(); 53 void setRelatedFilter(); 54 void showNextState(); 55 void showPreviousState(); 56 void toggleGlossaryView(); 57 void toggleKeywordView(); 58 void toggleSelectedFilter(); 59 void updateCurrentIndex(const QModelIndex& i); 60 void updateFormat(const c2bCiter::Format& format); 61 void updateViewport(); 62 63 QString _filter_string; 64 bool _filter_mode; 65 c2bCiterModel* _citationsP; 66 }; 67 68 #endif