AsmInstructionsBar Class Reference

Navigation-Bar for fast browsing through a Binary. More...

#include <AsmInstructionsBar.h>

List of all members.

Public Slots

void setRoot (SgNode *node)
void setNode (SgNode *node)
 set current active node
void setNode (int id)

Signals

void nodeActivated (SgNode *node)
 emit current active node
void nodeActivatedAlt (SgNode *node)
void clicked (int id)

Public Member Functions

 AsmInstructionsBar (QWidget *parent=NULL)
virtual ~AsmInstructionsBar ()
int getNumberOfBlocks ()

Protected Member Functions

void setIndicator ()
virtual void mousePressEvent (QMouseEvent *e)
virtual void mouseReleaseEvent (QMouseEvent *e)
virtual void mouseMoveEvent (QMouseEvent *e)
virtual void wheelEvent (QWheelEvent *e)
virtual void dropEvent (QDropEvent *ev)
virtual void dragMoveEvent (QDragMoveEvent *ev)
virtual void dragEnterEvent (QDragEnterEvent *ev)

Protected Attributes

QGraphicsScene scene
QVector< QGraphicsRectItem * > blockList
QGraphicsPolygonItem * indicatorBottom
QGraphicsRectItem * indicatorMiddle
QGraphicsPolygonItem * indicatorTop
QGraphicsRectItem * currentBlock

Private Member Functions

void updatePosition (const QPoint &pos)

Private Attributes

SgNode * root
const uint64_t base_width
const float height
bool pressed


Detailed Description

Navigation-Bar for fast browsing through a Binary.

Bar where each section in a binary is encoded with a different color, can be used for navigation in a binary

Definition at line 23 of file AsmInstructionsBar.h.


Constructor & Destructor Documentation

AsmInstructionsBar::AsmInstructionsBar ( QWidget *  parent = NULL  ) 

Definition at line 24 of file AsmInstructionsBar.cpp.

AsmInstructionsBar::~AsmInstructionsBar (  )  [virtual]

Definition at line 45 of file AsmInstructionsBar.cpp.


Member Function Documentation

void AsmInstructionsBar::clicked ( int  id  )  [signal]

emit current active node id, again the id is the position in the array of Assembler Blocks

Referenced by setNode(), and updatePosition().

void AsmInstructionsBar::dragEnterEvent ( QDragEnterEvent *  ev  )  [protected, virtual]

Definition at line 381 of file AsmInstructionsBar.cpp.

void AsmInstructionsBar::dragMoveEvent ( QDragMoveEvent *  ev  )  [protected, virtual]

Definition at line 392 of file AsmInstructionsBar.cpp.

void AsmInstructionsBar::dropEvent ( QDropEvent *  ev  )  [protected, virtual]

Definition at line 367 of file AsmInstructionsBar.cpp.

Here is the call graph for this function:

int AsmInstructionsBar::getNumberOfBlocks (  ) 

Definition at line 48 of file AsmInstructionsBar.cpp.

void AsmInstructionsBar::mouseMoveEvent ( QMouseEvent *  e  )  [protected, virtual]

Definition at line 311 of file AsmInstructionsBar.cpp.

Here is the call graph for this function:

void AsmInstructionsBar::mousePressEvent ( QMouseEvent *  e  )  [protected, virtual]

Definition at line 284 of file AsmInstructionsBar.cpp.

Here is the call graph for this function:

void AsmInstructionsBar::mouseReleaseEvent ( QMouseEvent *  e  )  [protected, virtual]

Definition at line 298 of file AsmInstructionsBar.cpp.

Here is the call graph for this function:

void AsmInstructionsBar::nodeActivated ( SgNode *  node  )  [signal]

emit current active node

Referenced by setNode(), and updatePosition().

void AsmInstructionsBar::nodeActivatedAlt ( SgNode *  node  )  [signal]

void AsmInstructionsBar::setIndicator (  )  [protected]

Definition at line 213 of file AsmInstructionsBar.cpp.

Referenced by setNode(), setRoot(), updatePosition(), and wheelEvent().

Here is the caller graph for this function:

void AsmInstructionsBar::setNode ( int  id  )  [slot]

set current active node by id, i.e. the position in the array of Assembler Blocks

Definition at line 201 of file AsmInstructionsBar.cpp.

void AsmInstructionsBar::setNode ( SgNode *  node  )  [slot]

set current active node

Definition at line 166 of file AsmInstructionsBar.cpp.

void AsmInstructionsBar::setRoot ( SgNode *  node  )  [slot]

if the given node is a binary node, everything is fine if it is source, the associated binary node will be used Use the AsmToSourceMapper to link binary nodes with source nodes set new root node.

Definition at line 53 of file AsmInstructionsBar.cpp.

Referenced by dropEvent().

void AsmInstructionsBar::updatePosition ( const QPoint &  pos  )  [private]

Definition at line 321 of file AsmInstructionsBar.cpp.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

Here is the call graph for this function:

Here is the caller graph for this function:

void AsmInstructionsBar::wheelEvent ( QWheelEvent *  e  )  [protected, virtual]

Definition at line 341 of file AsmInstructionsBar.cpp.

Here is the call graph for this function:


Member Data Documentation

const uint64_t AsmInstructionsBar::base_width [private]

Definition at line 85 of file AsmInstructionsBar.h.

Referenced by AsmInstructionsBar(), and setRoot().

QVector<QGraphicsRectItem *> AsmInstructionsBar::blockList [protected]

Definition at line 73 of file AsmInstructionsBar.h.

Referenced by getNumberOfBlocks(), setNode(), setRoot(), and wheelEvent().

QGraphicsRectItem* AsmInstructionsBar::currentBlock [protected]

Definition at line 78 of file AsmInstructionsBar.h.

Referenced by setIndicator(), setNode(), setRoot(), and updatePosition().

const float AsmInstructionsBar::height [private]

Definition at line 86 of file AsmInstructionsBar.h.

Referenced by setIndicator(), and setRoot().

QGraphicsPolygonItem* AsmInstructionsBar::indicatorBottom [protected]

Definition at line 74 of file AsmInstructionsBar.h.

Referenced by setIndicator(), and setRoot().

QGraphicsRectItem* AsmInstructionsBar::indicatorMiddle [protected]

Definition at line 75 of file AsmInstructionsBar.h.

Referenced by setIndicator(), setRoot(), updatePosition(), and wheelEvent().

QGraphicsPolygonItem* AsmInstructionsBar::indicatorTop [protected]

Definition at line 76 of file AsmInstructionsBar.h.

Referenced by setIndicator(), and setRoot().

bool AsmInstructionsBar::pressed [private]

Definition at line 88 of file AsmInstructionsBar.h.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

SgNode* AsmInstructionsBar::root [private]

Definition at line 83 of file AsmInstructionsBar.h.

Referenced by setNode(), and setRoot().

QGraphicsScene AsmInstructionsBar::scene [protected]

Definition at line 71 of file AsmInstructionsBar.h.

Referenced by AsmInstructionsBar(), setIndicator(), and setRoot().


The documentation for this class was generated from the following files:
Generated on Tue Sep 15 14:48:48 2009 for RoseQtWidgets by  doxygen 1.4.7