00001 #ifndef JOBPROPERTYITEMNODES_H 00002 #define JOBPROPERTYITEMNODES_H 00003 00010 #include "jobpropertyitem.h" 00011 00012 class JobPropertyItemNode; 00013 00019 class JobPropertyItemNodes: public JobPropertyItem 00020 { 00021 Q_OBJECT 00022 public: 00023 JobPropertyItemNodes(JobPropertyModel * model, JobPropertyItem *parent = 0); 00024 virtual ~JobPropertyItemNodes(); 00025 00026 virtual bool setData(int column, const QVariant &value); 00027 virtual void createCustomContextMenu(QWidget *parent, const QPoint & pos); 00028 virtual QWidget *createEditor(QWidget *parent, const QObject *target, const char *receiver) const; 00029 virtual void updateEditorContents(QWidget *editor); 00030 virtual void updateValue(QWidget *editor); 00031 virtual QString toString(); 00032 virtual bool deleteChild(int row); 00033 virtual void addNode(); 00034 virtual void update(); 00035 00036 public slots: 00037 void set(const QString & nodes); 00038 void onChildChanged(); 00039 00040 signals: 00044 void itemChanged(const QString & nodes); 00045 00046 private: 00047 QString _nodes; 00048 }; 00049 00050 00056 class JobPropertyItemNode: public JobPropertyItem 00057 { 00058 Q_OBJECT 00059 public: 00060 JobPropertyItemNode(JobPropertyModel * model,JobPropertyItemNodes *parent = 0); 00061 virtual ~JobPropertyItemNode(); 00062 00063 virtual bool setData(int column, const QVariant &value); 00064 virtual void createCustomContextMenu(QWidget *parent, const QPoint & pos); 00065 virtual QWidget *createEditor(QWidget *parent, const QObject *target, const char *receiver) const; 00066 virtual void updateEditorContents(QWidget *editor); 00067 virtual void updateValue(QWidget *editor); 00068 virtual QString toString(); 00069 virtual void update(); 00070 virtual bool deleteChild(int row); 00071 00072 public slots: 00073 void set(const QString & node); 00074 void onChildChanged(const QString & str); 00075 00076 signals: 00080 void itemChanged(); 00081 00082 private: 00083 QString _node; 00084 }; 00085 00091 class JobPropertyItemNodeProperty: public JobPropertyItem 00092 { 00093 Q_OBJECT 00094 public: 00095 JobPropertyItemNodeProperty(JobPropertyModel * model,JobPropertyItemNode *parent = 0); 00096 virtual ~JobPropertyItemNodeProperty(); 00097 00098 virtual bool setData(int column, const QVariant &value); 00099 virtual void createCustomContextMenu(QWidget *parent, const QPoint & pos); 00100 virtual QWidget *createEditor(QWidget *parent, const QObject *target, const char *receiver) const; 00101 virtual void updateEditorContents(QWidget *editor); 00102 virtual void updateValue(QWidget *editor); 00103 QString toString(); 00104 00105 public slots: 00106 void set(const QString & property); 00107 00108 signals: 00112 void itemChanged(const QString &); 00113 }; 00114 00115 00116 #endif // JOBPROPERTYITEMNODES_H