1 #ifndef CATA_OBJECT_CREATOR_SPELL_WINDOW_H 2 #define CATA_OBJECT_CREATOR_SPELL_WINDOW_H 3 4 #include "dual_list_box.h" 5 #include "fake_spell_listbox.h" 6 #include "magic.h" 7 8 #include <QtWidgets/qcheckbox.h> 9 #include <QtWidgets/qcombobox.h> 10 #include <QtWidgets/qgridlayout.h> 11 #include <QtWidgets/qlineedit.h> 12 #include <QtWidgets/qlistwidget.h> 13 #include <QtWidgets/qmainwindow.h> 14 #include <QtWidgets/qplaintextedit.h> 15 #include <QtWidgets/qspinbox.h> 16 #include <QtWidgets/qtablewidget.h> 17 18 namespace creator 19 { 20 class spell_window : public QMainWindow 21 { 22 public: 23 spell_window( QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags() ); 24 show()25 void show() { 26 spell_json.show(); 27 QWidget::show(); 28 } 29 hide()30 void hide() { 31 spell_json.hide(); 32 QWidget::hide(); 33 } 34 private: 35 spell_type editable_spell; 36 QTextEdit spell_json; 37 38 void write_json(); 39 40 QLabel id_label; 41 QLineEdit id_box; 42 43 QLabel name_label; 44 QLineEdit name_box; 45 46 QLabel description_label; 47 QPlainTextEdit description_box; 48 49 QLabel valid_targets_label; 50 QListWidget valid_targets_box; 51 52 QLabel energy_cost_label; 53 QSpinBox base_energy_cost_box; 54 QDoubleSpinBox energy_increment_box; 55 QSpinBox final_energy_cost_box; 56 57 QLabel damage_label; 58 QSpinBox min_damage_box; 59 QDoubleSpinBox damage_increment_box; 60 QSpinBox max_damage_box; 61 62 QLabel range_label; 63 QSpinBox min_range_box; 64 QDoubleSpinBox range_increment_box; 65 QSpinBox max_range_box; 66 67 QLabel aoe_label; 68 QSpinBox min_aoe_box; 69 QDoubleSpinBox aoe_increment_box; 70 QSpinBox max_aoe_box; 71 72 QLabel dot_label; 73 QSpinBox min_dot_box; 74 QDoubleSpinBox dot_increment_box; 75 QSpinBox max_dot_box; 76 77 QLabel pierce_label; 78 QSpinBox min_pierce_box; 79 QDoubleSpinBox pierce_increment_box; 80 QSpinBox max_pierce_box; 81 82 QLabel casting_time_label; 83 QSpinBox base_casting_time_box; 84 QDoubleSpinBox casting_time_increment_box; 85 QSpinBox final_casting_time_box; 86 87 QLabel spell_flags_label; 88 QListWidget spell_flags_box; 89 90 QLabel energy_source_label; 91 QComboBox energy_source_box; 92 93 QLabel dmg_type_label; 94 QComboBox dmg_type_box; 95 96 QLabel spell_class_label; 97 QComboBox spell_class_box; 98 99 QLabel difficulty_label; 100 QSpinBox difficulty_box; 101 102 QLabel max_level_label; 103 QSpinBox max_level_box; 104 105 QLabel spell_message_label; 106 QLineEdit spell_message_box; 107 108 QLabel components_label; 109 QComboBox components_box; 110 111 QLabel skill_label; 112 QComboBox skill_box; 113 114 QLabel field_id_label; 115 QComboBox field_id_box; 116 117 QLabel field_chance_label; 118 QSpinBox field_chance_box; 119 120 QLabel min_field_intensity_label; 121 QSpinBox min_field_intensity_box; 122 123 QLabel field_intensity_increment_label; 124 QDoubleSpinBox field_intensity_increment_box; 125 126 QLabel max_field_intensity_label; 127 QSpinBox max_field_intensity_box; 128 129 QLabel field_intensity_variance_label; 130 QSpinBox field_intensity_variance_box; 131 132 QLabel affected_bps_label; 133 QListWidget affected_bps_box; 134 135 QLabel effect_label; 136 QComboBox effect_box; 137 138 QLabel effect_str_label; 139 QLineEdit effect_str_box; 140 141 QLabel shape_label; 142 QComboBox shape_box; 143 144 QLabel sound_description_label; 145 QLineEdit sound_description_box; 146 147 QLabel sound_type_label; 148 QComboBox sound_type_box; 149 150 QLabel sound_id_label; 151 QLineEdit sound_id_box; 152 153 QLabel sound_variant_label; 154 QLineEdit sound_variant_box; 155 156 QLabel sound_ambient_label; 157 QCheckBox sound_ambient_box; 158 159 fake_spell_listbox additional_spells_box; 160 161 QLabel targeted_monster_ids_label; 162 dual_list_box targeted_monster_ids_box; 163 164 QTableWidget learn_spells_box; 165 }; 166 } 167 168 #endif 169