1 /****************************************************************************
2 ** $Id: rs_actioninfoinside.cpp 1161 2004-12-09 23:10:09Z andrew $
4 ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
6 ** This file is part of the qcadlib Library project.
8 ** This file may be distributed and/or modified under the terms of the
9 ** GNU General Public License version 2 as published by the Free Software
10 ** Foundation and appearing in the file LICENSE.GPL included in the
11 ** packaging of this file.
13 ** Licensees holding valid qcadlib Professional Edition licenses may use
14 ** this file in accordance with the qcadlib Commercial License
15 ** Agreement provided with the Software.
17 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
20 ** See http://www.ribbonsoft.com for further details.
22 ** Contact info@ribbonsoft.com if any conditions of this licensing are
25 **********************************************************************/
27 #include "rs_actioninfoinside.h"
28 #include "rs_information.h"
29 #include "rs_snapper.h"
31 RS_ActionInfoInside::RS_ActionInfoInside(RS_EntityContainer& container,
32 RS_GraphicView& graphicView):
33 RS_ActionInterface("Info Inside", container, graphicView)
35 contour = new RS_EntityContainer(NULL, false);
37 for(RS_Entity* e=container.firstEntity(); e!=NULL; e=container.nextEntity())
41 contour->addEntity(e);
46 RS_ActionInfoInside::~RS_ActionInfoInside()
51 QAction* RS_ActionInfoInside::createGUIAction(RS2::ActionType /*type*/, QObject* /*parent*/)
53 QAction * action = new QAction(tr("&Point inside contour"), 0);
54 // QAction* action = new QAction(tr("Point inside contour"),
55 // tr("&Point inside contour"),
56 // QKeySequence(), NULL);
57 action->setStatusTip(tr("Checks if a given point is inside the selected contour"));
62 void RS_ActionInfoInside::trigger()
65 bool onContour = false;
66 if (RS_Information::isPointInsideContour(pt, contour, &onContour)) {
67 RS_DIALOGFACTORY->commandMessage(tr("Point is inside selected contour."));
69 RS_DIALOGFACTORY->commandMessage(tr("Point is outside selected contour."));
76 void RS_ActionInfoInside::mouseMoveEvent(QMouseEvent* e) {
77 //Vector mouse = snapPoint(e);
78 //bool onContour = false;
79 /*if (RS_Information::isPointInsideContour(mouse, contour, &onContour)) {
86 void RS_ActionInfoInside::mouseReleaseEvent(QMouseEvent* e) {
87 if (RS2::qtToRsButtonState(e->button())==RS2::RightButton) {
98 void RS_ActionInfoInside::updateMouseButtonHints() {
99 switch (getStatus()) {
101 RS_DIALOGFACTORY->updateMouseWidget(tr("Specify point"),
105 RS_DIALOGFACTORY->updateMouseWidget("", "");
112 void RS_ActionInfoInside::updateMouseCursor() {
113 graphicView->setMouseCursor(RS2::CadCursor);
118 void RS_ActionInfoInside::updateToolBar() {
120 RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap);
122 RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarInfo);