Files
Renderive/YSGraphic_Core/component/Tree/Tree_View.h
T
2026-07-23 18:11:07 +08:00

39 lines
991 B
C++

#pragma once
#include <QEvent>
#include <QFont>
#include <QPen>
#include <QWidget>
#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_ScrollBar v_bar;
H_ScrollBar h_bar;
enum Drag_Type {
H_scrollBar,
V_scrollBar
} drag_type{};
bool isDragging = 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();
}