21 #ifndef TULIPITEMDELEGATE_H 
   22 #define TULIPITEMDELEGATE_H 
   25 #include <QStyledItemDelegate> 
   27 #include <tulip/TulipItemEditorCreators.h> 
   28 #include <tulip/TulipMetaTypes.h> 
   32 class TLP_QT_SCOPE TulipItemDelegate : 
public QStyledItemDelegate {
 
   35   QMap<int,TulipItemEditorCreator*> _creators;
 
   37   QObject* _currentMonitoredChild;
 
   38   QComboBox* _currentMonitoredCombo;
 
   43   explicit TulipItemDelegate(QObject* parent=NULL);
 
   44   virtual ~TulipItemDelegate();
 
   47   void registerCreator(tlp::TulipItemEditorCreator*);
 
   49   void unregisterCreator(tlp::TulipItemEditorCreator*);
 
   52   void unregisterCreator();
 
   55   tlp::TulipItemEditorCreator* creator() 
const;
 
   57   tlp::TulipItemEditorCreator* creator(
int) 
const;
 
   59   QWidget* createEditor(QWidget* parent, 
const QStyleOptionViewItem& option, 
const QModelIndex& index) 
const;
 
   60   void paint(QPainter *painter, 
const QStyleOptionViewItem &option, 
const QModelIndex &index) 
const;
 
   61   QString displayText(
const QVariant &value, 
const QLocale &locale) 
const;
 
   62   void setEditorData(QWidget *editor, 
const QModelIndex &index) 
const;
 
   63   void setModelData(QWidget *editor, QAbstractItemModel *model, 
const QModelIndex &index) 
const;
 
   64   QSize sizeHint(
const QStyleOptionViewItem &option, 
const QModelIndex &index) 
const;
 
   66   bool eventFilter(QObject *
object, QEvent *event);
 
   69   void comboDataChanged();
 
   74 #include "cxx/TulipItemDelegate.cxx" 
   76 #endif // TULIPITEMDELEGATE_H