1 /**************************************************************************** 2 ** 3 ** This file is part of the LibreCAD project, a 2D CAD program 4 ** 5 ** Copyright (C) 2011 Rallaz (rallazz@gmail.com) 6 ** Copyright (C) 2010 R. van Twisk (librecad@rvt.dds.nl) 7 ** 8 ** 9 ** This file is free software; you can redistribute it and/or modify 10 ** it under the terms of the GNU General Public License as published by 11 ** the Free Software Foundation; either version 2 of the License, or 12 ** (at your option) any later version. 13 ** 14 ** This program is distributed in the hope that it will be useful, 15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 ** GNU General Public License for more details. 18 ** 19 ** You should have received a copy of the GNU General Public License 20 ** along with this program; if not, write to the Free Software 21 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 ** 23 ** This copyright notice MUST APPEAR in all copies of the script! 24 ** 25 **********************************************************************/ 26 27 #ifndef QC_ACTIONGETSELECT_H 28 #define QC_ACTIONGETSELECT_H 29 30 #include "rs_previewactioninterface.h" 31 #include "rs_modification.h" 32 33 class Plug_Entity; 34 class Doc_plugin_interface; 35 36 37 /** 38 * This action class can handle user events to select entities from plugin. 39 * 40 * @author Rallaz 41 */ 42 class QC_ActionGetSelect : public RS_ActionInterface { 43 Q_OBJECT 44 public: 45 /** 46 * Action States. 47 */ 48 enum Status { 49 Select 50 }; 51 52 public: 53 QC_ActionGetSelect(RS_EntityContainer& container, 54 RS_GraphicView& graphicView); 55 ~QC_ActionGetSelect(); 56 57 virtual void init(int status=0); 58 59 virtual void mouseReleaseEvent(QMouseEvent* e); 60 virtual void keyPressEvent(QKeyEvent* e); 61 62 virtual void updateMouseButtonHints(); 63 virtual void updateMouseCursor(); 64 65 void setMessage(QString msg); isCompleted()66 bool isCompleted() const{return completed;} 67 void getSelected(QList<Plug_Entity *> *se, Doc_plugin_interface* d) const; 68 69 private: 70 bool completed; 71 QString message; 72 73 }; 74 75 #endif 76