7 #include <ff7tkwidgets_export.h>
8 #include <Type_FF7CHAR>
36 explicit CharEditor(QWidget *parent =
nullptr);
37 void setChar(
const FF7CHAR &Chardata,
const QString &Processed_Name =
"");
42 bool showPlaceholderMateria();
72 quint8 levelProgress();
85 void changeEvent(QEvent *e)
override;
88 void id_changed(qint8);
89 void level_changed(qint8);
90 void str_changed(quint8);
91 void vit_changed(quint8);
92 void mag_changed(quint8);
93 void spi_changed(quint8);
94 void dex_changed(quint8);
95 void lck_changed(quint8);
96 void strBonus_changed(quint8);
97 void vitBonus_changed(quint8);
98 void magBonus_changed(quint8);
99 void spiBonus_changed(quint8);
100 void dexBonus_changed(quint8);
101 void lckBonus_changed(quint8);
102 void limitLevel_changed(qint8);
103 void limitBar_changed(quint8);
104 void name_changed(QString);
105 void weapon_changed(quint8);
106 void armor_changed(quint8);
107 void accessory_changed(quint8);
108 void curHp_changed(quint16);
109 void maxHp_changed(quint16);
110 void curMp_changed(quint16);
111 void maxMp_changed(quint16);
112 void kills_changed(quint16);
113 void row_changed(quint8);
114 void levelProgress_changed(quint8);
115 void sadnessfury_changed(quint8);
116 void limits_changed(quint16);
117 void timesused1_changed(quint16);
118 void timesused2_changed(quint16);
119 void timesused3_changed(quint16);
120 void baseHp_changed(quint16);
121 void baseMp_changed(quint16);
122 void exp_changed(quint32);
123 void mslotChanged(
int);
124 void Materias_changed(
materia);
125 void expNext_changed(quint32);
128 void setAutoLevel(
bool);
129 void setAutoStatCalc(
bool);
130 void setEditable(
bool);
131 void setShowPlaceholderMateria(
bool);
132 void setAdvancedMode(
bool);
133 void setToolBoxStyle(
const QString &styleSheet);
134 void setSliderStyle(
const QString &style);
135 void setEditableComboBoxes(
bool);
146 void setStrBonus(
int);
147 void setVitBonus(
int);
148 void setMagBonus(
int);
149 void setSpiBonus(
int);
150 void setDexBonus(
int);
151 void setLckBonus(
int);
152 void setLimitLevel(
int);
153 void setLimitBar(
int);
154 void setName(
const QString &name);
157 void setAccessory(
int);
158 void setRow(
bool front_row);
159 void setLevelProgress(
int);
160 void setSadnessFury(
int);
162 void setTimesused1(
int);
163 void setTimesused2(
int);
164 void setTimesused3(
int);
168 void setExpNext(
int);
174 void cb_fury_toggled(
bool);
175 void cb_sadness_toggled(
bool);
176 void cb_idChanger_toggled(
bool);
177 void calc_limit_value(QModelIndex);
178 void Level_Changed(
int);
179 void Exp_Changed(
int);
180 void materiaSlotClicked(
int slotClicked);
181 void matAp_changed(qint32);
182 void matId_changed(qint8);
184 void init_connections();
185 void disconnectAll();
188 void update_tnl_bar();
189 void elemental_info();
191 void update_materia_slots();
192 void updateMateriaToolTips();
209 QWidget* makeStatWidget(QSpinBox* statBaseSpinBox =
nullptr, QSpinBox* statSourceSpinBox =
nullptr
210 , QLabel* statLabel =
nullptr, QLabel* statMateriaBonusLabel =
nullptr, QLabel* statTotalLabel =
nullptr);
216 QFrame* makeStatFrame();
227 QHBoxLayout * makeMateriaSlotPair(QPushButton* button1 =
nullptr, QPushButton* button2 =
nullptr, QFrame *frame1 =
nullptr, QFrame *frame2 =
nullptr, QLabel* linkLabel =
nullptr);
233 QWidget * makeLimitLayout();
236 bool autolevel{
true};
237 bool autostatcalc{
true};
239 bool showplaceholderMateria{
false};
240 bool advancedMode{
false};
246 QLabel *lblAvatar =
nullptr;
247 QLineEdit *lineName =
nullptr;
248 QSpinBox *sbLevel =
nullptr;
249 QSpinBox *sbCurrentMp =
nullptr;
250 QSpinBox *sbCurrentHp =
nullptr;
252 QLabel *lblBaseHp =
nullptr;
253 QSpinBox *sbBaseHp =
nullptr;
254 QLabel *lblBaseHpBonus =
nullptr;
256 QLabel *lblBaseMp =
nullptr;
257 QSpinBox *sbBaseMp =
nullptr;
258 QLabel *lblBaseMpBonus =
nullptr;
260 QSpinBox *sbKills =
nullptr;
261 QLabel *lblCurrentHp =
nullptr;
262 QLabel *lblMaxHp =
nullptr;
263 QLabel *lblCurrentMp =
nullptr;
264 QLabel *lblMaxMp =
nullptr;
265 QCheckBox *cbFury =
nullptr;
266 QCheckBox *cbSadness =
nullptr;
267 QCheckBox *cbFrontRow =
nullptr;
268 QComboBox *comboId =
nullptr;
270 QSpinBox *sbTotalExp =
nullptr;
271 QLabel *lbl_level_next =
nullptr;
272 QProgressBar *bar_tnl =
nullptr;
273 QLabel *lbl_limit_bar =
nullptr;
274 QSlider *slider_limit =
nullptr;
275 QLCDNumber *lcdLimitValue =
nullptr;
277 QLabel *lblStr =
nullptr;
278 QSpinBox *sbStr =
nullptr;
279 QSpinBox *sbStrSourceUse =
nullptr;
280 QLabel *lblStrMateriaBonus =
nullptr;
281 QLabel *lblStrTotal =
nullptr;
283 QLabel *lblVit =
nullptr;
284 QSpinBox *sbVit =
nullptr;
285 QSpinBox *sbVitSourceUse =
nullptr;
286 QLabel *lblVitMateriaBonus =
nullptr;
287 QLabel *lblVitTotal =
nullptr;
289 QLabel *lblMag =
nullptr;
290 QSpinBox *sbMag =
nullptr;
291 QSpinBox *sbMagSourceUse =
nullptr;
292 QLabel *lblMagMateriaBonus =
nullptr;
293 QLabel *lblMagTotal =
nullptr;
295 QLabel *lblSpi =
nullptr;
296 QSpinBox *sbSpi =
nullptr;
297 QSpinBox *sbSpiSourceUse =
nullptr;
298 QLabel *lblSpiMateriaBonus =
nullptr;
299 QLabel *lblSpiTotal =
nullptr;
301 QLabel *lblDex =
nullptr;
302 QSpinBox *sbDex =
nullptr;
303 QSpinBox *sbDexSourceUse =
nullptr;
304 QLabel *lblDexMateriaBonus =
nullptr;
305 QLabel *lblDexTotal =
nullptr;
307 QLabel *lblLck =
nullptr;
308 QSpinBox *sbLck =
nullptr;
309 QSpinBox *sbLckSourceUse =
nullptr;
310 QLabel *lblLckMateriaBonus =
nullptr;
311 QLabel *lblLckTotal =
nullptr;
313 QSpinBox *sbLimitLevel =
nullptr;
314 QSpinBox *sb_uses_limit_1_1 =
nullptr;
315 QSpinBox *sb_uses_limit_2_1 =
nullptr;
316 QSpinBox *sb_uses_limit_3_1 =
nullptr;
317 QListWidget *list_limits =
nullptr;
318 QLabel *lbl_uses =
nullptr;
319 QLabel *lbl_1_1 =
nullptr;
320 QLabel *lbl_2_1 =
nullptr;
321 QLabel *lbl_3_1 =
nullptr;
322 QLabel *lbl_0x34 =
nullptr;
323 QLabel *lbl_0x35 =
nullptr;
324 QLabel *lbl_0x36 =
nullptr;
325 QLabel *lbl_0x37 =
nullptr;
326 QLabel *lblWeaponStats =
nullptr;
327 QLabel *lblArmorStats =
nullptr;
328 QComboBox *weapon_selection =
nullptr;
329 QComboBox *armor_selection =
nullptr;
330 QComboBox *accessory_selection =
nullptr;
332 QGroupBox *elemental_box =
nullptr;
333 QGroupBox *status_box =
nullptr;
334 QListWidget *elemental_effects =
nullptr;
335 QListWidget *status_effects =
nullptr;
336 QFrame *weapon_materia_box =
nullptr;
337 QFrame *armor_materia_box =
nullptr;
338 QGroupBox *weapon_box =
nullptr;
339 QGroupBox *armor_box =
nullptr;
340 QGroupBox *accessory_box =
nullptr;
341 QList<QFrame *> materiaSlotFrames;
342 QList<QPushButton *> materiaSlots;
343 QLabel *weapon_m_link_1 =
nullptr;
344 QLabel *weapon_m_link_2 =
nullptr;
345 QLabel *weapon_m_link_3 =
nullptr;
346 QLabel *weapon_m_link_4 =
nullptr;
347 QLabel *armor_m_link_1 =
nullptr;
348 QLabel *armor_m_link_2 =
nullptr;
349 QLabel *armor_m_link_3 =
nullptr;
350 QLabel *armor_m_link_4 =
nullptr;
351 QToolBox *toolbox =
nullptr;
352 QFrame *unknown_box =
nullptr;
353 QLCDNumber *lcd_0x34 =
nullptr;
354 QLCDNumber *lcd_0x35 =
nullptr;
355 QLCDNumber *lcd_0x36 =
nullptr;
356 QLCDNumber *lcd_0x37 =
nullptr;
357 QCheckBox *cb_idChanger =
nullptr;
359 const int lineHeight;
360 const QSizePolicy sbSizePolicy;
362 inline static const int quint8Max = 255;
363 inline static const int qint16Max = 32767;
364 inline static const int quint16Max = 65535;
365 inline static const int expMax = 2147483647;
366 inline static const QString comboStyle = QStringLiteral(
"QComboBox { combobox-popup: 0}");
367 inline static const QString transparentBackgroundStyle = QStringLiteral(
"QFrame{background-color:rgba(0,0,0,0);}");