qrailway 0.9
|
Einstellungsfenster um Zuege aufsetzen, veraendern und entfernen zu koennen. Mehr ...
#include <cFensterLok.h>
Öffentliche Slots | |
void | SlotPunktMoved (int sigg, int x, int y) |
Registriert Bewegung eines Geschwindigkeitspunktes. | |
void | SlotNeueLokAuswahl (int CBid) |
Eine neue Lok (in der Combo-Box an Stelle CBid) wird ausgewaehlt und soll dargestellt werden. | |
void | SlotNeueTrainAuswahl (int CBid) |
Eine neuer Zug (in der Combo-Box an Stelle CBid) wird ausgewaehlt und soll dargestellt werden. | |
void | SlotLokLoeschen () |
Entfernt eine Lok von der Anlage/und der Datenbank. | |
void | SlotButtonCancel () |
Aenderungen am aktuellen Datensatz zuruecknehmen. | |
void | SlotButtonOk () |
Fenster schliessen, evtl. Button umbenennen. | |
void | SlotButtonGeschwindigkeitsmessung () |
Automatische Geschwindigkeitsmessung starten. | |
void | SlotButtonGeschwindigkeitsmessungAbbrechen () |
Automatische Geschwindigkeitsmessung abbrechen. | |
void | SlotGeschwindigkeitsmeldung (int messid, int gesamtmess, int reglertempo, int kmhtempo, int rich) |
Slot fuer Statusmeldungen bzgl. der Geschwindigkeitsmessung. | |
void | SlotUpdate (int trainidtmp) |
Verarbeitet eine Aenderung des Zugs mit der ID trainidtmp (d.h. Listen werden erneuert und evtl. Werte aus der Datenbank nachgeladen. | |
void | SlotLokAufsetzen (void) |
Oeffnet ein Fenster zum Aufsetzen des Zugs (falls sie noch nicht auf der Anlage steht) | |
void | SlotLokAufsetzenSchliessen (void) |
Wird aufgerufen, wenn das Aufsetzen-Fenster geschlossen wird. | |
void | SlotLokRunternehmen (void) |
Fragt, ob der aktuelle Zug von der Anlage genommen werden soll. | |
void | SlotLokAnzeigen (void) |
Zeigt die ausgewaehlte Lok an. | |
Öffentliche Methoden | |
cFensterLok (QWidget *parent, cIntelligenz *Intelligenztmp, int trainid=0) | |
Initialisiert das Fenster und startet mit Zug trainid. Ist trainid=0, so wird der alphabetisch erste Zug verwendet. | |
~cFensterLok () | |
Entfernt das Fenster. | |
void | AndererDatensatz (int trainidtmp) |
Wechselt Darstellung auf den Zug mit der Nummer trainid. | |
int | befuelleComboLok (int trainidtmp) |
Befuellt die ComboBox fuer die Zugauswahl. Sollte trainidtmp gefunden werden, so wird trainidtmp zurueckgeliefert. Falls nicht, so wird die id vom ersten Eintrag der ComboBox zurueckgeliefert. | |
Private Methoden | |
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. Der Klasse ist die Log-Datei log.cFensterLok zugeordnet. | |
Private Attribute | |
QColor | farbeVorwaerts |
Farbe fuer Geschwindigkeitsprofile (werden aus Konfig-Datei geladen: measure/farbeVorwaerts) | |
QColor | farbeRueckwaerts |
Farbe fuer Geschwindigkeitsprofile (werden aus Konfig-Datei geladen: measure/farbeRueckwaerts) | |
QPixmap * | PixmapLokbildklein |
Kleines Bild bei der Lokauswahl. | |
QString | ArtNummer |
Artikelnummer. | |
QString | traintext |
Beschreibung. | |
Q3Canvas * | canvas |
Canvas fuer Geschwindigkeitseinstellung. | |
cKoordinatensystemGeschwindigkeit * | canvasviewer |
CanvasView fuer Darstellung des Canvas. | |
int | trainid |
Aktuell dargestellter Zug. | |
int | firsttrainid |
cIntelligenz * | Intelligenz |
Pointer auf die Fahrsteuerungsroutinen-Klasse. | |
int | speedslow |
Langsame Mikrokontrollereinstellung speedslow entspricht kmhslow Kilometern pro Stunde. | |
int | kmhslow |
Langsame Mikrokontrollereinstellung speedslow entspricht kmhslow Kilometern pro Stunde. | |
int | speedmod |
Mittlere Mikrokontrollereinstellung speedmod entspricht kmhmod Kilometern pro Stunde. | |
int | kmhmod |
Mittlere Mikrokontrollereinstellung speedmod entspricht kmhmod Kilometern pro Stunde. | |
int | speedfast |
Schnelle Mikrokontrollereinstellung speedfast entspricht kmhfast Kilometern pro Stunde. | |
int | kmhfast |
Schnelle Mikrokontrollereinstellung speedfast entspricht kmhfast Kilometern pro Stunde. | |
int | speedmin |
Minimalgeschwindigkeit. | |
int | speedmax |
Maximalgeschwindigkeit. | |
cFensterLokAufsetzen * | LokAufsetzen |
Zeiger auf das Aufsetzen-Fenster. | |
bool | ComboLokUpdate |
relevante Aenderung, damit ComboLok neu befuellt wird? | |
cKoordinatensystemPunkt * | GeschwindigkeitsPunkt [10] |
Regelbare Geschwindigkeitspunkte. | |
cKoordinatensystemPunkt * | Messpunkt [40] |
Beobachtete Messpunkte. | |
Q3CanvasLine * | GeschwindigkeitsLinie [8] |
Linien. | |
QPixmap | PixmapLabelLokbildscaled |
Bild der Lok. |
Einstellungsfenster um Zuege aufsetzen, veraendern und entfernen zu koennen.
Diese Klasse stellt das Fenster dar, in dem man die Einstellungen fuer einen Zug vornehmen kann. Z.B. Zugart, Zugname, Geschwindigkeitsdefinitionen, neue Zuege, ...
Tab Zug: In der Listbox kann der Zug ausgewählt werden, dessen Eigenschaften bearbeitet werden soll. Darunter wird die Bezeichnung und die Zuglänge erfasst. Die Einstellung der Zugtyps hat Auswirkungen auf das Verhalten der Bahnhöfe bzw. der Befehlszuweisung. Mit den Buttons "Übernehmen" bzw. "Rückgängig" kann man Änderungen speichern bzw. verwerfen. Durch Klick auf "In Betrieb" kann der Zug auf der Anlage platziert werden (es öffnet sich das Fenster cFensterLokAufsetzen). Ein Zug, der auf der Anlage steht, kann durch Klick auf "Im Regal" wieder von der Anlage genommen werden. Der Button "Zug entfernen" löscht den Zug aus der Datenbank.
Tab Abbildung: Auf diesem Tab kann die Lok ausgewählt werden. Als Basis dienen die Tabelle locomotives
und die zu den angegebenen Bilddateinamen gehörigen Bilder.
Tab Dynamik: Mit der Dynamik wird die Reglerstufe, d.h. die Hardware-seitige Geschwindigkeit, die mittels Impulsbreitensteuerung zwischen 0 und 63 liegt, mit der innerhalb des Programms verwendeten Geschwindigkeit (in km/h) verknüpft. Die grüne Kurve gibt dabei die Verknüpfung für Vorwärtsfahrt an, die blaue Kurve für Rückwärtsfahrt. Die Punkte lassen sich mit der Maus verschieben. Bei der automatischen Geschwindigkeitsmessung werden als Hilfestellung zusätzliche Punkte hinzugefügt. Auf der x-Achse wird dabei die eingestellte Reglergeschwindigkeit dargestellt, auf der y-Achse die aus der für die Messung benötigten Zeit und der Länge der Messstrecke zurückgerechneten Geschwindigkeit in km/h.
Tab Geschw.Messung: Sofern der Zug auf dem Startpunkt der Messstrecke steht, kann mit Klick auf "Starten" die Messung gestartet werden. Der Zug wird sich im Anschluss vor- und rückwärts auf der Messstrecke bewegen, die Zeit zwischen der Überfahrt der Reedkontakte wird dabei gemessen. Falls die Checkbox "rückwärts vorsichtig prüfen" gecheckt ist, wird die Geschwindigkeit bei Rückwärtsfahrt gecapped, so dass der Zug nicht entgleist.
Tab Bemerkung: Hier können Informationen zu Wagen, dem letzten Reinigungsdatum und sonstige Bemerkungen erfasst werden.
Definiert in Zeile 153 der Datei cFensterLok.h.
cFensterLok::cFensterLok | ( | QWidget * | parent, |
cIntelligenz * | Intelligenztmp, | ||
int | trainid = 0 |
||
) |
Initialisiert das Fenster und startet mit Zug trainid. Ist trainid=0, so wird der alphabetisch erste Zug verwendet.
cFensterLok::~cFensterLok | ( | ) |
Entfernt das Fenster.
void cFensterLok::AndererDatensatz | ( | int | trainidtmp | ) |
Wechselt Darstellung auf den Zug mit der Nummer trainid.
int cFensterLok::befuelleComboLok | ( | int | trainidtmp | ) |
Befuellt die ComboBox fuer die Zugauswahl. Sollte trainidtmp gefunden werden, so wird trainidtmp zurueckgeliefert. Falls nicht, so wird die id vom ersten Eintrag der ComboBox zurueckgeliefert.
void cFensterLok::cDebug | ( | int | prioritaet, |
const QString & | meldung | ||
) | [private] |
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. Der Klasse ist die Log-Datei log.cFensterLok zugeordnet.
void cFensterLok::SlotButtonCancel | ( | ) | [slot] |
Aenderungen am aktuellen Datensatz zuruecknehmen.
void cFensterLok::SlotButtonGeschwindigkeitsmessung | ( | ) | [slot] |
Automatische Geschwindigkeitsmessung starten.
void cFensterLok::SlotButtonGeschwindigkeitsmessungAbbrechen | ( | ) | [slot] |
Automatische Geschwindigkeitsmessung abbrechen.
void cFensterLok::SlotButtonOk | ( | ) | [slot] |
Fenster schliessen, evtl. Button umbenennen.
void cFensterLok::SlotGeschwindigkeitsmeldung | ( | int | messid, |
int | gesamtmess, | ||
int | reglertempo, | ||
int | kmhtempo, | ||
int | rich | ||
) | [slot] |
Slot fuer Statusmeldungen bzgl. der Geschwindigkeitsmessung.
void cFensterLok::SlotLokAnzeigen | ( | void | ) | [slot] |
Zeigt die ausgewaehlte Lok an.
void cFensterLok::SlotLokAufsetzen | ( | void | ) | [slot] |
Oeffnet ein Fenster zum Aufsetzen des Zugs (falls sie noch nicht auf der Anlage steht)
void cFensterLok::SlotLokAufsetzenSchliessen | ( | void | ) | [slot] |
Wird aufgerufen, wenn das Aufsetzen-Fenster geschlossen wird.
void cFensterLok::SlotLokLoeschen | ( | ) | [slot] |
Entfernt eine Lok von der Anlage/und der Datenbank.
void cFensterLok::SlotLokRunternehmen | ( | void | ) | [slot] |
Fragt, ob der aktuelle Zug von der Anlage genommen werden soll.
void cFensterLok::SlotNeueLokAuswahl | ( | int | CBid | ) | [slot] |
Eine neue Lok (in der Combo-Box an Stelle CBid) wird ausgewaehlt und soll dargestellt werden.
void cFensterLok::SlotNeueTrainAuswahl | ( | int | CBid | ) | [slot] |
Eine neuer Zug (in der Combo-Box an Stelle CBid) wird ausgewaehlt und soll dargestellt werden.
void cFensterLok::SlotPunktMoved | ( | int | sigg, |
int | x, | ||
int | y | ||
) | [slot] |
Registriert Bewegung eines Geschwindigkeitspunktes.
void cFensterLok::SlotUpdate | ( | int | trainidtmp | ) | [slot] |
Verarbeitet eine Aenderung des Zugs mit der ID trainidtmp (d.h. Listen werden erneuert und evtl. Werte aus der Datenbank nachgeladen.
QString cFensterLok::ArtNummer [private] |
Artikelnummer.
Definiert in Zeile 206 der Datei cFensterLok.h.
Q3Canvas* cFensterLok::canvas [private] |
Canvas fuer Geschwindigkeitseinstellung.
Definiert in Zeile 210 der Datei cFensterLok.h.
CanvasView fuer Darstellung des Canvas.
Definiert in Zeile 212 der Datei cFensterLok.h.
bool cFensterLok::ComboLokUpdate [private] |
relevante Aenderung, damit ComboLok neu befuellt wird?
Definiert in Zeile 236 der Datei cFensterLok.h.
QColor cFensterLok::farbeRueckwaerts [private] |
Farbe fuer Geschwindigkeitsprofile (werden aus Konfig-Datei geladen: measure/farbeRueckwaerts)
Definiert in Zeile 202 der Datei cFensterLok.h.
QColor cFensterLok::farbeVorwaerts [private] |
Farbe fuer Geschwindigkeitsprofile (werden aus Konfig-Datei geladen: measure/farbeVorwaerts)
Definiert in Zeile 200 der Datei cFensterLok.h.
int cFensterLok::firsttrainid [private] |
Definiert in Zeile 214 der Datei cFensterLok.h.
Q3CanvasLine* cFensterLok::GeschwindigkeitsLinie[8] [private] |
Linien.
Definiert in Zeile 242 der Datei cFensterLok.h.
cKoordinatensystemPunkt* cFensterLok::GeschwindigkeitsPunkt[10] [private] |
Regelbare Geschwindigkeitspunkte.
Definiert in Zeile 238 der Datei cFensterLok.h.
cIntelligenz* cFensterLok::Intelligenz [private] |
Pointer auf die Fahrsteuerungsroutinen-Klasse.
Definiert in Zeile 216 der Datei cFensterLok.h.
int cFensterLok::kmhfast [private] |
Schnelle Mikrokontrollereinstellung speedfast entspricht kmhfast Kilometern pro Stunde.
Definiert in Zeile 228 der Datei cFensterLok.h.
int cFensterLok::kmhmod [private] |
Mittlere Mikrokontrollereinstellung speedmod entspricht kmhmod Kilometern pro Stunde.
Definiert in Zeile 224 der Datei cFensterLok.h.
int cFensterLok::kmhslow [private] |
Langsame Mikrokontrollereinstellung speedslow entspricht kmhslow Kilometern pro Stunde.
Definiert in Zeile 220 der Datei cFensterLok.h.
cFensterLokAufsetzen* cFensterLok::LokAufsetzen [private] |
Zeiger auf das Aufsetzen-Fenster.
Definiert in Zeile 234 der Datei cFensterLok.h.
cKoordinatensystemPunkt* cFensterLok::Messpunkt[40] [private] |
Beobachtete Messpunkte.
Definiert in Zeile 240 der Datei cFensterLok.h.
QPixmap cFensterLok::PixmapLabelLokbildscaled [private] |
Bild der Lok.
Definiert in Zeile 244 der Datei cFensterLok.h.
QPixmap* cFensterLok::PixmapLokbildklein [private] |
Kleines Bild bei der Lokauswahl.
Definiert in Zeile 204 der Datei cFensterLok.h.
int cFensterLok::speedfast [private] |
Schnelle Mikrokontrollereinstellung speedfast entspricht kmhfast Kilometern pro Stunde.
Definiert in Zeile 226 der Datei cFensterLok.h.
int cFensterLok::speedmax [private] |
Maximalgeschwindigkeit.
Definiert in Zeile 232 der Datei cFensterLok.h.
int cFensterLok::speedmin [private] |
Minimalgeschwindigkeit.
Definiert in Zeile 230 der Datei cFensterLok.h.
int cFensterLok::speedmod [private] |
Mittlere Mikrokontrollereinstellung speedmod entspricht kmhmod Kilometern pro Stunde.
Definiert in Zeile 222 der Datei cFensterLok.h.
int cFensterLok::speedslow [private] |
Langsame Mikrokontrollereinstellung speedslow entspricht kmhslow Kilometern pro Stunde.
Definiert in Zeile 218 der Datei cFensterLok.h.
int cFensterLok::trainid [private] |
Aktuell dargestellter Zug.
Definiert in Zeile 214 der Datei cFensterLok.h.
QString cFensterLok::traintext [private] |
Beschreibung.
Definiert in Zeile 208 der Datei cFensterLok.h.