qrailway 0.9

cFensterLok.h

gehe zur Dokumentation dieser Datei
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"