Feature #457 » 0054-Ruledit-Add-unit-class-editing.patch
| tools/ruledit/edit_utype.cpp | ||
|---|---|---|
|
QHBoxLayout *main_layout = new QHBoxLayout(this);
|
||
|
QGridLayout *unit_layout = new QGridLayout();
|
||
|
QLabel *label;
|
||
|
QMenu *menu;
|
||
|
int row = 0;
|
||
|
int rowcount;
|
||
|
int column;
|
||
| ... | ... | |
|
setWindowTitle(QString::fromUtf8(utype_rule_name(utype)));
|
||
|
label = new QLabel(QString::fromUtf8(R__("Class")));
|
||
|
label->setParent(this);
|
||
|
class_button = new QToolButton();
|
||
|
class_button->setParent(this);
|
||
|
class_button->setToolButtonStyle(Qt::ToolButtonTextOnly);
|
||
|
class_button->setPopupMode(QToolButton::MenuButtonPopup);
|
||
|
menu = new QMenu();
|
||
|
connect(menu, SIGNAL(triggered(QAction *)), this, SLOT(class_menu(QAction *)));
|
||
|
unit_class_re_active_iterate(pclass) {
|
||
|
menu->addAction(uclass_rule_name(pclass));
|
||
|
} unit_class_re_active_iterate_end;
|
||
|
class_button->setMenu(menu);
|
||
|
unit_layout->addWidget(label, row, 0);
|
||
|
unit_layout->addWidget(class_button, row++, 1);
|
||
|
label = new QLabel(QString::fromUtf8(R__("Build Cost")));
|
||
|
label->setParent(this);
|
||
| ... | ... | |
|
**************************************************************************/
|
||
|
void edit_utype::refresh()
|
||
|
{
|
||
|
class_button->setText(uclass_rule_name(utype->uclass));
|
||
|
bcost->setValue(utype->build_cost);
|
||
|
attack->setValue(utype->attack_strength);
|
||
|
defense->setValue(utype->defense_strength);
|
||
| ... | ... | |
|
sz_strlcpy(utype->sound_fight_alt, tag_bytes);
|
||
|
}
|
||
|
/**********************************************************************//**
|
||
|
User selected class
|
||
|
**************************************************************************/
|
||
|
void edit_utype::class_menu(QAction *action)
|
||
|
{
|
||
|
QByteArray cn_bytes;
|
||
|
struct unit_class *pclass;
|
||
|
cn_bytes = action->text().toUtf8();
|
||
|
pclass = unit_class_by_rule_name(cn_bytes.data());
|
||
|
utype->uclass = pclass;
|
||
|
refresh();
|
||
|
}
|
||
| tools/ruledit/edit_utype.h | ||
|---|---|---|
|
private:
|
||
|
ruledit_gui *ui;
|
||
|
struct unit_type *utype;
|
||
|
QToolButton *class_button;
|
||
|
QSpinBox *bcost;
|
||
|
QSpinBox *attack;
|
||
|
QSpinBox *defense;
|
||
| ... | ... | |
|
void closeEvent(QCloseEvent *cevent);
|
||
|
private slots:
|
||
|
void class_menu(QAction *action);
|
||
|
void set_bcost_value(int value);
|
||
|
void set_attack_value(int value);
|
||
|
void set_defense_value(int value);
|
||