1 // rs_actionprintpreview.cpp
3 // Part of the Architektonas Project
4 // Originally part of QCad Community Edition by Andrew Mustun
5 // Extensively rewritten and refactored by James L. Hammons
6 // (C) 2010 Underground Software
8 // JLH = James L. Hammons <jlhamm@acm.org>
11 // --- ---------- -----------------------------------------------------------
12 // JLH 06/04/2010 Added this text. :-)
15 #include "rs_actionprintpreview.h"
17 #include "rs_dialogfactory.h"
19 #include "graphicview.h"
24 RS_ActionPrintPreview::RS_ActionPrintPreview(RS_EntityContainer & container, GraphicView & graphicView):
25 RS_ActionInterface("Print Preview",
26 container, graphicView)
31 RS_ActionPrintPreview::~RS_ActionPrintPreview()
35 /*virtual*/ RS2::ActionType RS_ActionPrintPreview::rtti()
37 return RS2::ActionPrintPreview;
40 void RS_ActionPrintPreview::init(int status)
42 RS_ActionInterface::init(status);
46 void RS_ActionPrintPreview::trigger()
50 void RS_ActionPrintPreview::mouseMoveEvent(QMouseEvent * e)
55 v2 = graphicView->toGraph(e->x(), e->y());
59 Vector pinsbase = graphic->getPaperInsertionBase();
61 double scale = graphic->getPaperScale();
63 graphic->setPaperInsertionBase(pinsbase - v2 * scale + v1 * scale);
66 graphicView->redraw();
74 void RS_ActionPrintPreview::mousePressEvent(QMouseEvent * e)
76 if (e->button() == Qt::LeftButton)
81 v1 = graphicView->toGraph(e->x(), e->y());
91 void RS_ActionPrintPreview::mouseReleaseEvent(QMouseEvent * e)
101 RS_DIALOGFACTORY->requestPreviousMenu();
107 void RS_ActionPrintPreview::coordinateEvent(Vector *)
111 void RS_ActionPrintPreview::commandEvent(RS_CommandEvent *)
115 QStringList RS_ActionPrintPreview::getAvailableCommands()
121 void RS_ActionPrintPreview::showOptions()
123 RS_ActionInterface::showOptions();
125 RS_DIALOGFACTORY->requestOptions(this, true);
128 void RS_ActionPrintPreview::hideOptions()
130 RS_ActionInterface::hideOptions();
132 RS_DIALOGFACTORY->requestOptions(this, false);
135 void RS_ActionPrintPreview::updateMouseButtonHints()
139 void RS_ActionPrintPreview::updateMouseCursor()
141 graphicView->setMouseCursor(RS2::MovingHandCursor);
144 void RS_ActionPrintPreview::updateToolBar()
148 void RS_ActionPrintPreview::center()
152 graphic->centerToPage();
153 graphicView->redraw();
157 void RS_ActionPrintPreview::fit()
161 graphic->fitToPage();
162 graphicView->redraw();
166 void RS_ActionPrintPreview::setScale(double f)
170 graphic->setPaperScale(f);
171 graphicView->redraw();
175 double RS_ActionPrintPreview::getScale()
180 ret = graphic->getPaperScale();
184 void RS_ActionPrintPreview::setBlackWhite(bool bw)
187 graphicView->setDrawingMode(RS2::ModeBW);
189 graphicView->setDrawingMode(RS2::ModeFull);
190 graphicView->redraw();
193 RS2::Unit RS_ActionPrintPreview::getUnit()
196 return graphic->getUnit();