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/GUIGeometryDialog/CompFaceGroupWidget.h

213 lines
6.1 KiB
C

/**
*
* @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<int> 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 DefaultID
* @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