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 ESEVENTADDLINE_H 19 #define ESEVENTADDLINE_H 20 21 #include "eseventinterface.h" 22 23 class ElementScene; 24 class PartLine; 25 class QGraphicsSceneMouseEvent; 26 27 /** 28 * @brief The ESEventAddLine class 29 * This ESEvent manage creation of line in a ElementScene 30 */ 31 class ESEventAddLine : public ESEventInterface 32 { 33 public: 34 ESEventAddLine(ElementScene *scene); 35 ~ESEventAddLine() override; 36 37 bool mousePressEvent (QGraphicsSceneMouseEvent *event) override; 38 bool mouseMoveEvent (QGraphicsSceneMouseEvent *event) override; 39 bool mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override; 40 41 private: 42 PartLine *m_line; 43 }; 44 45 #endif // ESEVENTADDLINE_H 46