You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AppFlow/GUIDialog/GUIMeshDialog/MaterialPointWidget.h

174 lines
4.7 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
*
* @file MaterialPointWidget.h
* @brief 材料点界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*
*/
#ifndef _MaterialPointWidget_H
#define _MaterialPointWidget_H
#include "GUIMeshDialogAPI.h"
#include "GUIWidget/GUIWidgetBase.h"
namespace Ui {
class MaterialPointWidget;
}
namespace EventOper {
class ParaWidgetInterfaceOperator;
}
namespace GUI
{
/**
* @brief 材料点界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
class GUIMeshDialogAPI MaterialPointWidget :public GUIWidgetBase
{
Q_OBJECT;
public:
/**
* @brief Construct a new Material Point Widget object
* @param[i] oper 操作器对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
MaterialPointWidget(EventOper::ParaWidgetInterfaceOperator* oper);
/**
* @brief Destroy the Material Point Widget object
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
~MaterialPointWidget();
/**
* @brief 界面初始化
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
void init();
/**
* @brief 初始化表格界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
void initTableWidget();
protected:
/**
* @brief 隐藏事件
* @param[i] event 事件
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void hideEvent(QHideEvent* event);
private slots:
;
/**
* @brief 清除事件
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void on_pushButton_Clear_clicked();
/**
* @brief 添加事件点击
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void on_pushButton_Add_clicked();
/**
* @brief 表格点击事件
* @param[i] item 表格对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void slotCellTableClicked(int row, int column);
/**
* @brief 材料点组件界面删除事件
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void slotMatPointWidgetDeleteClicked();
/**
* @brief 材料点组件点位数据更新时间
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void slotMatPointWidgetPointChange();
private:
/**
* @brief 创建一个新的材料点名称
* @return QString 新名称
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
QString getPointNewName();
/**
* @brief 更新表格
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void updateTableWidget();
/**
* @brief 刷新面组界面记录的位置
* 为解决点击界面控件时QTableWidget未触发不知道当前界面所在的位置问题
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void updateFaceWidgetCurrentPos();
/**
* @brief 清除所有高亮
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void clearGraphHight();
/**
* @brief 清除Table
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void clearTableWidget();
/**
* @brief 数据检查
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
bool checkValue();
/**
* @brief 设置数据至界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void setDataToWidget();
/**
* @brief 使用界面参数存储数据
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void getDataFromWidget();
/**
* @brief 更新渲染窗口
* @author BaGuijun (baguijun@163.com)
* @date 2024-07-16
*/
void updateGraph(bool isShow = true);
private:
/**
* @brief ui对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
Ui::MaterialPointWidget* _ui = nullptr;
/**
* @brief 操作器对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
EventOper::ParaWidgetInterfaceOperator* _oper = nullptr;
};
}
#endif