#pragma once #include #include #include #include #include "../Table/scroll.h" namespace Psc { class Tree_Model; class Tree_View : public QWidget { public: Tree_Model* model{}; int left_margin = 30, right_margin = 30, top_margin = 30, bottom_margin = 30; QFont font; QPen pen; Tree_View(); QRect get_view_rect(); QPoint to_inside_pos(QPoint widget_pos); QPoint to_widget_pos(QPoint inside_pos); V_Scroll_Bar v_bar; H_Scroll_Bar h_bar; enum Drag_Type { H_scrollBar, V_scrollBar } drag_type{}; bool is_dragging = false; QPoint start_pos; QPoint save_pos; QPoint _view_pos = {0, 0}; protected: void paintEvent(QPaintEvent* event) override; bool event(QEvent* event) override; void mouse_event(QMouseEvent* event, QEvent::Type type); void resizeEvent(QResizeEvent* event) override; void wheelEvent(QWheelEvent* event) override; }; Tree_View* create_Tree_View(); } // namespace Psc