statusConfig.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef STATUSCONFIG_H
  2. #define STATUSCONFIG_H
  3. #include "datahpp/elemPropertyData.h"
  4. #include <QWidget>
  5. #include <QComboBox>
  6. #include <QCheckBox>
  7. #include <QPushButton>
  8. #include <QListWidgetItem>
  9. #include <QTableWidgetItem>
  10. namespace Ui {
  11. class StatusConfig;
  12. }
  13. class StatusConfig : public QWidget
  14. {
  15. Q_OBJECT
  16. public:
  17. explicit StatusConfig(QWidget *parent = nullptr);
  18. ~StatusConfig();
  19. ///切换元素,重置整个界面
  20. void setUi(QString elem);
  21. ///切换状态,重置状态配置界面
  22. void setStatusUi();
  23. ///重置变动可能较大的点击动画、初始动画和收集动画
  24. void setAnimComboBox();
  25. ///基础属性中的可掉落变化时刷新可掉落checkbox
  26. void updateDropBox(bool state);
  27. QString currentElem;
  28. private slots:
  29. ///添加状态,若已经生成最大层数全部状态则按钮无效
  30. void on_pushButton_addStatus_clicked();
  31. ///生成模板
  32. void on_pushButton_genTemp_clicked();
  33. ///删除状态
  34. void on_pushButton_delStatus_clicked();
  35. ///修改状态值,检查修改后的状态值是否合法,并转移数据
  36. void on_listWidget_status_itemDoubleClicked(QListWidgetItem *item);
  37. void on_checkBox_multiHit_stateChanged(int arg1);
  38. void on_checkBox_dropable_stateChanged(int arg1);
  39. void on_checkBox_needCollect_stateChanged(int arg1);
  40. void on_lineEdit_collectionType_editingFinished();
  41. void on_comboBox_initAnim_currentTextChanged(const QString &arg1);
  42. void on_comboBox_clickAnim_currentTextChanged(const QString &arg1);
  43. void on_comboBox_collectAnimation_currentTextChanged(const QString &arg1);
  44. void on_pushButton_addEvent_clicked();
  45. void on_pushButton_delEvent_clicked();
  46. void on_tableWidget_event_cellDoubleClicked(int row, int column);
  47. void on_tableWidget_event_itemChanged(QTableWidgetItem *item);
  48. ///事件配置checkBox状态发生改变
  49. void onCheckBoxStateChanged(int state);
  50. ///事件配置ComboBox选择发生改变
  51. void onEventBoxTextChanged(const QString &arg1);
  52. ///动作配置中的设置点击后
  53. void onSetActionButtonClicked();
  54. void on_listWidget_status_currentRowChanged(int currentRow);
  55. private:
  56. Ui::StatusConfig *ui;
  57. enum class BoxType{Event,Effect,Action};
  58. ///创建事件、动作、特效的下拉选项
  59. QComboBox* createBox(QString choice,BoxType boxType);
  60. ///创建一个可勾选项
  61. QCheckBox* createCheckBox(bool chosen);
  62. ///创建一个触发动作设置按钮
  63. QPushButton* createSetButton();
  64. ///当前正在设置ui,不要保存改变的数据
  65. bool isSetUi = false;
  66. ///事件配置表格数据被双击修改
  67. bool eventTableItemChanged = false;
  68. ///设置动画当前选择的项
  69. void setAnimIndex(ElemPropertyData::StatusConfig statusData);
  70. ///点击动作配置的设置按钮后生成新窗口
  71. void createSetWindow(QString actionName,int row);
  72. };
  73. #endif // STATUSCONFIG_H