1 // 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 "actionprintpreview.h"
17 #include "rs_dialogfactory.h"
19 #include "graphicview.h"
24 ActionPrintPreview::ActionPrintPreview(RS_EntityContainer & container, GraphicView & graphicView):
25 ActionInterface("Print Preview", container, graphicView)
30 ActionPrintPreview::~ActionPrintPreview()
34 /*virtual*/ RS2::ActionType ActionPrintPreview::rtti()
36 return RS2::ActionPrintPreview;
39 void ActionPrintPreview::init(int status)
41 ActionInterface::init(status);
45 void ActionPrintPreview::trigger()
49 void ActionPrintPreview::mouseMoveEvent(QMouseEvent * e)
54 v2 = graphicView->toGraph(e->x(), e->y());
58 Vector pinsbase = graphic->getPaperInsertionBase();
59 double scale = graphic->getPaperScale();
60 graphic->setPaperInsertionBase(pinsbase - v2 * scale + v1 * scale);
64 graphicView->redraw();
72 void ActionPrintPreview::mousePressEvent(QMouseEvent * e)
74 if (e->button() == Qt::LeftButton)
79 v1 = graphicView->toGraph(e->x(), e->y());
89 void ActionPrintPreview::mouseReleaseEvent(QMouseEvent * e)
98 RS_DIALOGFACTORY->requestPreviousMenu();
104 void ActionPrintPreview::coordinateEvent(Vector *)
108 void ActionPrintPreview::commandEvent(RS_CommandEvent *)
112 QStringList ActionPrintPreview::getAvailableCommands()
118 void ActionPrintPreview::showOptions()
120 ActionInterface::showOptions();
122 RS_DIALOGFACTORY->requestOptions(this, true);
125 void ActionPrintPreview::hideOptions()
127 ActionInterface::hideOptions();
129 RS_DIALOGFACTORY->requestOptions(this, false);
132 void ActionPrintPreview::updateMouseButtonHints()
136 void ActionPrintPreview::updateMouseCursor()
138 graphicView->setMouseCursor(RS2::MovingHandCursor);
141 void ActionPrintPreview::updateToolBar()
145 void ActionPrintPreview::center()
149 graphic->centerToPage();
150 graphicView->redraw();
154 void ActionPrintPreview::fit()
158 graphic->fitToPage();
159 graphicView->redraw();
163 void ActionPrintPreview::setScale(double f)
167 graphic->setPaperScale(f);
168 graphicView->redraw();
172 double ActionPrintPreview::getScale()
177 ret = graphic->getPaperScale();
182 void ActionPrintPreview::setBlackWhite(bool bw)
185 graphicView->setDrawingMode(RS2::ModeBW);
187 graphicView->setDrawingMode(RS2::ModeFull);
189 graphicView->redraw();
192 RS2::Unit ActionPrintPreview::getUnit()
195 return graphic->getUnit();