Vuo 2.4.4
Loading...
Searching...
No Matches
VuoNodeClassList.hh
Go to the documentation of this file.
1
10#pragma once
11
14class VuoNodeClass;
15class VuoRendererNode;
16
20class VuoNodeClassList : public QListWidget
21{
22 Q_OBJECT
23
24public:
25 explicit VuoNodeClassList(QWidget *parent=0);
27 void setFilterText(QString filterText);
28 void enablePopovers();
30 VuoCompilerNodeClass * getNodeClassForItem(QListWidgetItem *item);
31 void disablePopovers();
33 static void populateContextMenuForNodeClass(QMenu *contextMenu, VuoCompilerNodeClass *nodeClass);
34
35signals:
36 void componentsAdded(QList<QGraphicsItem *> addedComponents, VuoEditorComposition *target);
38 void nodeClassListHeightChanged(int newHeight);
39
40protected slots:
41 void addDoubleClickedNode(QListWidgetItem *nodeClass);
42 void displayPopoverForItem(QListWidgetItem *targetNodeClassItem);
43
44protected:
45 void keyPressEvent(QKeyEvent *event);
46 void mousePressEvent(QMouseEvent *event);
47 void mouseReleaseEvent(QMouseEvent *event);
48 void wheelEvent(QWheelEvent * event);
49 void contextMenuEvent(QContextMenuEvent * event);
50
51private:
52 void startDrag(Qt::DropActions supportedActions);
53 VuoRendererNode * createSelectedNode(QListWidgetItem *nodeClass, string title="", double x=0, double y=0);
54 QListWidgetItem * getItemAtGlobalPos(QPoint globalPos);
55 bool popoversEnabled;
56};