Files
DRAMSys/analyzer/analyzer/businessObjects/transaction.cpp
2014-07-10 11:16:16 +02:00

31 lines
1.2 KiB
C++

#include "transaction.h"
using namespace std;
Transaction::Transaction(ID id,unsigned int address,unsigned int burstlength,int thread, unsigned int channel, unsigned int bank,unsigned int bankgroup, unsigned int row, unsigned int column, Timespan span, Timespan spanOnDataStrobe)
:address(address),burstlength(burstlength),channel(channel), bank(bank),bankgroup(bankgroup), row(row), column(column),thread(thread),span(span),spanOnDataStrobe(spanOnDataStrobe),id(id){}
void Transaction::addPhase(shared_ptr<Phase> phase)
{
phases.push_back(phase);
}
void Transaction::draw(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, bool highlight, const TraceDrawingProperties &drawingProperties) const
{
for(shared_ptr<Phase> phase: phases)
phase->draw(painter,xMap,yMap,canvasRect,highlight,drawingProperties);
}
bool Transaction::isSelected(traceTime time, double yVal, const TraceDrawingProperties& drawingproperties) const
{
if(span.contains(time))
{
for(shared_ptr<Phase> phase: phases)
{
if(phase->isSelected(time,yVal,drawingproperties))
return true;
}
}
return false;
}