qrailway 0.9
|
00001 #ifndef CFENSTERLOK_H 00002 #define CFENSTERLOK_H 00003 00004 #include "cConstants.h" 00005 #include <qtabwidget.h> 00006 #include <qlabel.h> 00007 #include <qpixmap.h> 00008 #include <qsqlrecord.h> 00009 #include <qsqlquery.h> 00010 #include <q3sqlcursor.h> 00011 #include <qcombobox.h> 00012 #include <qlcdnumber.h> 00013 #include <qspinbox.h> 00014 #include <qlineedit.h> 00015 #include <qdial.h> 00016 #include <qcheckbox.h> 00017 #include <qtoolbutton.h> 00018 #include <qmatrix.h> 00019 #include <qmessagebox.h> 00020 #include <qdatetime.h> 00021 #include <q3canvas.h> 00022 #include <q3progressbar.h> 00023 #include <QSettings> 00024 #include <qcursor.h> 00025 #include <QMouseEvent> 00026 #include <QTimerEvent> 00027 #include <math.h> 00028 #include "ui_qrailwayLok.h" 00029 #include "cIntelligenz.h" 00030 #include "cFensterLokWizard.h" 00031 00032 class cFensterLokAufsetzen; 00033 00035 00038 class cKoordinatensystemGeschwindigkeit : public Q3CanvasView { 00039 Q_OBJECT 00040 public: 00042 cKoordinatensystemGeschwindigkeit(cIntelligenz * Intelligenztmp, Q3Canvas * canvas, QWidget * parent=0, const char * name = 0, Qt::WFlags f=0); 00044 ~cKoordinatensystemGeschwindigkeit(); 00045 00046 protected: 00048 void timerEvent( QTimerEvent *e ); 00050 void contentsMousePressEvent( QMouseEvent* e ); 00052 void contentsMouseReleaseEvent( QMouseEvent* e ); 00054 void contentsMouseMoveEvent( QMouseEvent* e ); 00055 00056 signals: 00058 void SignalPunktMoved(int,int,int); 00060 void SignalPunktMovedFinished(int); 00062 void message(const QString &); 00063 00064 private: 00066 int nr; 00068 int altx; 00070 int alty; 00072 bool bewegen; 00074 int timernummer; 00076 bool neueinformationen; 00078 cIntelligenz *Intelligenz; 00080 Q3CanvasLine *xachse; 00082 Q3CanvasLine *yachse; 00084 Q3CanvasLine *xticks[7]; 00086 Q3CanvasLine *yticks[16]; 00088 Q3CanvasText *xtext[7]; 00090 Q3CanvasText *ytext[16]; 00092 Q3CanvasText *xlabel; 00094 Q3CanvasText *ylabel; 00095 }; 00096 00098 00099 class cKoordinatensystemPunkt : public QObject, public Q3CanvasEllipse { 00100 Q_OBJECT 00101 public: 00103 cKoordinatensystemPunkt(int idtmp,Q3Canvas * canvas,QColor farbe); 00105 ~cKoordinatensystemPunkt(void); 00107 void settempos(int reglertempotmp,int kmhtempotmp); 00109 int getreglertempo(void) { return(reglertempo); }; 00111 int getkmhtempo(void) { return(kmhtempo); }; 00113 void setxyint(int xtemp,int ytemp); 00115 virtual int rtti(void) const { return (speedPointsStart+id); }; 00117 void adjustShape(void); 00118 private: 00120 Q3Canvas *MeinCanvas; 00122 int id; 00124 Q3CanvasLine *linieHorizontal; 00126 Q3CanvasLine *linieVertikal; 00128 int reglertempo; 00130 int kmhtempo; 00131 }; 00132 00133 00135 00153 class cFensterLok : public QDialog, public Ui::qrailwayLok 00154 { 00155 Q_OBJECT 00156 public: 00158 cFensterLok(QWidget* parent,cIntelligenz* Intelligenztmp,int trainid=0); 00160 ~cFensterLok(); 00162 void AndererDatensatz(int trainidtmp); 00164 int befuelleComboLok(int trainidtmp); 00165 00166 public slots: 00168 void SlotPunktMoved(int sigg,int x,int y); 00170 void SlotNeueLokAuswahl(int CBid); 00172 void SlotNeueTrainAuswahl(int CBid); 00174 void SlotLokLoeschen(); 00176 void SlotButtonCancel(); 00178 void SlotButtonOk(); 00180 void SlotButtonGeschwindigkeitsmessung(); 00182 void SlotButtonGeschwindigkeitsmessungAbbrechen(); 00184 void SlotGeschwindigkeitsmeldung(int messid,int gesamtmess,int reglertempo,int kmhtempo,int rich); 00186 void SlotUpdate(int trainidtmp); 00188 void SlotLokAufsetzen(void); 00190 void SlotLokAufsetzenSchliessen(void); 00192 void SlotLokRunternehmen(void); 00194 void SlotLokAnzeigen(void); 00195 private: 00197 void cDebug(int prioritaet,const QString & meldung); 00198 00200 QColor farbeVorwaerts; 00202 QColor farbeRueckwaerts; 00204 QPixmap *PixmapLokbildklein; 00206 QString ArtNummer; 00208 QString traintext; 00210 Q3Canvas *canvas; 00212 cKoordinatensystemGeschwindigkeit *canvasviewer; 00214 int trainid,firsttrainid; 00216 cIntelligenz* Intelligenz; 00218 int speedslow; 00220 int kmhslow; 00222 int speedmod; 00224 int kmhmod; 00226 int speedfast; 00228 int kmhfast; 00230 int speedmin; 00232 int speedmax; 00234 cFensterLokAufsetzen *LokAufsetzen; 00236 bool ComboLokUpdate; 00238 cKoordinatensystemPunkt* GeschwindigkeitsPunkt[10]; 00240 cKoordinatensystemPunkt* Messpunkt[40]; 00242 Q3CanvasLine* GeschwindigkeitsLinie[8]; 00244 QPixmap PixmapLabelLokbildscaled; 00245 }; 00246 00247 #endif // CFENSTERLOK_H 00248 00249 #include "cFensterLokAufsetzen.h"