// Part of the Architektonas Project
// Originally part of QCad Community Edition by Andrew Mustun
// Extensively rewritten and refactored by James L. Hammons
-// (C) 2010 Underground Software
+// Portions copyright (C) 2001-2003 RibbonSoft
+// Copyright (C) 2010 Underground Software
+// See the README and GPLv2 files for licensing and warranty information
//
// JLH = James L. Hammons <jlhamm@acm.org>
//
#include "actiondimlinear.h"
-#include "rs_commandevent.h"
-#include "rs_constructionline.h"
-#include "rs_dialogfactory.h"
+#include "commandevent.h"
+#include "constructionline.h"
+#include "debug.h"
+#include "dialogfactory.h"
#include "graphicview.h"
-#include "rs_preview.h"
+#include "preview.h"
/**
* Constructor.
* @param fixedAngle true: The user can't change the angle.
* false: The user can change the angle in a option widget.
*/
-ActionDimLinear::ActionDimLinear(RS_EntityContainer & container,
+ActionDimLinear::ActionDimLinear(EntityContainer & container,
GraphicView & graphicView, double angle, bool fixedAngle):
ActionDimension("Draw linear dimensions", container, graphicView)
{
void ActionDimLinear::reset()
{
ActionDimension::reset();
- edata = RS_DimLinearData(Vector(false), Vector(false), (fixedAngle ? edata.angle : 0.0), 0.0);
+ edata = DimLinearData(Vector(false), Vector(false), (fixedAngle ? edata.angle : 0.0), 0.0);
- if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->requestOptions(this, true, true);
+ if (DIALOGFACTORY)
+ DIALOGFACTORY->requestOptions(this, true, true);
}
void ActionDimLinear::trigger()
{
ActionDimension::trigger();
preparePreview();
- RS_DimLinear * dim = new RS_DimLinear(container, data, edata);
+ DimLinear * dim = new DimLinear(container, data, edata);
dim->setLayerToActive();
dim->setPenToActive();
dim->update();
graphicView->snapper.SetVisible(false);
graphicView->redraw();
- RS_DEBUG->print("ActionDimLinear::trigger(): dim added: %d", dim->getId());
+ DEBUG->print("ActionDimLinear::trigger(): dim added: %d", dim->getId());
}
void ActionDimLinear::preparePreview()
Vector dirV;
dirV.setPolar(100.0, edata.angle + M_PI / 2.0);
- RS_ConstructionLine cl(NULL, RS_ConstructionLineData(edata.extensionPoint2,
+ ConstructionLine cl(NULL, ConstructionLineData(edata.extensionPoint2,
edata.extensionPoint2 + dirV));
data.definitionPoint = cl.getNearestPointOnEntity(data.definitionPoint);
void ActionDimLinear::mouseMoveEvent(QMouseEvent * e)
{
- RS_DEBUG->print("ActionDimLinear::mouseMoveEvent begin");
+ DEBUG->print("ActionDimLinear::mouseMoveEvent begin");
Vector mouse = snapPoint(e);
{
// deletePreview();
// clearPreview();
-// preview->addEntity(new RS_Line(preview,
-// RS_LineData(edata.extensionPoint1, mouse)));
+// preview->addEntity(new Line(preview,
+// LineData(edata.extensionPoint1, mouse)));
// drawPreview();
graphicView->preview.clear();
- graphicView->preview.addEntity(new RS_Line(&(graphicView->preview),
- RS_LineData(edata.extensionPoint1, mouse)));
+ graphicView->preview.addEntity(new Line(&(graphicView->preview),
+ LineData(edata.extensionPoint1, mouse)));
graphicView->preview.SetVisible();
graphicView->redraw();
}
// clearPreview();
data.definitionPoint = mouse;
// preparePreview();
-// RS_DimLinear * dim = new RS_DimLinear(preview, data, edata);
+// DimLinear * dim = new DimLinear(preview, data, edata);
// dim->update();
// preview->addEntity(dim);
// drawPreview();
graphicView->preview.clear();
preparePreview();
- RS_DimLinear * dim = new RS_DimLinear(&(graphicView->preview), data, edata);
+ DimLinear * dim = new DimLinear(&(graphicView->preview), data, edata);
dim->update();
graphicView->preview.addEntity(dim);
graphicView->preview.SetVisible();
break;
}
- RS_DEBUG->print("ActionDimLinear::mouseMoveEvent end");
+ DEBUG->print("ActionDimLinear::mouseMoveEvent end");
}
void ActionDimLinear::mouseReleaseEvent(QMouseEvent * e)
}
}
-void ActionDimLinear::commandEvent(RS_CommandEvent * e)
+void ActionDimLinear::commandEvent(CommandEvent * e)
{
QString c = e->getCommand().toLower();
if (checkCommand("help", c))
{
- if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->commandMessage(msgAvailableCommands()
+ if (DIALOGFACTORY)
+ DIALOGFACTORY->commandMessage(msgAvailableCommands()
+ getAvailableCommands().join(", "));
return;
}
case SetText:
setText(c);
- if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->requestOptions(this, true, true);
+ if (DIALOGFACTORY)
+ DIALOGFACTORY->requestOptions(this, true, true);
graphicView->enableCoordinateInput();
setStatus(lastStatus);
case SetAngle:
{
bool ok;
- double a = RS_Math::eval(c, &ok);
+ double a = Math::eval(c, &ok);
if (ok)
- setAngle(RS_Math::deg2rad(a));
- else if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->commandMessage(tr("Not a valid expression"));
+ setAngle(Math::deg2rad(a));
+ else if (DIALOGFACTORY)
+ DIALOGFACTORY->commandMessage(tr("Not a valid expression"));
- if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->requestOptions(this, true, true);
+ if (DIALOGFACTORY)
+ DIALOGFACTORY->requestOptions(this, true, true);
setStatus(lastStatus);
}
void ActionDimLinear::updateMouseButtonHints()
{
- if (RS_DIALOGFACTORY)
+ if (DIALOGFACTORY)
{
switch (getStatus())
{
case SetExtPoint1:
- RS_DIALOGFACTORY->updateMouseWidget(
+ DIALOGFACTORY->updateMouseWidget(
tr("Specify first extension line origin"), tr("Cancel"));
break;
case SetExtPoint2:
- RS_DIALOGFACTORY->updateMouseWidget(
+ DIALOGFACTORY->updateMouseWidget(
tr("Specify second extension line origin"), tr("Back"));
break;
case SetDefPoint:
- RS_DIALOGFACTORY->updateMouseWidget(
+ DIALOGFACTORY->updateMouseWidget(
tr("Specify dimension line location"), tr("Back"));
break;
case SetText:
- RS_DIALOGFACTORY->updateMouseWidget(tr("Enter dimension text:"), "");
+ DIALOGFACTORY->updateMouseWidget(tr("Enter dimension text:"), "");
break;
case SetAngle:
- RS_DIALOGFACTORY->updateMouseWidget(tr("Enter dimension line angle:"), "");
+ DIALOGFACTORY->updateMouseWidget(tr("Enter dimension line angle:"), "");
break;
default:
- RS_DIALOGFACTORY->updateMouseWidget("", "");
+ DIALOGFACTORY->updateMouseWidget("", "");
break;
}
}
{
ActionInterface::showOptions();
- if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->requestOptions(this, true, true);
+ if (DIALOGFACTORY)
+ DIALOGFACTORY->requestOptions(this, true, true);
}
void ActionDimLinear::hideOptions()
{
ActionInterface::hideOptions();
- if (RS_DIALOGFACTORY)
- RS_DIALOGFACTORY->requestOptions(this, false);
+ if (DIALOGFACTORY)
+ DIALOGFACTORY->requestOptions(this, false);
}
double ActionDimLinear::getAngle()