//Copyright (C) 2006 Dominic Letourneau (Dominic.Letourneau@USherbrooke.ca)
#ifndef _QTNODETREEVIEW_H_
#define _QTNODETREEVIEW_H_
#include <QTreeWidget>
#include "UINodeRepository.h"
#include <vector>
#include <string>
#include <QtGui/QtGui>
namespace FD
{
class QtNodeTreeView : public QTreeWidget
{
Q_OBJECT
public:
QtNodeTreeView(QWidget *parent = NULL);
protected:
void scanNodeRepository();
std::vector<std::string> extractCategory(const std::string &category);
void insert(const QTreeWidgetItem* root, const std::vector<std::string> &path, int level);
//Drag & Drop
void dragEnterEvent(QDragEnterEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dropEvent(QDropEvent *event);
virtual QStringList mimeTypes () const;
virtual Qt::DropActions supportedDropActions () const;
virtual bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action);
//Mouse events
void mouseMoveEvent(QMouseEvent *event);
//Root ITEM
QTreeWidgetItem *m_root;
};
} //namespace FD
#endif
syntax highlighted by Code2HTML, v. 0.9.1