00001 #ifndef JMBASE_H
00002 #define JMBASE_H
00003
00004 #include <QObject>
00005 #include <QString>
00006 #include <QHash>
00007 #include <QWidget>
00008
00009 class JmJob : public QObject
00010 {
00011 Q_OBJECT
00012 private:
00013 QString m_id;
00014 QString m_state;
00015 QString m_name;
00016 public:
00017 JmJob();
00018 virtual ~JmJob();
00019
00020 void setId(QString id);
00021 QString id();
00022
00023 void setState(QString state);
00024 QString state();
00025
00026 void setName(QString name);
00027 QString name();
00028 };
00029
00030 class JmJobList : public QObject
00031 {
00032 Q_OBJECT
00033 private:
00034 QString m_name;
00035 QString m_filename;
00036 QList<JmJob*> m_jobs;
00037 QHash<QString, JmJob*> m_jobDict;
00038 public:
00039 JmJobList();
00040 virtual ~JmJobList();
00041
00042 void clear();
00043 void add(JmJob* job);
00044 void add(QString id, QString name, QString state);
00045 int count();
00046
00047 JmJob* at(int idx);
00048 JmJob* fromJobId(QString id);
00049
00050 void setName(QString name);
00051 QString name();
00052
00053 void setFilename(QString filename);
00054 QString filename();
00055
00056 int stateCount(QString state);
00057 };
00058
00059 class JmJobListDisplay : public QWidget
00060 {
00061 Q_OBJECT
00062 private:
00063 JmJobList* m_jobList;
00064 public:
00065 JmJobListDisplay(QWidget *parent = 0);
00066
00067 void setJobList(JmJobList* jobList);
00068
00069 public Q_SLOTS:
00070
00071 protected:
00072 void paintEvent(QPaintEvent *event);
00073 void resizeEvent(QResizeEvent *event);
00074 };
00075
00076 #endif // JMBASE_H