Vidalia
0.2.21
|
#include <TorMapImageView.h>
Public Slots | |
void | removeCircuit (const CircuitId &circid) |
void | deselectAll () |
void | clear () |
void | zoomToFit () |
void | zoomToRouter (const QString &id) |
void | zoomToCircuit (const CircuitId &circid) |
![]() | |
void | resetZoomPoint () |
void | zoom (float pct) |
void | zoom (QPoint zoomAt, float pct) |
void | zoomIn () |
void | zoomOut () |
Public Member Functions | |
TorMapImageView (QWidget *parent=0) | |
~TorMapImageView () | |
void | addRouter (const RouterDescriptor &desc, const GeoIpRecord &geoip) |
void | addCircuit (const CircuitId &circid, const QStringList &path) |
void | selectRouter (const QString &id) |
void | selectCircuit (const CircuitId &circid) |
QSize | minimumSizeHint () const |
![]() | |
ZImageView (QWidget *parent=0) | |
void | setImage (QImage &pixmap) |
Protected Member Functions | |
virtual void | paintImage (QPainter *painter) |
![]() | |
virtual void | paintEvent (QPaintEvent *) |
virtual void | mousePressEvent (QMouseEvent *e) |
virtual void | mouseReleaseEvent (QMouseEvent *e) |
virtual void | mouseMoveEvent (QMouseEvent *e) |
virtual void | mouseDoubleClickEvent (QMouseEvent *e) |
virtual void | wheelEvent (QWheelEvent *e) |
void | updateViewport (int screendx=0, int screendy=0) |
void | drawScaledImage () |
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 31 of file TorMapImageView.h.
TorMapImageView::TorMapImageView | ( | QWidget * | parent = 0 | ) |
Default constructor.
Default constructor
Definition at line 72 of file TorMapImageView.cpp.
References IMG_WORLD_MAP, and ZImageView::setImage().
TorMapImageView::~TorMapImageView | ( | ) |
void TorMapImageView::addCircuit | ( | const CircuitId & | circid, |
const QStringList & | path | ||
) |
Plots the given circuit on the map.
Adds a circuit to the map using the given ordered list of router IDs.
Add the data to the hash of known circuits and plot the circuit on the map
Definition at line 101 of file TorMapImageView.cpp.
References _circuits, _routers, and i().
Referenced by NetViewer::addCircuit().
void TorMapImageView::addRouter | ( | const RouterDescriptor & | desc, |
const GeoIpRecord & | geoip | ||
) |
Plots the given router on the map using the given coordinates.
Adds a router to the map.
Definition at line 87 of file TorMapImageView.cpp.
References _routers, RouterDescriptor::id(), GeoIpRecord::latitude(), GeoIpRecord::longitude(), and toMapSpace().
Referenced by NetViewer::addRouter().
|
private |
Computes a bounding box around all currently displayed circuit paths on the map.
Definition at line 320 of file TorMapImageView.cpp.
References _circuits.
Referenced by zoomToFit().
|
slot |
Clears the known routers and removes all the data from the map
Clears the list of routers and removes all the data on the map
Definition at line 189 of file TorMapImageView.cpp.
References _circuits, and _routers.
Referenced by NetViewer::clear(), and ~TorMapImageView().
|
slot |
Deselects all the highlighted circuits and routers
Deselects any highlighted routers or circuits
Definition at line 173 of file TorMapImageView.cpp.
References _circuits, and _routers.
Referenced by NetViewer::circuitSelected(), NetViewer::routerSelected(), and zoomToRouter().
|
private |
Linearly interpolates using the values in the projection table
Linearly interpolates using the values in the Robinson projection table
Definition at line 251 of file TorMapImageView.cpp.
Referenced by toMapSpace().
QSize TorMapImageView::minimumSizeHint | ( | ) | const |
Returns the minimum size of the widget
Definition at line 261 of file TorMapImageView.cpp.
References MIN_SIZE.
|
protectedvirtual |
Paints the current circuits and streams on the image.
Draws the routers and paths onto the map image.
Reimplemented from ZImageView.
Definition at line 205 of file TorMapImageView.cpp.
References _circuits, _routers, PEN_CIRCUIT, PEN_ROUTER, and PEN_SELECTED.
|
slot |
Removes a circuit from the map.
Definition at line 138 of file TorMapImageView.cpp.
References _circuits.
void TorMapImageView::selectCircuit | ( | const CircuitId & | circid | ) |
Selects and highlights a circuit on the map.
Selects and highlights the circuit with the id circid on the map.
Definition at line 162 of file TorMapImageView.cpp.
References _circuits.
Referenced by NetViewer::circuitSelected().
void TorMapImageView::selectRouter | ( | const QString & | id | ) |
Selects and hightlights a router on the map.
Selects and highlights the router on the map.
Definition at line 150 of file TorMapImageView.cpp.
References _routers.
Referenced by NetViewer::routerSelected().
|
private |
Converts world space coordinates into map space coordinates
Definition at line 225 of file TorMapImageView.cpp.
References lerp(), MAP_HEIGHT, MAP_LEFT, MAP_ORIGIN, MAP_TOP, MAP_WIDTH, pdfe, and plen.
Referenced by addRouter().
|
slot |
Zoom to the circuit on the map with the given circid.
Definition at line 289 of file TorMapImageView.cpp.
References _circuits, MAP_HEIGHT, MAP_WIDTH, and ZImageView::zoom().
|
slot |
Zooms to fit all currently displayed circuits on the map.
Zooms to fit all currently displayed circuits on the map. If there are no circuits on the map, the viewport will be returned to its default position (zoomed all the way out and centered).
Definition at line 270 of file TorMapImageView.cpp.
References circuitBoundingBox(), MAP_HEIGHT, MAP_WIDTH, ZImageView::resetZoomPoint(), and ZImageView::zoom().
|
slot |
Zoom to a particular router on the map.
Zooms in on the router with the given id.
Definition at line 305 of file TorMapImageView.cpp.
References _routers, deselectAll(), and ZImageView::zoom().
|
private |
Stores circuit information
Definition at line 82 of file TorMapImageView.h.
Referenced by addCircuit(), circuitBoundingBox(), clear(), deselectAll(), paintImage(), removeCircuit(), selectCircuit(), and zoomToCircuit().
|
private |
Stores map locations for tor routers
Definition at line 80 of file TorMapImageView.h.
Referenced by addCircuit(), addRouter(), clear(), deselectAll(), paintImage(), selectRouter(), and zoomToRouter().