00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KPROPERTY_PROPERTYEDITORITEM_H
00023 #define KPROPERTY_PROPERTYEDITORITEM_H
00024
00025 #include "koproperty_global.h"
00026 #include <k3listview.h>
00027
00028 #define KPROPEDITOR_ITEM_MARGIN 2
00029 #define KPROPEDITOR_ITEM_BORDER_COLOR QColor(200,200,200)
00030
00031 template<class U> class Q3AsciiDict;
00032 class QLabel;
00033
00034 namespace KoProperty {
00035
00036 class EditorItemPrivate;
00037 class Property;
00038 class Editor;
00039 class GroupWidget;
00040 class QListViewItem;
00041
00048 class EditorItem : public K3ListViewItem
00049 {
00050 public:
00051 typedef Q3AsciiDict<EditorItem> Dict;
00052
00056 EditorItem(Editor *editor, EditorItem *parent, Property *property,
00057 Q3ListViewItem *after=0);
00058
00060 EditorItem(K3ListView *parent);
00061 EditorItem(EditorItem *parent, const QString &text);
00062 EditorItem(EditorItem *parent, EditorItem *after, const QString &text);
00063
00064 virtual ~EditorItem();
00065
00067 Property* property();
00068
00069 protected:
00073 virtual void paintCell(QPainter *p, const QColorGroup & cg, int column, int width, int align);
00074
00078 virtual void paintBranches(QPainter *p, const QColorGroup &cg, int w, int y, int h);
00079
00080 virtual void paintFocus(QPainter * p, const QColorGroup & cg, const QRect & r);
00081
00082 virtual int compare( Q3ListViewItem *i, int col, bool ascending ) const;
00083
00084 virtual void setHeight( int height );
00085
00086 protected:
00087 EditorItemPrivate *d;
00088 };
00089
00091 class EditorGroupItem : public EditorItem
00092 {
00093 public:
00094 EditorGroupItem(EditorItem *parent, EditorItem *after, const QString &text,
00095 const QString &icon, int sortOrder);
00096 EditorGroupItem(EditorItem *parent, const QString &text,
00097 const QString &icon, int sortOrder);
00098 virtual ~EditorGroupItem();
00099
00100
00101 QWidget* label() const;
00102
00103 protected:
00104 virtual void init(const QString &icon);
00105
00107 virtual void paintCell(QPainter *p, const QColorGroup & cg, int column, int width, int align);
00108 virtual void setup();
00109 virtual int compare( Q3ListViewItem *i, int col, bool ascending ) const;
00110
00111 GroupWidget *m_label;
00112 int m_sortOrder;
00113 };
00114
00116 class EditorDummyItem : public EditorItem
00117 {
00118 public:
00119 EditorDummyItem(K3ListView *parent);
00120 virtual ~EditorDummyItem();
00121
00122 protected:
00123 virtual void setup();
00124
00125
00126 };
00127
00128 }
00129
00130 #endif