Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 93 lines (71 sloc) 3.01 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
/*
* vehicule.h
* Copyright (C) 2011 Nicolas Martin, Université de Montréal
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef VEHICULE_H
#define VEHICULE_H

#include <QObject>
#include <QDateTime>
#include <QVariant>
#include <QStringList>
#include <QPixmap>

class VehiculeModel;

class Vehicule : public QObject
{
    Q_OBJECT
public:
    enum Colonnes { COL_ID, COL_MARQUE, COL_MODELE, COL_COULEUR, COL_DESCRIPTION, COL_PHOTO, COL_INFO };

    explicit Vehicule(qint64 id,QString marque,QString modele,QString couleur,QString description,QPixmap photo, QObject *parent=0);

    virtual QVariant field(uint column, int role) const;
    //virtual bool changeField(uint column, QVariant value);

    qint64 getId() const { return id; }

    QString getMarque() const { return marque; }
    //void setMarque(const QString &marque) { if (!marque.isNull()) this->marque = marque; }

    QString getModele() const { return modele; }
    //void setModele(const QString &modele) { if (!modele.isNull()) this->modele = modele; }

    QString getCouleur() const { return couleur; }
    //void setCouleur(const QString &couleur) { if (!couleur.isNull()) this->couleur = couleur; }

    QString getDescription() const { return description; }
    //void setDescription(const QString &description) { if (!description.isNull()) this->description = description; }

    QPixmap getPhoto() const { return photo; }
    //void setPhoto(const QPixmap &photo) { if (!photo.isNull()) this->photo = photo; }

    QString getName() const;

    static uint headerCount();
    static QVariant header(uint column);

private:
    qint64 id;

signals:

public slots:

protected:
    QString marque;
    QString modele;
    QString couleur;
    QString description;
    QPixmap photo;
    qint64 photoCache;
    static QStringList& headers();

private:
    friend QDataStream& operator<<(QDataStream& ds, const Vehicule &pos);
    friend QDataStream& operator>>(QDataStream& ds, Vehicule &pos);
    friend QDataStream& operator<<(QDataStream& ds, const VehiculeModel &pos);
    friend QDataStream& operator>>(QDataStream& ds, VehiculeModel &pos);
    //pour le déserialisateur seulement ...
    Vehicule(QObject *parent=0) : QObject(parent) {}
    Vehicule(const Vehicule &n);
};

QDataStream& operator<<(QDataStream& ds, const Vehicule &pos);
QDataStream& operator>>(QDataStream& ds, Vehicule &pos);

#endif // VEHICULE_H
Something went wrong with that request. Please try again.