mainwindow.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QListWidgetItem>
  5. #include <QTableWidgetItem>
  6. #include <elemPropertyData.h>
  7. #include <QMap>
  8. #include <QComboBox>
  9. #include <QCheckBox>
  10. QT_BEGIN_NAMESPACE
  11. namespace Ui { class MainWindow; }
  12. QT_END_NAMESPACE
  13. class MainWindow : public QMainWindow
  14. {
  15. Q_OBJECT
  16. public:
  17. MainWindow(QWidget *parent = nullptr);
  18. ~MainWindow();
  19. private slots:
  20. void on_pushButton_addElem_clicked();
  21. void on_pushButton_delElem_clicked();
  22. void on_pushButton_chooseFile_clicked();
  23. void on_pushButton_addAnimation_clicked();
  24. void on_pushButton_addCollectAnim_clicked();
  25. void on_pushButton_delCollectAnim_clicked();
  26. void on_listWidget_collectAnim_itemDoubleClicked(QListWidgetItem *item);
  27. void on_pushButton_addStatus_clicked();
  28. void on_pushButton_delStatus_clicked();
  29. void on_pushButton_addContainer_clicked();
  30. void on_pushButton_delContainer_clicked();
  31. void on_listWidget_pool_itemDoubleClicked(QListWidgetItem *item);
  32. void on_listWidget_elem_itemDoubleClicked(QListWidgetItem *item);
  33. void on_tableWidget_animation_cellDoubleClicked(int row, int column);
  34. void on_pushButton_delAnimation_clicked();
  35. void on_tableWidget_animation_itemChanged(QTableWidgetItem *item);
  36. void on_listWidget_elem_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
  37. void on_lineEdit_name_editingFinished();
  38. void on_lineEdit_size_editingFinished();
  39. void on_lineEdit_maxlayer_editingFinished();
  40. void on_lineEdit_score_editingFinished();
  41. void on_spinBox_drop_valueChanged(int arg1);
  42. void on_comboBox_animationType_currentTextChanged(const QString &arg1);
  43. void on_comboBox_animation_currentTextChanged(const QString &arg1);
  44. void onTimelineTextChanged(const QString &arg1);
  45. void on_lineEdit_node_editingFinished();
  46. void on_lineEdit_shadow_editingFinished();
  47. void on_listWidget_collectAnim_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
  48. // void on_tabWidget_currentChanged(int index);
  49. void on_pushButton_genTemp_clicked();
  50. void on_listWidget_status_itemDoubleClicked(QListWidgetItem *item);
  51. void on_tableWidget_containerPool_cellDoubleClicked(int row, int column);
  52. void on_tableWidget_containerPool_itemChanged(QTableWidgetItem *item);
  53. void on_pushButton_addKey_clicked();
  54. void on_pushButton_delKey_clicked();
  55. void on_listWidget_pool_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
  56. void on_pushButton_addChildElem_clicked();
  57. void on_pushButton_delChildElem_clicked();
  58. void on_tableWidget_childElem_itemChanged(QTableWidgetItem *item);
  59. void on_tableWidget_childElem_cellDoubleClicked(int row, int column);
  60. void on_checkBox_multiHit_stateChanged(int arg1);
  61. void on_checkBox_dropable_stateChanged(int arg1);
  62. void on_checkBox_needCollect_stateChanged(int arg1);
  63. void on_lineEdit_collectionType_editingFinished();
  64. void on_pushButton_addEvent_clicked();
  65. void onPoolTimelineTextChanged(const QString &arg1);
  66. void onPoolsTextChanged(const QString &arg1);
  67. void on_listWidget_status_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
  68. void on_tableWidget_event_cellDoubleClicked(int row, int column);
  69. void on_tableWidget_event_itemChanged(QTableWidgetItem *item);
  70. void onCheckBoxStateChanged(int state);
  71. void on_comboBox_initAnim_currentTextChanged(const QString &arg1);
  72. void on_comboBox_clickAnim_currentTextChanged(const QString &arg1);
  73. void on_comboBox_collectAnimation_currentTextChanged(const QString &arg1);
  74. void onEffectTextChanged(const QString &arg1);
  75. private:
  76. Ui::MainWindow *ui;
  77. QMap<QString,ElemPropertyData*> elements;
  78. void setUi(ElemPropertyData* elem);
  79. //防止双击修改以外的表格修改操作反复触发itemChanged信号
  80. //动画表格
  81. bool animTableItemChanged = false;
  82. //容器表格
  83. bool poolTableItemChanged = false;
  84. //子元素表格
  85. bool childElemTableItemChanged = false;
  86. //事件配置表格
  87. bool eventTableItemChanged = false;
  88. void setCollectAnimUi(QString collectAnimName);
  89. void setPoolUi(QString poolName);
  90. QString getFileName(QString filePath);
  91. enum class TimelineType{Animation,Pool};
  92. QComboBox* createTimelineBox(QString chosenTimeline,QString filename,TimelineType type);
  93. QComboBox* createPoolBox(QString chosenPool);
  94. QCheckBox* createCheckBox(bool chosen);
  95. QWidget* createTriggerAction();
  96. QComboBox* createEffectBox(QString chosenEffect);
  97. void updateAnimComboBox(QString changedAnim);
  98. void updateCollAnimComboBox(QString changedAnim);
  99. };
  100. #endif // MAINWINDOW_H