CircuitListWidget Class Reference

#include <circuitlistwidget.h>

List of all members.

Public Types

enum  Columns {
  ConnectionColumn = 0, StatusColumn = 1, ConnectionColumnWidth = 235, StatusColumn = 0,
  NameColumn = 1
}

Public Slots

void clearCircuits ()

Signals

void circuitSelected (Circuit circuit)
void circuitRemoved (quint64 circid)

Public Member Functions

 CircuitListWidget (QWidget *parent=0)
void addCircuit (Circuit circuit)
void addStream (Stream stream)
void removeCircuit (CircuitItem *circuit)
void removeStream (StreamItem *stream)
QList< Circuitcircuits ()

Private Slots

void removeCircuit ()
void removeStream ()
void onSelectionChanged (QTreeWidgetItem *cur, QTreeWidgetItem *prev)

Private Member Functions

CircuitItemfindCircuitItem (quint64 circid)
StreamItemfindStreamItem (quint64 streamid)
void scheduleCircuitRemoval (CircuitItem *circuit, int delay)
void scheduleStreamRemoval (StreamItem *stream, int delay)

Private Attributes

QList< CircuitItem * > _circuitRemovalList
QList< StreamItem * > _streamRemovalList


Detailed Description

Definition at line 38 of file circuitlistwidget.h.


Member Enumeration Documentation

enum CircuitListWidget::Columns

Circuit list columns.

Enumerator:
ConnectionColumn  Column for either the circuit or stream
StatusColumn  Status of the connection.
ConnectionColumnWidth 
StatusColumn  Status column, indicating bandwidth
NameColumn 

Definition at line 44 of file circuitlistwidget.h.


Constructor & Destructor Documentation

CircuitListWidget::CircuitListWidget ( QWidget *  parent = 0  ) 

Default constructor

Definition at line 39 of file circuitlistwidget.cpp.

References onSelectionChanged().


Member Function Documentation

void CircuitListWidget::addCircuit ( Circuit  circuit  ) 

Adds a circuit to the list. If the circuit already exists in the list, the status and path will be updated.

Definition at line 53 of file circuitlistwidget.cpp.

References Circuit::Closed, CLOSED_CIRCUIT_REMOVE_DELAY, Circuit::Failed, FAILED_CIRCUIT_REMOVE_DELAY, findCircuitItem(), Circuit::id(), scheduleCircuitRemoval(), Circuit::status(), and CircuitItem::update().

void CircuitListWidget::addStream ( Stream  stream  ) 

Adds a stream to the list. If the stream already exists in the list, the status and path will be updated.

Definition at line 79 of file circuitlistwidget.cpp.

References CircuitItem::addStream(), Stream::circuitId(), Stream::Closed, CLOSED_STREAM_REMOVE_DELAY, Stream::Failed, FAILED_STREAM_REMOVE_DELAY, findCircuitItem(), findStreamItem(), Stream::id(), scheduleStreamRemoval(), Stream::status(), and StreamItem::update().

void CircuitListWidget::removeCircuit ( CircuitItem circuit  ) 

Removes the given circuit item and all streams on that circuit.

Definition at line 139 of file circuitlistwidget.cpp.

References _streamRemovalList, CircuitItem::removeStream(), and CircuitItem::streams().

void CircuitListWidget::removeStream ( StreamItem stream  ) 

Removes the given stream item.

Definition at line 173 of file circuitlistwidget.cpp.

References CircuitItem::removeStream().

QList< Circuit > CircuitListWidget::circuits (  ) 

Returns a list of circuits currently in the widget.

Definition at line 262 of file circuitlistwidget.cpp.

References i().

void CircuitListWidget::circuitSelected ( Circuit  circuit  )  [signal]

Emitted when a circuit item is selected.

Referenced by onSelectionChanged().

void CircuitListWidget::circuitRemoved ( quint64  circid  )  [signal]

Emitted when a circuit is removed from the list.

Referenced by removeCircuit().

void CircuitListWidget::clearCircuits (  )  [slot]

Clears all circuits and streams from the list.

Definition at line 190 of file circuitlistwidget.cpp.

References _circuitRemovalList, and _streamRemovalList.

void CircuitListWidget::removeCircuit (  )  [private, slot]

Removes the circuit with the given ID and any streams on this circuit.

Definition at line 127 of file circuitlistwidget.cpp.

References _circuitRemovalList, circuitRemoved(), and Circuit::id().

Referenced by scheduleCircuitRemoval().

void CircuitListWidget::removeStream (  )  [private, slot]

Removes the stream with the given ID.

Definition at line 163 of file circuitlistwidget.cpp.

References _streamRemovalList.

Referenced by scheduleStreamRemoval().

void CircuitListWidget::onSelectionChanged ( QTreeWidgetItem *  cur,
QTreeWidgetItem *  prev 
) [private, slot]

Called when the current item selectio has changed.

Definition at line 236 of file circuitlistwidget.cpp.

References CircuitItem::circuit(), circuitSelected(), and Circuit::length().

Referenced by CircuitListWidget().

CircuitItem * CircuitListWidget::findCircuitItem ( quint64  circid  )  [private]

Finds the circuit with the given ID.

Definition at line 200 of file circuitlistwidget.cpp.

References i().

Referenced by addCircuit(), and addStream().

StreamItem * CircuitListWidget::findStreamItem ( quint64  streamid  )  [private]

Finds the stream with the given ID.

Definition at line 215 of file circuitlistwidget.cpp.

References i().

Referenced by addStream().

void CircuitListWidget::scheduleCircuitRemoval ( CircuitItem circuit,
int  delay 
) [private]

Schedules the given circuit item to be removed after the given timeout.

Definition at line 107 of file circuitlistwidget.cpp.

References _circuitRemovalList, and removeCircuit().

Referenced by addCircuit().

void CircuitListWidget::scheduleStreamRemoval ( StreamItem stream,
int  delay 
) [private]

Schedules a stream to be removed after the given timeout.

Definition at line 117 of file circuitlistwidget.cpp.

References _streamRemovalList, and removeStream().

Referenced by addStream().


Member Data Documentation

QList<CircuitItem *> CircuitListWidget::_circuitRemovalList [private]

List of circuit items to be removed.

Definition at line 95 of file circuitlistwidget.h.

Referenced by clearCircuits(), removeCircuit(), and scheduleCircuitRemoval().

QList<StreamItem *> CircuitListWidget::_streamRemovalList [private]

List of stream items to be removed.

Definition at line 97 of file circuitlistwidget.h.

Referenced by clearCircuits(), removeCircuit(), removeStream(), and scheduleStreamRemoval().


The documentation for this class was generated from the following files:
Generated on Mon Oct 23 20:08:16 2006 for Vidalia by  doxygen 1.5.0