Aller à la documentation de ce fichier.00001
00002
00003
00004 #ifndef VIEW_INTERFACE
00005 #define VIEW_INTERFACE
00006
00007
00008 #include <QSortFilterProxyModel>
00009 #include <QTableView>
00010 #include <QString>
00011 #include <QList>
00012 #include "../../tablemodel/tablemodel.h"
00013 #include "../../../datasformat.h"
00014
00015 #include "../../../modele/livre.h"
00016 #include "../../../modele/serie.h"
00017 #include "../../../modele/editeur.h"
00018 #include "../../../modele/auteur.h"
00019 #include "../../../modele/book.h"
00020
00021 #include "../../../globale.h"
00022
00024 class ViewInterface
00025 {
00026 public:
00027 ViewInterface() {}
00028 virtual ~ViewInterface() {}
00030 virtual int NbrItems(const QString &lettre) =0;
00031 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee) =0;
00032 virtual void configureView(QSortFilterProxyModel*,QTableView*) =0;
00033 virtual int columnToView(const int &column) =0;
00035 virtual bool lettreVisible() { return true; }
00036 virtual bool nbrVisible() { return true; }
00037 };
00038
00039
00040
00041
00043 class AlbumsInterface : public ViewInterface
00044 {
00045 public:
00046 AlbumsInterface() : ViewInterface() {}
00047 virtual ~AlbumsInterface() {}
00048 virtual int NbrItems(const QString &lettre);
00049 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00050 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00051 virtual int columnToView(const int &column);
00052 };
00053
00055 class AuteursInterface : public ViewInterface
00056 {
00057 public:
00058 AuteursInterface() : ViewInterface() {}
00059 virtual ~AuteursInterface() {}
00060 virtual int NbrItems(const QString &lettre);
00061 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00062 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00063 virtual int columnToView(const int &column);
00064 };
00065
00067 class EditeursInterface : public ViewInterface
00068 {
00069 public:
00070 EditeursInterface() : ViewInterface() {}
00071 virtual ~EditeursInterface() {}
00072 virtual int NbrItems(const QString &lettre);
00073 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00074 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00075 virtual int columnToView(const int &column);
00076 };
00077
00079 class SeriesInterface : public ViewInterface
00080 {
00081 public:
00082 SeriesInterface() : ViewInterface() {}
00083 virtual ~SeriesInterface() {}
00084 virtual int NbrItems(const QString &lettre);
00085 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00086 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00087 virtual int columnToView(const int &column);
00088 };
00089
00091 class CotesInterface : public ViewInterface
00092 {
00093 public:
00094 CotesInterface() : ViewInterface() {}
00095 virtual ~CotesInterface() {}
00096 virtual int NbrItems(const QString &lettre);
00097 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00098 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00099 virtual int columnToView(const int &column);
00100 };
00101
00103 class SerieInterface : public ViewInterface
00104 {
00105 public:
00106 SerieInterface(const int &id) : ViewInterface() { m_id = id ;}
00107 virtual ~SerieInterface() {}
00108 virtual int NbrItems(const QString &lettre);
00109 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00110 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00111 virtual int columnToView(const int &column);
00112
00113 virtual bool lettreVisible() { return false; }
00114 virtual bool nbrVisible() { return false; }
00115
00116 protected:
00117 int m_id;
00118 };
00119
00121 class AuteurInterface : public ViewInterface
00122 {
00123 public:
00124 AuteurInterface(const int &id) : ViewInterface() { m_id = id ;}
00125 virtual ~AuteurInterface() {}
00126 virtual int NbrItems(const QString &lettre);
00127 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00128 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00129 virtual int columnToView(const int &column);
00130
00131 virtual bool lettreVisible() { return false; }
00132
00133 protected:
00134 int m_id;
00135 };
00136
00138 class EditeurInterface : public ViewInterface
00139 {
00140 public:
00141 EditeurInterface(const int &id) : ViewInterface() { m_id = id ;}
00142 virtual ~EditeurInterface() {}
00143 virtual int NbrItems(const QString &lettre);
00144 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00145 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00146 virtual int columnToView(const int &column);
00147
00148 virtual bool lettreVisible() { return false; }
00149
00150 protected:
00151 int m_id;
00152 };
00153
00155 class SearchInterface : public ViewInterface
00156 {
00157 public:
00158 SearchInterface(const SearchInfo &info) : ViewInterface() { m_info = info; }
00159 virtual ~SearchInterface() {}
00160 virtual int NbrItems(const QString &lettre);
00161 virtual TableModel* reloadPage(const QString &lettre,const int &page,const int &nbrDonnee);
00162 virtual void configureView(QSortFilterProxyModel*,QTableView*);
00163 virtual int columnToView(const int &column);
00164
00165 virtual bool lettreVisible() { return false; }
00166
00167
00168
00169 protected:
00170 SearchInfo m_info;
00171 };
00172
00173 #endif // VIEW_INTERFACE