qrailway 0.9

cSignal.h

gehe zur Dokumentation dieser Datei
00001 #ifndef CSIGNAL_H
00002 #define CSIGNAL_H
00003 
00004 #include "cConstants.h"
00005 #include "ui_qrailwayMainWindow.h"
00006 #include <QSqlQuery>
00007 #include <QDateTime>
00008 #include <QFile>
00009 #include <QTextStream>
00010 #include <QSettings>
00011 #include <QGraphicsItem>
00012 #include <QtGui>
00013 
00015 
00016 class cSignal : public QObject, public QGraphicsItem
00017 {
00018   Q_OBJECT
00019 public:
00021   cSignal(int sigidtmp,QString sigtexttmp,bool antmp,bool blinktmp,double xtmp,double ytmp,QString farbetmp,int groessetmp);
00023   ~cSignal(void);
00025   void cDebug(int prioritaet,const QString & meldung);
00027   void save(void);
00029   void setStatus(bool antemp,bool blinktemp=FALSE);
00031   int getStatus(void);
00033   bool istRot(void) { if (farbe==farbeRot) return(TRUE); return(FALSE); };
00035   void adjustShape(void);
00037   void setxy(double xtemp,double ytemp);
00039   double getx(void);
00041   double gety(void);
00043     int type() const
00044     {
00045         if ((anklickbar)&&(groesse>0)) return (signalssignalsStart+sigid);  
00046         return(signalsminimum); 
00047     };
00049   int getid(void) { return sigid; };
00051   int getAdresse(void) { return adresse; };
00053   int getSubAdresse(void) { return subadresse; };
00055   void setHardware(int tempAdresse,int tempSubadresse); 
00057   void setDisplayInfo(bool displayInfo); 
00059   QRectF boundingRect() const;
00061   void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *);
00063   void updateHardware(void) { emit SignalSignalChanged(sigid,getStatus()); };
00064 public slots:
00066   void SlotSignalRegel(int ruleid,bool status);
00067 signals:
00069   void SignalSignalChanged(int,int);
00071   void SignalSignalUpdate(void);
00072 private:
00074   QString sigtext;
00076   QGraphicsScene *MeinCanvas;
00078   QGraphicsTextItem *TextOben;
00080   QGraphicsTextItem *TextUnten;
00082   bool an;
00084   bool blink;
00086   int sigid;
00088   int adresse,subadresse;
00090   bool anklickbar;
00092   bool regel[maxRegel];
00094   QColor farbe;
00096   QColor farbeRot;
00098   QColor farbeGruen;
00100   QColor farbeWeiss;
00102   QColor farbeGelb;
00104   QColor myColor;
00106   double groesse;
00108   double groesseBeschriftung;
00110   double mySize;
00112   double myX;
00114   double myY;
00116   double myZ;
00118   QGradient *myGradient;
00119 };
00120 
00121 #include "cSektion.h"
00122 
00123 #endif // CSIGNAL_H