Electrosim  1.00
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Énumérations Valeurs énumérées
Electrosim/src/Includes/item.h
Aller à la documentation de ce fichier.
00001 /***********************************************************************
00002  * Module:  item.h
00003  * Author:  SALMON PAUL
00004  *          MONLOUIS Kevyn
00005  *          DUREUIL Brice
00006  * Modified: lundi 7 mai 2012 22:45:20
00007  * Purpose: Declaration of the class Item
00008  ***********************************************************************/
00009 
00010 #ifndef ITEM_H
00011 #define ITEM_H
00012 
00023 #include <QString>
00024 #include <QVector>
00025 #include <QObject>
00026 #include <QModelIndex>
00027 #include <QList>
00028 #include <QLine>
00029 #include <QVariant>
00030 
00041 class Item : public QObject
00042 {
00043     Q_OBJECT
00044 public:
00050     typedef struct {Item* sender; int output; Item* receiver; int input; int* value; } s_connect;
00051 
00057     enum Items { Input, Output, Not, Or, Xor, XNOr, And, Mux, Demux, Node };
00058 
00059 public:
00067     explicit Item(QObject *parent = 0);
00068 
00074     QString getName();
00075 
00081     QString getImage();
00082 
00088     Items getClass();
00089 
00095     int getAuxValue();
00096 
00102     QVector<s_connect *> getOutputs();
00103 
00109     QVector<s_connect *> getInputs();
00110 
00116     void setName(QString name);
00117 
00123     virtual void setAuxValue(int value);
00124 
00131      bool addNext(s_connect* conn);
00132 
00139      bool askForConnection(s_connect* conn);
00140 
00146      bool checkAllValueReceived();
00147 
00154      s_connect* deleteInput(int input);
00155 
00162      s_connect* deleteOutput(int output);
00163 
00164 protected :
00170     virtual bool _do() = 0;
00171 
00172 signals :
00179     void sendSignal();
00180 
00181 public slots:
00188      void recvSignal();
00189 
00190 protected :
00191     int aux; 
00192     Items classe; 
00193     QString name; 
00194     QString image; 
00195     QVector<s_connect *> outputs; 
00196     QVector<s_connect *> inputs; 
00198 private :
00199     bool deleted; 
00201 };
00202 
00203 #endif // ITEM_H