/** * * @file CompFaceGroupWidget.h * @brief 面组界面 * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 * */ #ifndef _CompFaceGroupWidget_H #define _CompFaceGroupWidget_H #include "GUIWidget/GUIWidgetBase.h" class QTableWidgetItem; namespace Ui { class CompFaceGroupWidget; } namespace Interface { class FITKAbsGeoCommand; class FITKAbstractGeoModel; class FITKAbsGeoCommand; } namespace EventOper { class ParaWidgetInterfaceOperator; } namespace GUI { class GeometryWidgetBase; /** * @brief 面组界面 * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ class CompFaceGroupWidget :public GUIWidgetBase { Q_OBJECT; public: /** * @brief Construct a new Comp Face Group Widget object * @param[i] paraent 父对象 * @param[i] obj 几何数据对象 * @param[i] oper 操作器对象 * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ CompFaceGroupWidget(QWidget* paraent, Interface::FITKAbsGeoCommand* obj, EventOper::ParaWidgetInterfaceOperator* oper); /** * @brief Destroy the Comp Face Group Widget object * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ ~CompFaceGroupWidget(); /** * @brief 初始化 * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void init(); /** * @brief 设置面组 * @param[i] rowIndex 面组所对应的行数 * @param[i] facesId 面id组 * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void setFaceGroupValue(int rowIndex, QList facesId, bool removefromOthers = true); /** * @brief 获取当前几何数据对象 * @return Interface::FITKAbsGeoCommand* 几何数据对象 * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ Interface::FITKAbsGeoCommand* getCurrentGeoCommand(); /** * @brief Set the Data To Widget object * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void setDataToWidget(); /** * @brief 清除所有高亮 * @author BaGuijun (baguijun@163.com) * @date 2024-07-16 */ void clearGraphHight(); private slots: ; /** * @brief tableWidget clear slot * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void on_pushButton_Clear_clicked(); /** * @brief tableWidget add slot * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ 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 slotEditNameStart(); /** * @brief face group rename finish slot * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void slotEditNameFinish(); /** * @brief 面组界面ok点击事件 * @author BaGuijun (baguijun@163.com) * @date 2024-07-16 */ void slotFaceWidgetOkClicked(); /** * @brief 面组界面cancel点击事件 * @author BaGuijun (baguijun@163.com) * @date 2024-07-16 */ void slotFaceWidgetCancelClicked(); /** * @brief 面组界面delete点击事件 * @author BaGuijun (baguijun@163.com) * @date 2024-07-16 */ void slotFaceWidgetDeleteClicked(); private: /** * @brief check tableWidget value * @return true success * @return false fail * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ bool checkValue(); //更新表格标题 //void updateTableTitle(); /** * @brief init table Widget * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void initTableWidget(); /** * @brief Set the All Face Group isSelect * @param[i] type isSelect * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ void setAllFaceGroupSelect(bool type); /** * @brief 刷新面组界面记录的位置 * (为解决点击界面控件时,QTableWidget未触发不知道当前界面所在的位置问题) * @author BaGuijun (baguijun@163.com) * @date 2024-07-16 */ void updateFaceWidgetCurrentPos(); /** * @brief 清除Table * @author BaGuijun (baguijun@163.com) * @date 2024-07-16 */ void clearTableWidget(); /** * @brief 更新Default面组ID * @author BaGuijun (baguijun@163.com) * @date 2024-08-31 */ void updateDefaultFaceGroupIDs(); private: /** * @brief geometry data object * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ Interface::FITKAbsGeoCommand* _obj = nullptr; /** * @brief ui object * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ Ui::CompFaceGroupWidget* _ui = nullptr; /** * @brief operators object * @author BaGuijun (baguijun@163.com) * @date 2024-08-14 */ EventOper::ParaWidgetInterfaceOperator* _oper = nullptr; /** * @brief 父界面兑现 * @author BaGuijun (baguijun@163.com) * @date 2024-08-31 */ GeometryWidgetBase* _parentWidget = nullptr; }; } #endif