1 /* 2 Copyright 2006-2019 The QElectroTech Team 3 This file is part of QElectroTech. 4 5 QElectroTech is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 2 of the License, or 8 (at your option) any later version. 9 10 QElectroTech is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 #ifndef ELEMENTPROVIDER_H 19 #define ELEMENTPROVIDER_H 20 21 #include <QUuid> 22 #include <QList> 23 24 class QETProject; 25 class Diagram; 26 class Element; 27 28 /** 29 this class can search in the given diagram or project some kind of element 30 like 'folio report' or 'master' and return it. 31 We can get element element with specific status like 'free'. 32 */ 33 34 class ElementProvider 35 { 36 public: 37 ElementProvider(QETProject *prj, Diagram *diagram=nullptr); 38 ElementProvider(Diagram *diag); 39 QList <Element *> freeElement(const int filter) const; 40 QList <Element *> fromUuids(QList <QUuid>) const; 41 QList <Element *> find(const int filter) const; 42 43 private: 44 QList <Diagram *> diag_list; 45 }; 46 47 #endif // ELEMENTPROVIDER_H 48