命名规范
This commit is contained in:
@@ -0,0 +1,296 @@
|
||||
#pragma once
|
||||
#include "../Widget/component/Table/export.h"
|
||||
#include "../Renderive/base/Tool.h"
|
||||
namespace Psc {
|
||||
//
|
||||
// static QVector<QWidget*> cw(Table_View* view) {
|
||||
// QVector<QWidget*> ret;
|
||||
// ret.append({
|
||||
// renderive::create_edit_widget<int>("隐藏行", [view, m](const int& value) {
|
||||
// m->row_info_list[value]->hide = true;
|
||||
// view->update();
|
||||
// }, 1),
|
||||
// renderive::create_edit_widget<int>("显示行", [view, m](const int& value) {
|
||||
// m->row_info_list[value]->hide = false;
|
||||
// view->update();
|
||||
// }, 1),
|
||||
// renderive::create_edit_widget<int>("隐藏列", [view, m](const int& value) {
|
||||
// m->col_info_list[value]->hide = true;
|
||||
// view->update();
|
||||
// }, 1),
|
||||
// renderive::create_edit_widget<int>("显示列", [view, m](const int& value) {
|
||||
// m->col_info_list[value]->hide = false;
|
||||
// view->update();
|
||||
// }, 1),
|
||||
//
|
||||
//
|
||||
// renderive::create_edit_widget_list<int>("合并单元格", [view, m](const QVector<int>& values) {
|
||||
// int row = values[0];
|
||||
// int col = values[1];
|
||||
// int row_span = values[2];
|
||||
// int col_span = values[3];
|
||||
// m->merge(row, col, row_span, col_span);
|
||||
// view->update();
|
||||
// }, {4, 4, 4, 4}),
|
||||
// renderive::create_edit_widget_list<int>("拆分单元格", [view, m](const QVector<int>& values) {
|
||||
// int row = values[0];
|
||||
// int col = values[1];
|
||||
// int row_span = values[2];
|
||||
// int col_span = values[3];
|
||||
// m->split(row, col, row_span, col_span);
|
||||
// view->update();
|
||||
// }, {4, 4, 2, 4}),
|
||||
//
|
||||
// renderive::create_edit_widget_list<int>("添加行", [view, m](const QVector<int>& values) {
|
||||
// int pos = values[0];
|
||||
// int num = values[1];
|
||||
// int col_num = m->col_info_list.size();
|
||||
// QVector<Base_Table_Model::Row> row_infos;
|
||||
// for (int i = 0; i < num; i++)
|
||||
// {
|
||||
// auto info = std::make_shared<Row_Info>(10, "asdasdasd");
|
||||
// row_infos.append(info);
|
||||
// }
|
||||
// QVector<QVector<Base_Table_Model::Cell>> data;
|
||||
// for (int i = 0; i < num; i++)
|
||||
// {
|
||||
// QVector<Base_Table_Model::Cell> row;
|
||||
// for (int j = 0; j < col_num; j++)
|
||||
// {
|
||||
// auto cur = std::make_shared<Table_Data>();
|
||||
// cur->content = "2222";
|
||||
// row.append(cur);
|
||||
// }
|
||||
// data.append(row);
|
||||
// }
|
||||
//
|
||||
// m->insert_row(pos, row_infos, data);
|
||||
// view->update();
|
||||
// }, {4, 1}),
|
||||
//
|
||||
// renderive::create_edit_widget_list<int>("添加列", [view, m](const QVector<int>& values) {
|
||||
// int pos = values[0];
|
||||
// int num = values[1];
|
||||
// int row_num = m->row_info_list.size();
|
||||
// QVector<Base_Table_Model::Col> col_infos;
|
||||
// for (int i = 0; i < num; i++)
|
||||
// {
|
||||
// auto info = std::make_shared<Col_Info>(10, "asdasdasd");
|
||||
// col_infos.append(info);
|
||||
// }
|
||||
// QVector<QVector<Base_Table_Model::Cell>> data;
|
||||
// for (int i = 0; i < num; i++)
|
||||
// {
|
||||
// QVector<Base_Table_Model::Cell> col;
|
||||
// for (int j = 0; j < row_num; j++)
|
||||
// {
|
||||
// auto cur = std::make_shared<Table_Data>();
|
||||
// cur->content = "2222";
|
||||
// col.append(cur);
|
||||
// }
|
||||
// data.append(col);
|
||||
// }
|
||||
//
|
||||
// m->insert_col(pos, col_infos, data);
|
||||
// view->update();
|
||||
// }, {5, 1}),
|
||||
//
|
||||
// renderive::create_edit_widget_list<int>("重新设置所有行列内容", [view, m](const QVector<int>& values) {
|
||||
// for (int i = 0; i < m->total_col(); i++)
|
||||
// {
|
||||
// m->col_info_list[i]->content = QString("%1").arg(i);
|
||||
// }
|
||||
// for (int i = 0; i < m->total_row(); i++)
|
||||
// {
|
||||
// m->row_info_list[i]->content = QString("%1").arg(i);
|
||||
// }
|
||||
// for (int i = 0; i < m->total_row(); i++)
|
||||
// {
|
||||
//
|
||||
// for (int j = 0; j < m->total_col(); j++)
|
||||
// {
|
||||
// auto d = m->data[i][j];
|
||||
// d->content = QString("[%1,%2]").arg(i).arg(j);
|
||||
// }
|
||||
// }
|
||||
// view->update();
|
||||
// }, {}),
|
||||
// });
|
||||
//
|
||||
// return ret;
|
||||
// }
|
||||
static QVector<QWidget*> cw(Table_View* view) {
|
||||
QVector<QWidget*> ret;
|
||||
auto m = dynamic_cast<Memory_Table_Model*>(view->model);
|
||||
ret.append({
|
||||
renderive::create_edit_widget<int>("隐藏行", [view, m](const int& value) {
|
||||
m->get_row_info(value)->hide = true;
|
||||
view->update(); }, 1),
|
||||
renderive::create_edit_widget<int>("显示行", [view, m](const int& value) {
|
||||
m->get_row_info(value)->hide = false;
|
||||
view->update(); }, 1),
|
||||
renderive::create_edit_widget<int>("隐藏列", [view, m](const int& value) {
|
||||
m->get_col_info(value)->hide = true;
|
||||
view->update(); }, 1),
|
||||
renderive::create_edit_widget<int>("显示列", [view, m](const int& value) {
|
||||
m->get_col_info(value)->hide = false;
|
||||
view->update(); }, 1),
|
||||
renderive::create_edit_widget_list<int>("合并单元格", [view, m](const QVector<int>& values) {
|
||||
int row = values[0];
|
||||
int col = values[1];
|
||||
int row_span = values[2];
|
||||
int col_span = values[3];
|
||||
m->merge(row, col, row_span, col_span);
|
||||
view->update(); }, {4, 4, 4, 4}),
|
||||
renderive::create_edit_widget_list<int>("拆分单元格", [view, m](const QVector<int>& values) {
|
||||
int row = values[0];
|
||||
int col = values[1];
|
||||
int row_span = values[2];
|
||||
int col_span = values[3];
|
||||
m->split(row, col, row_span, col_span);
|
||||
view->update(); }, {4, 4, 2, 4}),
|
||||
renderive::create_edit_widget_list<int>("添加行", [view, m](const QVector<int>& values) {
|
||||
int pos = values[0];
|
||||
int num = values[1];
|
||||
int col_num = m->total_col();
|
||||
QVector<Row_Info*> row_infos;
|
||||
for (int i = 0; i < num; i++) {
|
||||
auto info = new Row_Info(10, "asdasdasd");
|
||||
row_infos.append(info);
|
||||
}
|
||||
QVector<QVector<Base_Table_Data*>> data;
|
||||
for (int i = 0; i < num; i++) {
|
||||
QVector<Base_Table_Data*> row;
|
||||
for (int j = 0; j < col_num; j++) {
|
||||
auto cur = new Table_Paint_Data("");
|
||||
cur->content = "2222";
|
||||
row.append(cur);
|
||||
}
|
||||
data.append(row);
|
||||
}
|
||||
m->insert_row(pos, row_infos, data, Edge_Expand_Type::None);
|
||||
view->update(); }, {4, 1}),
|
||||
renderive::create_edit_widget_list<int>("添加列", [view, m](const QVector<int>& values) {
|
||||
int pos = values[0];
|
||||
int num = values[1];
|
||||
int row_num = m->total_row();
|
||||
QVector<Col_Info*> col_infos;
|
||||
for (int i = 0; i < num; i++) {
|
||||
auto info = new Col_Info(10, "asdasdasd");
|
||||
col_infos.append(info);
|
||||
}
|
||||
QVector<QVector<Base_Table_Data*>> data;
|
||||
for (int i = 0; i < num; i++) {
|
||||
QVector<Base_Table_Data*> col;
|
||||
for (int j = 0; j < row_num; j++) {
|
||||
auto cur = new Table_Paint_Data("");
|
||||
cur->content = "2222";
|
||||
col.append(cur);
|
||||
}
|
||||
data.append(col);
|
||||
}
|
||||
m->insert_col(pos, col_infos, data, Edge_Expand_Type::None);
|
||||
view->update(); }, {5, 1}),
|
||||
renderive::create_edit_widget_list<int>("重新设置所有行列内容", [view, m](const QVector<int>& values) {
|
||||
for (int i = 0; i < m->total_col(); i++) {
|
||||
m->get_col_info(i)->content = QString("%1").arg(i);
|
||||
}
|
||||
for (int i = 0; i < m->total_row(); i++) {
|
||||
m->get_row_info(i)->content = QString("%1").arg(i);
|
||||
}
|
||||
for (int i = 0; i < m->total_row(); i++) {
|
||||
for (int j = 0; j < m->total_col(); j++) {
|
||||
auto d = (Table_Paint_Data*)m->get_table_data(i, j);
|
||||
d->content = QString("[%1,%2]").arg(i).arg(j);
|
||||
}
|
||||
}
|
||||
view->update(); }, {}),
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
inline Table_View* create_table_view2() {
|
||||
struct Table_View2 : Table_View {
|
||||
QMenu* menu{};
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!menu) {
|
||||
// menu = create_menu_normal(this, cw(this));
|
||||
menu = create_menu_normal(this, cw(this));
|
||||
}
|
||||
menu->exec(event->globalPos());
|
||||
}
|
||||
};
|
||||
auto ret = new Table_View2;
|
||||
int row_num = 10;
|
||||
int col_num = 10;
|
||||
// int row_num = 14;
|
||||
// int col_num = 15;
|
||||
auto m = new Memory_Table_Model();
|
||||
ret->model = m;
|
||||
QVector<Col_Info*> col_infos;
|
||||
for (int i = 0; i < col_num; ++i) {
|
||||
col_infos.push_back(new Col_Info(80, QString::number(i)));
|
||||
}
|
||||
QVector<QVector<Base_Table_Data*>> data;
|
||||
data.resize(col_infos.size());
|
||||
m->insert_col(0, col_infos, data, Edge_Expand_Type::None);
|
||||
for (int i = 0; i < row_num; ++i) {
|
||||
auto row_info = new Row_Info(50, QString::number(i));
|
||||
QVector<Base_Table_Data*> row;
|
||||
for (int j = 0; j < col_num; ++j) {
|
||||
auto d = new Table_Paint_Data("");
|
||||
d->parent = d;
|
||||
d->content = QString("(%1,%2)").arg(i).arg(j);
|
||||
row.push_back(d);
|
||||
}
|
||||
m->insert_row(m->total_row(), {row_info}, {row}, Edge_Expand_Type::Positive);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
inline Table_View* create_table_view() {
|
||||
struct Table_View2 : Table_View {
|
||||
QMenu* menu{};
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!menu) {
|
||||
// menu = create_menu_normal(this, cw(this));
|
||||
menu = create_menu_normal(this, cw(this));
|
||||
}
|
||||
menu->exec(event->globalPos());
|
||||
}
|
||||
};
|
||||
auto ret = new Table_View2;
|
||||
int row_num = 10;
|
||||
int col_num = 10;
|
||||
// int row_num = 14;
|
||||
// int col_num = 15;
|
||||
auto m = new Memory_Table_Model;
|
||||
ret->model = m;
|
||||
for (int i = 0; i < col_num; ++i) {
|
||||
m->col_info_list.push_back(new Col_Info(80, QString::number(i)));
|
||||
}
|
||||
for (int i = 0; i < row_num; ++i) {
|
||||
m->row_info_list.push_back(new Row_Info(50, QString::number(i)));
|
||||
}
|
||||
for (int i = 0; i < col_num; ++i) {
|
||||
QVector<Base_Table_Data*> row;
|
||||
for (int j = 0; j < row_num; ++j) {
|
||||
auto d = new Table_Paint_Data("");
|
||||
d->parent = d;
|
||||
d->content = QString("(%1,%2)").arg(i).arg(j);
|
||||
row.push_back(d);
|
||||
}
|
||||
m->data.push_back(row);
|
||||
}
|
||||
{
|
||||
auto t = new Widget_Data();
|
||||
t->widget = new QPushButton("222222");
|
||||
m->data[2][2] = t;
|
||||
}
|
||||
// ret->model->merage(2, 2, 4, 4);
|
||||
//
|
||||
// ret->model->row_info_list[2]->hide = true;
|
||||
// ret->model->col_info_list[2]->hide = true;
|
||||
// ret->model->col_info_list[3]->hide = true;
|
||||
// ret->model->col_info_list[4]->hide = true;
|
||||
return ret;
|
||||
}
|
||||
} // namespace Psc
|
||||
Reference in New Issue
Block a user