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 "rs_graphicview.h"
24 RS_ActionPrintPreview::RS_ActionPrintPreview(RS_EntityContainer & container, RS_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 (RS2::qtToRsButtonState(e->button()) == RS2::LeftButton)
81 v1 = graphicView->toGraph(e->x(), e->y());
91 void RS_ActionPrintPreview::mouseReleaseEvent(QMouseEvent * e)
101 RS_DIALOGFACTORY->requestPreviousMenu();
102 #if QT_VERSION >= 0x030000
109 void RS_ActionPrintPreview::coordinateEvent(Vector *)
113 void RS_ActionPrintPreview::commandEvent(RS_CommandEvent *)
117 QStringList RS_ActionPrintPreview::getAvailableCommands()
123 void RS_ActionPrintPreview::showOptions()
125 RS_ActionInterface::showOptions();
127 RS_DIALOGFACTORY->requestOptions(this, true);
130 void RS_ActionPrintPreview::hideOptions()
132 RS_ActionInterface::hideOptions();
134 RS_DIALOGFACTORY->requestOptions(this, false);
137 void RS_ActionPrintPreview::updateMouseButtonHints()
141 void RS_ActionPrintPreview::updateMouseCursor()
143 graphicView->setMouseCursor(RS2::MovingHandCursor);
146 void RS_ActionPrintPreview::updateToolBar()
150 void RS_ActionPrintPreview::center()
154 graphic->centerToPage();
155 graphicView->redraw();
159 void RS_ActionPrintPreview::fit()
163 graphic->fitToPage();
164 graphicView->redraw();
168 void RS_ActionPrintPreview::setScale(double f)
172 graphic->setPaperScale(f);
173 graphicView->redraw();
177 double RS_ActionPrintPreview::getScale()
182 ret = graphic->getPaperScale();
186 void RS_ActionPrintPreview::setBlackWhite(bool bw)
189 graphicView->setDrawingMode(RS2::ModeBW);
191 graphicView->setDrawingMode(RS2::ModeFull);
192 graphicView->redraw();
195 RS2::Unit RS_ActionPrintPreview::getUnit()
198 return graphic->getUnit();