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