00001
00002
00003
00004
00005
00006
00007 #include "CmdAddPointGraph.h"
00008 #include "CmdMediator.h"
00009 #include "CursorFactory.h"
00010 #include "DigitizeStateContext.h"
00011 #include "DigitizeStateCurve.h"
00012 #include "Logger.h"
00013 #include "MainWindow.h"
00014 #include "OrdinalGenerator.h"
00015 #include <QCursor>
00016 #include <QGraphicsScene>
00017 #include <QImage>
00018
00019 DigitizeStateCurve::DigitizeStateCurve (DigitizeStateContext &context) :
00020 DigitizeStateAbstractBase (context)
00021 {
00022 }
00023
00024 DigitizeStateCurve::~DigitizeStateCurve ()
00025 {
00026 }
00027
00028 QString DigitizeStateCurve::activeCurve () const
00029 {
00030 return context().mainWindow().selectedGraphCurve();
00031 }
00032
00033 void DigitizeStateCurve::begin (CmdMediator *cmdMediator,
00034 DigitizeState )
00035 {
00036 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::begin";
00037
00038 setCursor(cmdMediator);
00039 context().setDragMode(QGraphicsView::NoDrag);
00040 context().mainWindow().updateViewsOfSettings(activeCurve ());
00041 }
00042
00043 QCursor DigitizeStateCurve::cursor(CmdMediator *cmdMediator) const
00044 {
00045 LOG4CPP_DEBUG_S ((*mainCat)) << "DigitizeStateCurve::cursor";
00046
00047 CursorFactory cursorFactory;
00048 QCursor cursor = cursorFactory.generate (cmdMediator->document().modelDigitizeCurve());
00049
00050 return cursor;
00051 }
00052
00053 void DigitizeStateCurve::end ()
00054 {
00055 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::end";
00056 }
00057
00058 void DigitizeStateCurve::handleContextMenuEventAxis (CmdMediator * ,
00059 const QString &pointIdentifier)
00060 {
00061 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::handleContextMenuEventAxis "
00062 << " point=" << pointIdentifier.toLatin1 ().data ();
00063 }
00064
00065 void DigitizeStateCurve::handleContextMenuEventGraph (CmdMediator * ,
00066 const QStringList &pointIdentifiers)
00067 {
00068 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve ::handleContextMenuEventGraph "
00069 << "points=" << pointIdentifiers.join(",").toLatin1 ().data ();
00070 }
00071
00072 void DigitizeStateCurve::handleCurveChange(CmdMediator * )
00073 {
00074 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::handleCurveChange";
00075 }
00076
00077 void DigitizeStateCurve::handleKeyPress (CmdMediator * ,
00078 Qt::Key key,
00079 bool )
00080 {
00081 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::handleKeyPress"
00082 << " key=" << QKeySequence (key).toString ().toLatin1 ().data ();
00083 }
00084
00085 void DigitizeStateCurve::handleMouseMove (CmdMediator * ,
00086 QPointF )
00087 {
00088
00089 }
00090
00091 void DigitizeStateCurve::handleMousePress (CmdMediator * ,
00092 QPointF )
00093 {
00094 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::handleMousePress";
00095 }
00096
00097 void DigitizeStateCurve::handleMouseRelease (CmdMediator *cmdMediator,
00098 QPointF posScreen)
00099 {
00100 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::handleMouseRelease";
00101
00102
00103 OrdinalGenerator ordinalGenerator;
00104 Document &document = cmdMediator->document ();
00105 const Transformation &transformation = context ().mainWindow ().transformation();
00106 QUndoCommand *cmd = new CmdAddPointGraph (context ().mainWindow(),
00107 document,
00108 context ().mainWindow().selectedGraphCurve(),
00109 posScreen,
00110 ordinalGenerator.generateCurvePointOrdinal(document,
00111 transformation,
00112 posScreen,
00113 activeCurve ()));
00114 context().appendNewCmd(cmdMediator,
00115 cmd);
00116 }
00117
00118 QString DigitizeStateCurve::state() const
00119 {
00120 return "DigitizeStateCurve";
00121 }
00122
00123 void DigitizeStateCurve::updateAfterPointAddition ()
00124 {
00125 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::updateAfterPointAddition";
00126 }
00127
00128 void DigitizeStateCurve::updateModelDigitizeCurve (CmdMediator *cmdMediator,
00129 const DocumentModelDigitizeCurve & )
00130 {
00131 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::updateModelDigitizeCurve";
00132
00133 setCursor(cmdMediator);
00134 }
00135
00136 void DigitizeStateCurve::updateModelSegments(const DocumentModelSegments & )
00137 {
00138 LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateCurve::updateModelSegments";
00139 }