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