15 #include <QGridLayout>
17 #include <QListWidget>
19 #include <QPushButton>
20 #include <QRadioButton>
41 QVBoxLayout *main_layout =
new QVBoxLayout(
this);
42 QGridLayout *gov_layout =
new QGridLayout();
44 QPushButton *effects_button;
45 QPushButton *add_button;
46 QPushButton *delete_button;
47 QPushButton *reqs_button;
54 connect(
gov_list, &QListWidget::itemSelectionChanged,
this,
58 gov_layout->setSizeConstraint(QLayout::SetMaximumSize);
60 label =
new QLabel(QString::fromUtf8(
R__(
"Rule Name")));
61 label->setParent(
this);
62 rname =
new QLineEdit(
this);
63 rname->setText(QStringLiteral(
"None"));
65 gov_layout->addWidget(label, 0, 0);
66 gov_layout->addWidget(
rname, 0, 2);
68 label =
new QLabel(QString::fromUtf8(
R__(
"Name")));
69 label->setParent(
this);
71 connect(
same_name, &QAbstractButton::toggled,
this,
73 name =
new QLineEdit(
this);
74 name->setText(QStringLiteral(
"None"));
76 gov_layout->addWidget(label, 1, 0);
78 gov_layout->addWidget(
name, 1, 2);
81 new QPushButton(QString::fromUtf8(
R__(
"Requirements")),
this);
83 gov_layout->addWidget(reqs_button, 2, 2);
85 effects_button =
new QPushButton(QString::fromUtf8(
R__(
"Effects")),
this);
86 connect(effects_button, &QAbstractButton::pressed,
this,
88 gov_layout->addWidget(effects_button, 3, 2);
91 new QPushButton(QString::fromUtf8(
R__(
"Add Government")),
this);
93 gov_layout->addWidget(add_button, 4, 0);
96 delete_button =
new QPushButton(
97 QString::fromUtf8(
R__(
"Remove this Government")),
this);
98 connect(delete_button, &QAbstractButton::pressed,
this,
100 gov_layout->addWidget(delete_button, 4, 2);
105 main_layout->addLayout(gov_layout);
107 setLayout(main_layout);
118 if (!pgov.ruledit_disabled) {
119 QListWidgetItem *
item =
new QListWidgetItem(
138 name->setText(dispn);
139 rname->setText(rulen);
140 if (dispn == rulen) {
141 name->setEnabled(
false);
145 name->setEnabled(
true);
148 name->setText(QStringLiteral(
"None"));
149 rname->setText(QStringLiteral(
"None"));
151 name->setEnabled(
false);
160 QList<QListWidgetItem *> select_list =
gov_list->selectedItems();
162 if (!select_list.isEmpty()) {
165 gn_bytes = select_list.at(0)->text().toUtf8();
176 QByteArray name_bytes;
177 QByteArray rname_bytes;
181 rname_bytes =
rname->text().toUtf8();
194 name_bytes =
name->text().toUtf8();
195 rname_bytes =
rname->text().toUtf8();
245 if (pgov.ruledit_disabled) {
278 name->setEnabled(!checked);
304 uni.
kind = VUT_GOVERNMENT;
void display_msg(const char *msg)
Display status message.
void open_req_edit(const QString &target, struct requirement_vector *preqs)
Open req_edit dialog.
requirers_dlg * create_requirers(const char *title)
Create requirers dlg.
void open_effect_edit(const QString &target, struct universal *uni, enum effect_filter_main_class efmc)
Open effect_edit dialog.
void delete_now()
User requested government deletion.
tab_gov(ruledit_gui *ui_in)
Setup tab_gov object.
void edit_effects()
User wants to edit effects.
void add_now()
User requested new government.
bool initialize_new_gov(struct government *pgov)
Initialize new government for use.
void update_gov_info(struct government *pgov)
Update info of the government.
void edit_reqs()
User wants to edit reqs.
struct government * selected
void refresh()
Refresh the information.
void same_name_toggle(bool checked)
Toggled whether rule_name and name should be kept identical.
void name_given()
User entered name for the government.
void select_gov()
User selected government from the list.
struct government * government_by_number(const Government_type_id gov)
Return the government with the given index.
const char * government_rule_name(const struct government *pgovern)
Return the (untranslated) rule name of the government.
struct government * government_by_rule_name(const char *name)
Returns the government that has the given (untranslated) rule name.
std::vector< government > governments
Government_type_id government_index(const struct government *pgovern)
Return the government index.
static void name_set(struct name_translation *ptrans, const char *domain, const char *vernacular_name)
static const char * untranslated_name(const struct name_translation *ptrans)
static void names_set(struct name_translation *ptrans, const char *domain, const char *vernacular_name, const char *rule_name)
void show_experimental(QWidget *wdg)
Show widget if experimental features enabled, hide otherwise.
void ruledit_qt_display_requirers(const char *msg, void *data)
Display requirer list.
struct packet_ruleset_control control
struct requirement_vector reqs
struct name_translation name
struct government * govern
bool is_government_needed(struct government *pgov, requirers_cb cb, void *data)
Check if anything in ruleset needs government.