#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include "elemPropertyData.h" #include "readJsonSrc.h" #include #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_pushButton_addElem_clicked(); void on_pushButton_delElem_clicked(); void on_pushButton_chooseFile_clicked(); void on_pushButton_addAnimation_clicked(); void on_pushButton_addCollectAnim_clicked(); void on_pushButton_delCollectAnim_clicked(); void on_listWidget_collectAnim_itemDoubleClicked(QListWidgetItem *item); void on_pushButton_addStatus_clicked(); void on_pushButton_delStatus_clicked(); void on_pushButton_addContainer_clicked(); void on_pushButton_delContainer_clicked(); void on_listWidget_pool_itemDoubleClicked(QListWidgetItem *item); void on_listWidget_elem_itemDoubleClicked(QListWidgetItem *item); void on_tableWidget_animation_cellDoubleClicked(int row, int column); void on_pushButton_delAnimation_clicked(); void on_tableWidget_animation_itemChanged(QTableWidgetItem *item); void on_listWidget_elem_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_lineEdit_name_editingFinished(); void on_lineEdit_size_editingFinished(); void on_lineEdit_maxlayer_editingFinished(); void on_lineEdit_score_editingFinished(); void on_spinBox_drop_valueChanged(int arg1); void on_comboBox_animationType_currentTextChanged(const QString &arg1); void on_comboBox_animation_currentTextChanged(const QString &arg1); void onTimelineTextChanged(const QString &arg1); void on_listWidget_collectAnim_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); // void on_tabWidget_currentChanged(int index); void on_pushButton_genTemp_clicked(); void on_listWidget_status_itemDoubleClicked(QListWidgetItem *item); void on_tableWidget_containerPool_cellDoubleClicked(int row, int column); void on_tableWidget_containerPool_itemChanged(QTableWidgetItem *item); void on_pushButton_addKey_clicked(); void on_pushButton_delKey_clicked(); void on_listWidget_pool_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_pushButton_addChildElem_clicked(); void on_pushButton_delChildElem_clicked(); void on_tableWidget_childElem_itemChanged(QTableWidgetItem *item); void on_tableWidget_childElem_cellDoubleClicked(int row, int column); 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_pushButton_addEvent_clicked(); void onPoolTimelineTextChanged(const QString &arg1); void onPoolsTextChanged(const QString &arg1); void on_listWidget_status_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_tableWidget_event_cellDoubleClicked(int row, int column); void on_tableWidget_event_itemChanged(QTableWidgetItem *item); void onCheckBoxStateChanged(int state); 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 onEventBoxTextChanged(const QString &arg1); void onSetActionButtonClicked(); void on_reloadTempFile_triggered(); void on_comboBox_container_currentTextChanged(const QString &arg1); void on_pushButton_delEvent_clicked(); void onLineEditTextChanged(); void onComboBoxTextChanged(QString arg1); void on_tabWidget_currentChanged(int index); private: Ui::MainWindow *ui; QMap elements; void setUi(ElemPropertyData* elem); //防止双击修改以外的表格修改操作反复触发itemChanged信号 //动画表格 bool animTableItemChanged = false; //容器表格 bool poolTableItemChanged = false; //子元素表格 bool childElemTableItemChanged = false; //事件配置表格 bool eventTableItemChanged = false; void setCollectAnimUi(QString collectAnimName); void setPoolUi(QString poolName); QString getFileName(QString filePath); enum class TimelineType{Animation,Pool}; QComboBox* createBox(QString choice,QStringList list); QComboBox* createTimelineBox(QString chosenTimeline,QString filename,TimelineType type); QComboBox* createPoolBox(QString chosenPool); QCheckBox* createCheckBox(bool chosen); QComboBox* createTriggerAction(QString chosenAction); QComboBox* createEffectBox(QString chosenEffect); QComboBox* createEventBox(QString chosenEvent); QPushButton* createSetButton(); void updateAnimComboBox(QString changedAnim); void updateCollAnimComboBox(QString changedAnim); void updateTempRelatedUi(); ReadJsonSrc* jsonTemp; //表示当前正在设置ui界面,改变时不要触发任何数据保存 bool isSetUi = false; void createSetWindow(QString actionName,int row); void setCollAnimWidget(); }; #endif // MAINWINDOW_H