1
/****************************************************************************
3
** This file is part of the LibreCAD project, a 2D CAD program
5
** Copyright (C) 2010 R. van Twisk (librecad@rvt.dds.nl)
6
** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
9
** This file may be distributed and/or modified under the terms of the
10
** GNU General Public License version 2 as published by the Free Software
11
** Foundation and appearing in the file gpl-2.0.txt included in the
12
** packaging of this file.
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.
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
23
** This copyright notice MUST APPEAR in all copies of the script!
25
**********************************************************************/
27
#include "rs_actioninfoinside.h"
30
#include "rs_dialogfactory.h"
31
#include "rs_graphicview.h"
32
#include "rs_information.h"
36
RS_ActionInfoInside::RS_ActionInfoInside(RS_EntityContainer& container,
37
RS_GraphicView& graphicView)
38
:RS_ActionInterface("Info Inside",
39
container, graphicView) {
41
contour = new RS_EntityContainer(NULL, false);
43
for (RS_Entity* e=container.firstEntity(); e!=NULL;
44
e=container.nextEntity()) {
45
if (e->isSelected()) {
46
contour->addEntity(e);
52
RS_ActionInfoInside::~RS_ActionInfoInside() {
57
QAction* RS_ActionInfoInside::createGUIAction(RS2::ActionType /*type*/, QObject* /*parent*/) {
58
/* RVT_PORT QAction* action = new QAction(tr("Point inside contour"),
59
tr("&Point inside contour"),
60
QKeySequence(), NULL); */
61
QAction* action = new QAction(tr("Point inside contour"), NULL);
62
//action->zetStatusTip(tr("Checks if a given point is inside the selected contour"));
67
void RS_ActionInfoInside::trigger() {
68
bool onContour = false;
69
if (RS_Information::isPointInsideContour(pt, contour, &onContour)) {
70
RS_DIALOGFACTORY->commandMessage(tr("Point is inside selected contour."));
72
RS_DIALOGFACTORY->commandMessage(tr("Point is outside selected contour."));
79
void RS_ActionInfoInside::mouseMoveEvent(QMouseEvent* /*e*/) {
80
//RS_Vector mouse = snapPoint(e);
81
//bool onContour = false;
82
/*if (RS_Information::isPointInsideContour(mouse, contour, &onContour)) {
89
void RS_ActionInfoInside::mouseReleaseEvent(QMouseEvent* e) {
90
if (e->button()==Qt::RightButton) {
100
void RS_ActionInfoInside::updateMouseButtonHints() {
101
switch (getStatus()) {
103
RS_DIALOGFACTORY->updateMouseWidget(tr("Specify point"),
107
RS_DIALOGFACTORY->updateMouseWidget("", "");
114
void RS_ActionInfoInside::updateMouseCursor() {
115
graphicView->setMouseCursor(RS2::CadCursor);
120
//void RS_ActionInfoInside::updateToolBar() {
121
// if (RS_DIALOGFACTORY!=NULL) {
122
// if (isFinished()) {
123
// RS_DIALOGFACTORY->resetToolBar();