#include <tormapwidget.h>
Inheritance diagram for TorMapWidget:
Public Slots | |
void | removeCircuit (const CircuitId &circid) |
void | deselectAll () |
void | clear () |
void | zoomToFit () |
void | zoomToRouter (const QString &id) |
void | zoomToCircuit (const CircuitId &circid) |
Public Member Functions | |
TorMapWidget (QWidget *parent=0) | |
~TorMapWidget () | |
void | addRouter (const QString &id, float latitude, float longitude) |
void | addCircuit (const CircuitId &circid, const QStringList &path) |
void | selectRouter (const QString &id) |
void | selectCircuit (const CircuitId &circid) |
QSize | minimumSizeHint () const |
Protected Member Functions | |
virtual void | paintImage (QPainter *painter) |
Private Member Functions | |
QPointF | toMapSpace (float latitude, float longitude) |
float | lerp (float input, float *table) |
QRectF | circuitBoundingBox () |
Private Attributes | |
QHash< QString, QPair< QPointF, bool > * > | _routers |
QHash< CircuitId, QPair< QPainterPath *, bool > * > | _circuits |
Definition at line 30 of file tormapwidget.h.
TorMapWidget::TorMapWidget | ( | QWidget * | parent = 0 |
) |
Default constructor.
Definition at line 72 of file tormapwidget.cpp.
References IMG_WORLD_MAP, and ZImageView::setImage().
TorMapWidget::~TorMapWidget | ( | ) |
void TorMapWidget::addCircuit | ( | const CircuitId & | circid, | |
const QStringList & | path | |||
) |
Plots the given circuit on the map.
Add the data to the hash of known circuits and plot the circuit on the map
Definition at line 100 of file tormapwidget.cpp.
References _circuits, _routers, and i().
Referenced by NetViewer::addCircuit(), and NetViewer::resolved().
void TorMapWidget::addRouter | ( | const QString & | id, | |
float | latitude, | |||
float | longitude | |||
) |
Plots the given router on the map using the given coordinates.
Definition at line 87 of file tormapwidget.cpp.
References _routers, and toMapSpace().
Referenced by NetViewer::resolved().
QRectF TorMapWidget::circuitBoundingBox | ( | ) | [private] |
Computes a bounding box around all currently displayed circuit paths on the map.
Definition at line 319 of file tormapwidget.cpp.
References _circuits.
Referenced by zoomToFit().
void TorMapWidget::clear | ( | ) | [slot] |
Clears the known routers and removes all the data from the map
Definition at line 188 of file tormapwidget.cpp.
References _circuits, and _routers.
Referenced by NetViewer::clear(), and ~TorMapWidget().
void TorMapWidget::deselectAll | ( | ) | [slot] |
Deselects all the highlighted circuits and routers
Definition at line 172 of file tormapwidget.cpp.
References _circuits, and _routers.
Referenced by NetViewer::circuitSelected(), NetViewer::routerSelected(), and zoomToRouter().
float TorMapWidget::lerp | ( | float | input, | |
float * | table | |||
) | [private] |
Linearly interpolates using the values in the projection table
Definition at line 250 of file tormapwidget.cpp.
Referenced by toMapSpace().
QSize TorMapWidget::minimumSizeHint | ( | ) | const |
Returns the minimum size of the widget
Definition at line 260 of file tormapwidget.cpp.
References MIN_SIZE.
void TorMapWidget::paintImage | ( | QPainter * | painter | ) | [protected, virtual] |
Paints the current circuits and streams on the image.
Reimplemented from ZImageView.
Definition at line 204 of file tormapwidget.cpp.
References _circuits, _routers, PEN_CIRCUIT, PEN_ROUTER, and PEN_SELECTED.
void TorMapWidget::removeCircuit | ( | const CircuitId & | circid | ) | [slot] |
Removes a circuit from the map.
Definition at line 137 of file tormapwidget.cpp.
References _circuits.
void TorMapWidget::selectCircuit | ( | const CircuitId & | circid | ) |
Selects and highlights a circuit on the map.
Definition at line 161 of file tormapwidget.cpp.
References _circuits.
Referenced by NetViewer::circuitSelected().
void TorMapWidget::selectRouter | ( | const QString & | id | ) |
Selects and hightlights a router on the map.
Definition at line 149 of file tormapwidget.cpp.
References _routers.
Referenced by NetViewer::routerSelected().
QPointF TorMapWidget::toMapSpace | ( | float | latitude, | |
float | longitude | |||
) | [private] |
Converts world space coordinates into map space coordinates
Definition at line 224 of file tormapwidget.cpp.
References lerp(), MAP_HEIGHT, MAP_LEFT, MAP_ORIGIN, MAP_TOP, MAP_WIDTH, pdfe, and plen.
Referenced by addRouter().
void TorMapWidget::zoomToCircuit | ( | const CircuitId & | circid | ) | [slot] |
Zoom to the circuit on the map with the given circid.
Definition at line 288 of file tormapwidget.cpp.
References _circuits, MAP_HEIGHT, MAP_WIDTH, and ZImageView::zoom().
void TorMapWidget::zoomToFit | ( | ) | [slot] |
Zooms to fit all currently displayed circuits on the map.
Definition at line 269 of file tormapwidget.cpp.
References circuitBoundingBox(), MAP_HEIGHT, MAP_WIDTH, ZImageView::resetZoomPoint(), and ZImageView::zoom().
void TorMapWidget::zoomToRouter | ( | const QString & | id | ) | [slot] |
Zoom to a particular router on the map.
Definition at line 304 of file tormapwidget.cpp.
References _routers, deselectAll(), and ZImageView::zoom().
QHash<CircuitId, QPair<QPainterPath *,bool>* > TorMapWidget::_circuits [private] |
Stores circuit information
Definition at line 81 of file tormapwidget.h.
Referenced by addCircuit(), circuitBoundingBox(), clear(), deselectAll(), paintImage(), removeCircuit(), selectCircuit(), and zoomToCircuit().
QHash<QString, QPair<QPointF,bool>* > TorMapWidget::_routers [private] |
Stores map locations for tor routers
Definition at line 79 of file tormapwidget.h.
Referenced by addCircuit(), addRouter(), clear(), deselectAll(), paintImage(), selectRouter(), and zoomToRouter().