1 /*************************************************************************** 2 ** ** 3 ** Polyphone, a soundfont editor ** 4 ** Copyright (C) 2013-2020 Davy Triponney ** 5 ** ** 6 ** This program is free software: you can redistribute it and/or modify ** 7 ** it under the terms of the GNU General Public License as published by ** 8 ** the Free Software Foundation, either version 3 of the License, or ** 9 ** (at your option) any later version. ** 10 ** ** 11 ** This program is distributed in the hope that it will be useful, ** 12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** 13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** 14 ** GNU General Public License for more details. ** 15 ** ** 16 ** You should have received a copy of the GNU General Public License ** 17 ** along with this program. If not, see http://www.gnu.org/licenses/. ** 18 ** ** 19 **************************************************************************** 20 ** Author: Davy Triponney ** 21 ** Website/Contact: https://www.polyphone-soundfonts.com ** 22 ** Date: 01.01.2013 ** 23 ***************************************************************************/ 24 25 #ifndef PAGEOVERVIEW_H 26 #define PAGEOVERVIEW_H 27 28 #include <QWidget> 29 #include "page.h" 30 31 namespace Ui { 32 class PageOverview; 33 } 34 35 class PageOverview : public Page 36 { 37 Q_OBJECT 38 39 public: 40 PageOverview(TypePage typePage, ElementType typeElement, QWidget *parent = nullptr); 41 ~PageOverview() override; 42 43 protected: 44 // Update the interface 45 bool updateInterface(QString editingSource, IdList selectedIds, int displayOption) override; 46 47 // Refresh things after a page is shown 48 void onShow() override; 49 50 virtual QString getTitle() = 0; 51 virtual QStringList getHorizontalHeader() = 0; 52 virtual void prepare(EltID id) = 0; 53 virtual void getInformation(EltID id, QStringList &info, QStringList &order) = 0; 54 55 QString getRange(bool orderMode, EltID id, AttributeType champ); 56 57 private slots: 58 void on_table_cellDoubleClicked(int row, int column); 59 60 private: 61 Ui::PageOverview *ui; 62 ElementType _typeElement; 63 QString fillInformation(EltID id, int row); 64 }; 65 66 #endif // PAGEOVERVIEW_H 67