Feature #323 » 0030-Ruledit-Add-extra-flag-editing.patch
| tools/ruledit/edit_extra.cpp | ||
|---|---|---|
|
#include "edit_extra.h"
|
||
|
#define FLAGROWS 15
|
||
|
/**********************************************************************//**
|
||
|
Setup edit_extra object
|
||
|
**************************************************************************/
|
||
| ... | ... | |
|
QGridLayout *extra_layout = new QGridLayout();
|
||
|
QLabel *label;
|
||
|
int row = 0;
|
||
|
int rowcount;
|
||
|
int column;
|
||
|
ui = ui_in;
|
||
|
extra = extra_in;
|
||
|
natives_layout = new QGridLayout();
|
||
|
flag_layout = new QGridLayout();
|
||
|
setWindowTitle(QString::fromUtf8(extra_rule_name(extra)));
|
||
| ... | ... | |
|
natives_layout->addWidget(check, i + 1, 1);
|
||
|
}
|
||
|
rowcount = 0;
|
||
|
column = 0;
|
||
|
for (int i = 0; i < EF_LAST_USER_FLAG; i++) {
|
||
|
enum extra_flag_id flag = (enum extra_flag_id)i;
|
||
|
QCheckBox *check = new QCheckBox();
|
||
|
label = new QLabel(extra_flag_id_name(flag));
|
||
|
flag_layout->addWidget(label, rowcount, column + 1);
|
||
|
check->setChecked(BV_ISSET(extra->flags, flag));
|
||
|
flag_layout->addWidget(check, rowcount, column);
|
||
|
if (++rowcount >= FLAGROWS) {
|
||
|
column += 2;
|
||
|
rowcount = 0;
|
||
|
}
|
||
|
}
|
||
|
refresh();
|
||
|
main_layout->addLayout(extra_layout);
|
||
|
main_layout->addLayout(natives_layout);
|
||
|
main_layout->addLayout(flag_layout);
|
||
|
setLayout(main_layout);
|
||
|
}
|
||
| ... | ... | |
|
**************************************************************************/
|
||
|
void edit_extra::closeEvent(QCloseEvent *cevent)
|
||
|
{
|
||
|
int rowcount;
|
||
|
int column;
|
||
|
// Save values from text fields.
|
||
|
gfx_tag_given();
|
||
|
gfx_tag_alt_given();
|
||
| ... | ... | |
|
}
|
||
|
}
|
||
|
BV_CLR_ALL(extra->flags);
|
||
|
rowcount = 0;
|
||
|
column = 0;
|
||
|
for (int i = 0; i < UTYF_LAST_USER_FLAG; i++) {
|
||
|
QCheckBox *check = static_cast<QCheckBox *>(flag_layout->itemAtPosition(rowcount, column)->widget());
|
||
|
if (check->isChecked()) {
|
||
|
BV_SET(extra->flags, i);
|
||
|
}
|
||
|
if (++rowcount >= FLAGROWS) {
|
||
|
rowcount = 0;
|
||
|
column += 2;
|
||
|
}
|
||
|
}
|
||
|
extra->ruledit_dlg = nullptr;
|
||
|
}
|
||
| tools/ruledit/edit_extra.h | ||
|---|---|---|
|
QLineEdit *rmact_gfx_alt2;
|
||
|
QGridLayout *natives_layout;
|
||
|
QGridLayout *flag_layout;
|
||
|
protected:
|
||
|
void closeEvent(QCloseEvent *cevent);
|
||