qrailway 0.9
Signale | Öffentliche Methoden | Geschützte Methoden | Private Attribute

cAnlage Klassenreferenz

Gleisplan. Mehr ...

#include <cMainWindow.h>

Aufstellung aller Elemente

Signale

void SignalMouseAktion (int, Qt::ButtonState)
 Wird emittiert, wenn auf einen Konnektor geclickt wird. Dann wird z.B. eine Weiche gestellt oder das Weichenfenster wird geoeffnet.
void SignalKonnektorMoved (int, double, double)
 Wird emittiert, wenn ein Konnektor verschoben werden soll und nach dem letzten Timeraufruf eine Bewegung stattgefunden hat. Emittiert wird die Nummer und die neuen Koordinaten des bewegten Konnektors.
void SignalNeuerKonnektor (int, double, double)
 Wird emittiert, wenn ein neuer Konnektor erstellt werden soll. Uebermittelt werden die Sektion, in die er eingefuegt werden soll, sowie die Koordinaten, wo der neue Konnektor hin soll.
void SignalKonnektorLoeschen (int)
 Wird emittiert, wenn ein Konnektor geloescht werden soll. Uebermittelt wird die Nummer des Konnektors.
void SignalKonnektorMovedFinished (int)
 Wird emittiert, wenn die Maustaste nach dem Bewegen losgelassen wird. Uebermittelt wird die Nummer des bewegten Konnektors.
void message (const QString &)
 Statusmeldung an cMainWindow.
void barmessage (const QString &, int)
 Statusmeldung an cMainWindow.

Öffentliche Methoden

 cAnlage (cIntelligenz *Intelligenz, QGraphicsScene *canvas, QWidget *parent=0)
 Initialisiert den Betrachter. Intelligenz bekommt Befehle zugestellt, wie z.B. Fahrplanung, und liefert Informationen, wie z.B. Zeiger auf Sektionen, welche dann bzgl. der aufstehenden Zuege ausgewertet werden.
void cDebug (int prioritaet, const QString &meldung)
 Gibt die Meldung "meldung" in eine der Klasse zugeordnete Logdatei aus. Dabei werden Meldungen mit der Prioritaet prioritaet 0 auch auf dem Bildschirm als Warnung ausgegeben. Meldungen mit Prioritaet >=2 (bzw. >=1) werden in aller Regel nicht in die Log-Datei ausgegeben, lassen sich aber durch Modifikation der Funktion cDebug zur Ausgabe hinzufuegen. Die zugeordnete Log-Datei ist log.cMainWindow.
void setEditModus (bool editmodustmp)
 Setzt den Bearbeitungsmodus (Konnektoren verschieben)
bool getEditModus (void)
 Liefert zurück, ob gerade der Bearbeitungsmodus aktiviert ist.
void setClearModus (bool clearmodustmp)
 Setzt den Clear-Modus (Gleisbelegungen löschen)
bool getClearModus (void)
 Liefert zurück, ob der Gleisbelegung-Löschen-Modus aktiv ist.

Geschützte Methoden

void mousePressEvent (QMouseEvent *e)
 Handelt Mausclicks: Neuer Konnektor, Konnektor entfernen, Laufplanung.
void mouseReleaseEvent (QMouseEvent *e)
 Beenden des Bewegens von Konnektoren.
void mouseMoveEvent (QMouseEvent *e)
 Wenn Maustaste gedrueckt und ein Konnektor wird verschoben, werden hiermit die neuen Koordinaten eingelesen.
void mouseDoubleClickEvent (QMouseEvent *e)
 Zum Beenden der Laufplanung.
void timerEvent (QTimerEvent *e)
 Der Timer wird in contentsMousePressEvent gestartet und sorgt dafuer, dass, wenn ein Konnektor verschoben wird, dieser von Zeit zu Zeit neu auf dem Canvas dargestellt wird.

Private Attribute

bool editmodus
 Ist TRUE, wenn der Edit-Modus aktiv ist. (Konnektoren verschieben)
bool clearmodus
 Ist TRUE, wenn der Clear-Modus aktiv ist. (Löschen von Gleisbelegungen)
int nr
 Aktuell bewegter Konnektor, sowie dessen Koordinaten.
QPointF altpos
 alte Position des Konnektors (beim Verschieben)
int timernummer
 ID des momentan fuer den Bewegungsvorgang laufenden Timers.
int tmp
 Fuer Debugging-Zwecke. Kann entfernt werden.
bool bewegen
 Ist TRUE, wenn gerade bewegt wird.
bool streckefestlegen
 Ist TRUE, wenn gerade ein Fahrplan definiert wird.
cIntelligenzIntelligenz
 Pointer fuer die Fahrsteuerung und zum ermitteln von Sektionszeigern.
int * laufplanung
 Enthaelt die Sektionen, die vom Zug durchfahren werden sollen.
int laufplanunganz
 Enthaelt die Anzahl der Sektionen in laufplanung.
int laufplanungzug
 Enthaelt den Zug fuer den die Laufplanung stattfindet.

Ausführliche Beschreibung

Gleisplan.

Ersetzt QCanvasView durch einen Betrachter, der Mausclicks und Tastaturbefehle abfaengt, um Konnektore verschieben, hinzufuegen und loeschen zu koennen

Definiert in Zeile 35 der Datei cMainWindow.h.


Beschreibung der Konstruktoren und Destruktoren

cAnlage::cAnlage ( cIntelligenz Intelligenz,
QGraphicsScene *  canvas,
QWidget *  parent = 0 
)

Initialisiert den Betrachter. Intelligenz bekommt Befehle zugestellt, wie z.B. Fahrplanung, und liefert Informationen, wie z.B. Zeiger auf Sektionen, welche dann bzgl. der aufstehenden Zuege ausgewertet werden.


Dokumentation der Elementfunktionen

void cAnlage::barmessage ( const QString &  ,
int   
) [signal]

Statusmeldung an cMainWindow.

void cAnlage::cDebug ( int  prioritaet,
const QString &  meldung 
)

Gibt die Meldung "meldung" in eine der Klasse zugeordnete Logdatei aus. Dabei werden Meldungen mit der Prioritaet prioritaet 0 auch auf dem Bildschirm als Warnung ausgegeben. Meldungen mit Prioritaet >=2 (bzw. >=1) werden in aller Regel nicht in die Log-Datei ausgegeben, lassen sich aber durch Modifikation der Funktion cDebug zur Ausgabe hinzufuegen. Die zugeordnete Log-Datei ist log.cMainWindow.

bool cAnlage::getClearModus ( void  ) [inline]

Liefert zurück, ob der Gleisbelegung-Löschen-Modus aktiv ist.

Definiert in Zeile 50 der Datei cMainWindow.h.

Benutzt clearmodus.

{ return(clearmodus); };
bool cAnlage::getEditModus ( void  ) [inline]

Liefert zurück, ob gerade der Bearbeitungsmodus aktiviert ist.

Definiert in Zeile 46 der Datei cMainWindow.h.

Benutzt editmodus.

{ return(editmodus); };
void cAnlage::message ( const QString &  ) [signal]

Statusmeldung an cMainWindow.

void cAnlage::mouseDoubleClickEvent ( QMouseEvent *  e) [protected]

Zum Beenden der Laufplanung.

void cAnlage::mouseMoveEvent ( QMouseEvent *  e) [protected]

Wenn Maustaste gedrueckt und ein Konnektor wird verschoben, werden hiermit die neuen Koordinaten eingelesen.

void cAnlage::mousePressEvent ( QMouseEvent *  e) [protected]

Handelt Mausclicks: Neuer Konnektor, Konnektor entfernen, Laufplanung.

void cAnlage::mouseReleaseEvent ( QMouseEvent *  e) [protected]

Beenden des Bewegens von Konnektoren.

void cAnlage::setClearModus ( bool  clearmodustmp) [inline]

Setzt den Clear-Modus (Gleisbelegungen löschen)

Definiert in Zeile 48 der Datei cMainWindow.h.

Benutzt clearmodus.

{ clearmodus=clearmodustmp; };
void cAnlage::setEditModus ( bool  editmodustmp) [inline]

Setzt den Bearbeitungsmodus (Konnektoren verschieben)

Definiert in Zeile 44 der Datei cMainWindow.h.

Benutzt editmodus.

{ editmodus=editmodustmp; };
void cAnlage::SignalKonnektorLoeschen ( int  ) [signal]

Wird emittiert, wenn ein Konnektor geloescht werden soll. Uebermittelt wird die Nummer des Konnektors.

void cAnlage::SignalKonnektorMoved ( int  ,
double  ,
double   
) [signal]

Wird emittiert, wenn ein Konnektor verschoben werden soll und nach dem letzten Timeraufruf eine Bewegung stattgefunden hat. Emittiert wird die Nummer und die neuen Koordinaten des bewegten Konnektors.

void cAnlage::SignalKonnektorMovedFinished ( int  ) [signal]

Wird emittiert, wenn die Maustaste nach dem Bewegen losgelassen wird. Uebermittelt wird die Nummer des bewegten Konnektors.

void cAnlage::SignalMouseAktion ( int  ,
Qt::ButtonState   
) [signal]

Wird emittiert, wenn auf einen Konnektor geclickt wird. Dann wird z.B. eine Weiche gestellt oder das Weichenfenster wird geoeffnet.

void cAnlage::SignalNeuerKonnektor ( int  ,
double  ,
double   
) [signal]

Wird emittiert, wenn ein neuer Konnektor erstellt werden soll. Uebermittelt werden die Sektion, in die er eingefuegt werden soll, sowie die Koordinaten, wo der neue Konnektor hin soll.

void cAnlage::timerEvent ( QTimerEvent *  e) [protected]

Der Timer wird in contentsMousePressEvent gestartet und sorgt dafuer, dass, wenn ein Konnektor verschoben wird, dieser von Zeit zu Zeit neu auf dem Canvas dargestellt wird.


Dokumentation der Datenelemente

QPointF cAnlage::altpos [private]

alte Position des Konnektors (beim Verschieben)

Definiert in Zeile 87 der Datei cMainWindow.h.

bool cAnlage::bewegen [private]

Ist TRUE, wenn gerade bewegt wird.

Definiert in Zeile 93 der Datei cMainWindow.h.

bool cAnlage::clearmodus [private]

Ist TRUE, wenn der Clear-Modus aktiv ist. (Löschen von Gleisbelegungen)

Definiert in Zeile 83 der Datei cMainWindow.h.

Wird benutzt von getClearModus() und setClearModus().

bool cAnlage::editmodus [private]

Ist TRUE, wenn der Edit-Modus aktiv ist. (Konnektoren verschieben)

Definiert in Zeile 81 der Datei cMainWindow.h.

Wird benutzt von getEditModus() und setEditModus().

Pointer fuer die Fahrsteuerung und zum ermitteln von Sektionszeigern.

Definiert in Zeile 97 der Datei cMainWindow.h.

int* cAnlage::laufplanung [private]

Enthaelt die Sektionen, die vom Zug durchfahren werden sollen.

Definiert in Zeile 99 der Datei cMainWindow.h.

int cAnlage::laufplanunganz [private]

Enthaelt die Anzahl der Sektionen in laufplanung.

Definiert in Zeile 101 der Datei cMainWindow.h.

int cAnlage::laufplanungzug [private]

Enthaelt den Zug fuer den die Laufplanung stattfindet.

Definiert in Zeile 103 der Datei cMainWindow.h.

int cAnlage::nr [private]

Aktuell bewegter Konnektor, sowie dessen Koordinaten.

Definiert in Zeile 85 der Datei cMainWindow.h.

bool cAnlage::streckefestlegen [private]

Ist TRUE, wenn gerade ein Fahrplan definiert wird.

Definiert in Zeile 95 der Datei cMainWindow.h.

int cAnlage::timernummer [private]

ID des momentan fuer den Bewegungsvorgang laufenden Timers.

Definiert in Zeile 89 der Datei cMainWindow.h.

int cAnlage::tmp [private]

Fuer Debugging-Zwecke. Kann entfernt werden.

Definiert in Zeile 91 der Datei cMainWindow.h.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: