Files
Renderive/Widget/component/Table/global.h
T
2026-08-01 20:09:45 +08:00

54 lines
1.4 KiB
C++

#pragma once
#include <QApplication>
#include <QColor>
#include <QDebug>
#include <QScrollBar>
#include <QString>
#include <QTextEdit>
#include <QWidget>
#include <iostream>
#include <optional>
#include <utility>
namespace Flex_Qt {
struct Base_Table_Data;
struct Base_Info;
struct Row_Info;
struct Col_Info;
class Table_View;
struct Cell_Info {
int col_idx, row_idx;
int sw, sh;
};
struct Pos {
int index; // 头的索引
int cell_pos; // index位置的块 头的绝对位置
int offset; // 相对于块头的偏移
[[nodiscard]] int pos() const {
return cell_pos + offset;
}
Pos(int index, int cell_pos, int offset) : index(index), cell_pos(cell_pos), offset(offset) {}
bool operator==(const Pos& p) const {
return p.cell_pos == cell_pos && index == p.index && offset == p.offset;
}
bool operator!=(const Pos& pos) const {
return !operator==(pos);
}
QString to_string() const {
return QString("index:%1 pos:%2 offset:%3").arg(index).arg(cell_pos).arg(offset);
}
};
struct Find_Ret {
int col_index;
int row_index;
QString to_string() const {
return QString("Find_Ret(%1, %2)").arg(col_index).arg(row_index);
}
};
// 纯虚函数
enum class Edge_Expand_Type {
Positive, // 顺着坐标轴方向拓展
Negative, // 逆着坐标轴方向拓展
None // 不进行边缘拓展
};
}