#pragma once #include class LayerTreeViewMenuProvider; class LayerTreeView : public QTreeView { public: explicit LayerTreeView(QWidget* parent = nullptr); ~LayerTreeView() override; void setMenuProvider(LayerTreeViewMenuProvider* provider); protected: void contextMenuEvent(QContextMenuEvent* event) override; private: LayerTreeViewMenuProvider* m_menuProvider = nullptr; // not owned };