1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #ifndef STATUSCONFIG_H
- #define STATUSCONFIG_H
- #include "datahpp/elemPropertyData.h"
- #include <QWidget>
- #include <QComboBox>
- #include <QCheckBox>
- #include <QPushButton>
- #include <QListWidgetItem>
- #include <QTableWidgetItem>
- namespace Ui {
- class StatusConfig;
- }
- class StatusConfig : public QWidget
- {
- Q_OBJECT
- public:
- explicit StatusConfig(QWidget *parent = nullptr);
- ~StatusConfig();
- ///切换元素,重置整个界面
- void setUi(QString elem);
- ///切换状态,重置状态配置界面
- void setStatusUi();
- ///重置变动可能较大的点击动画、初始动画和收集动画
- void setAnimComboBox();
- ///基础属性中的可掉落变化时刷新可掉落checkbox
- void updateDropBox(bool state);
- private slots:
- ///添加状态,若已经生成最大层数全部状态则按钮无效
- void on_pushButton_addStatus_clicked();
- ///生成模板
- void on_pushButton_genTemp_clicked();
- ///删除状态
- void on_pushButton_delStatus_clicked();
- ///修改状态值,检查修改后的状态值是否合法,并转移数据
- void on_listWidget_status_itemDoubleClicked(QListWidgetItem *item);
- void on_checkBox_multiHit_stateChanged(int arg1);
- void on_checkBox_dropable_stateChanged(int arg1);
- void on_checkBox_needCollect_stateChanged(int arg1);
- void on_lineEdit_collectionType_editingFinished();
- void on_comboBox_initAnim_currentTextChanged(const QString &arg1);
- void on_comboBox_clickAnim_currentTextChanged(const QString &arg1);
- void on_comboBox_collectAnimation_currentTextChanged(const QString &arg1);
- void on_pushButton_addEvent_clicked();
- void on_pushButton_delEvent_clicked();
- void on_tableWidget_event_cellDoubleClicked(int row, int column);
- void on_tableWidget_event_itemChanged(QTableWidgetItem *item);
- ///事件配置checkBox状态发生改变
- void onCheckBoxStateChanged(int state);
- ///事件配置ComboBox选择发生改变
- void onEventBoxTextChanged(const QString &arg1);
- ///动作配置中的设置点击后
- void onSetActionButtonClicked();
- void on_listWidget_status_currentRowChanged(int currentRow);
- private:
- Ui::StatusConfig *ui;
- QString currentElem;
- enum class BoxType{Event,Effect,Action};
- ///创建事件、动作、特效的下拉选项
- QComboBox* createBox(QString choice,BoxType boxType);
- ///创建一个可勾选项
- QCheckBox* createCheckBox(bool chosen);
- ///创建一个触发动作设置按钮
- QPushButton* createSetButton();
- ///当前正在设置ui,不要保存改变的数据
- bool isSetUi = false;
- ///事件配置表格数据被双击修改
- bool eventTableItemChanged = false;
- ///设置动画当前选择的项
- void setAnimIndex(ElemPropertyData::StatusConfig statusData);
- ///点击动作配置的设置按钮后生成新窗口
- void createSetWindow(QString actionName,int row);
- };
- #endif // STATUSCONFIG_H
|