Aller à la documentation de ce fichier.00001 #ifndef AUTEUR_H
00002 #define AUTEUR_H
00003
00004 #include "modele.h"
00005
00006
00007 class Auteur : public Modele
00008 {
00009 public:
00010 Auteur();
00011 Auteur(int id);
00012
00013 static bool creer(const QString &name);
00014
00015 virtual bool creer();
00016 virtual bool modifier() const;
00017 virtual bool supprimer();
00018
00019
00020 static QList< Datas >* liste(const QString &lettre, int page, int nbr);
00021 static int nbrAuteurs(const QString &lettre);
00022
00023 static QList< Datas >* listeFromAuteur(int page, int nbr, int auteurId);
00024 static int nbrFromAuteur(int auteurId);
00025
00027 static QList< QPair<int, QString> > listeNoms();
00028
00031 void charger(int id);
00033 int use();
00034
00035 QString name() const { return m_name; }
00036 void setName(const QString &name) { m_name = name; }
00037
00038 protected:
00039 QString m_name;
00040 };
00041
00042 struct NewAuteurJoint{
00043 QString type;
00044 int auteur;
00045 int album;
00046
00047 NewAuteurJoint() : type("unknown"), auteur(0), album(0) {}
00048
00049 bool operator==(const NewAuteurJoint &joint) const {
00050 if( type == joint.type && auteur == joint.auteur && album == joint.album )
00051 return true;
00052 return false;
00053 }
00054 };
00055
00056 class AuteurJoint
00057 {
00058 public:
00059 AuteurJoint();
00060
00061 static bool creer(QString type, int idAuteur, int idAlbum);
00062 static bool creer(NewAuteurJoint newAJ);
00063 static QList<AuteurJoint> listeOfAlbum(int idAlbum);
00064
00065 bool supprimer() const;
00066 bool modifier();
00067
00069 bool est(QString type, int idAuteur, int idAlbum) const;
00071 bool est(NewAuteurJoint newAJ) const;
00072
00073 const Auteur &auteur() const { return m_auteur; }
00074 QString type() const { return m_type; }
00075 int idAlbum() const { return m_idAlbum; }
00076
00077 void setAuteur( int idAuteur );
00078 void setType(QString type);
00079
00080 private:
00081 QString m_type;
00082 Auteur m_auteur;
00083 int m_idAlbum;
00084
00085
00086
00087 QString m_old_type;
00088 int m_old_auteurId;
00089 };
00090
00091 #endif // AUTEUR_H