diff options
| author | 2014-12-06 17:33:25 -0500 | |
|---|---|---|
| committer | 2014-12-06 17:33:25 -0500 | |
| commit | 7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch) | |
| tree | a35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreeview.h | |
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreeview.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreeview.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreeview.h b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreeview.h new file mode 100644 index 0000000..3ec33b4 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreeview.h @@ -0,0 +1,57 @@ +#ifndef DBTREEVIEW_H +#define DBTREEVIEW_H + +#include "dbtree.h" +#include "guiSQLiteStudio_global.h" +#include <QTreeView> +#include <QList> +#include <QUrl> + +class QMenu; +class QStandardItemModel; +class DbTreeItemDelegate; + +class GUI_API_EXPORT DbTreeView : public QTreeView +{ + Q_OBJECT + public: + explicit DbTreeView(QWidget *parent = 0); + ~DbTreeView(); + + void setDbTree(DbTree* dbTree); + DbTree* getDbTree() const; + + DbTreeItem *currentItem(); + DbTreeItem *itemAt(const QPoint& pos); + QList<DbTreeItem *> selectionItems(); + DbTreeModel *model() const; + DbTreeItem *getItemForAction(bool onlySelected = false) const; + QPoint getLastDropPosition() const; + QModelIndexList getSelectedIndexes() const; + + protected: + void dragEnterEvent(QDragEnterEvent* e); + void dragMoveEvent(QDragMoveEvent *event); + void mouseDoubleClickEvent(QMouseEvent* event); + void dropEvent(QDropEvent*e); + + private: + bool handleDoubleClick(DbTreeItem* item); + bool handleDbDoubleClick(DbTreeItem* item); + bool handleTableDoubleClick(DbTreeItem* item); + bool handleIndexDoubleClick(DbTreeItem* item); + bool handleTriggerDoubleClick(DbTreeItem* item); + bool handleViewDoubleClick(DbTreeItem* item); + bool handleColumnDoubleClick(DbTreeItem* item); + + QMenu* contextMenu = nullptr; + DbTree* dbTree = nullptr; + DbTreeItemDelegate* itemDelegate = nullptr; + QPoint lastDropPosition; + + private slots: + void showMenu(const QPoint &pos); + void updateItemHidden(DbTreeItem* item); +}; + +#endif // DBTREEVIEW_H |
