51 QPushButton *effects_button;
53 QPushButton *delete_button;
65 tech_layout->setSizeConstraint(QLayout::SetMaximumSize);
67 label =
new QLabel(QString::fromUtf8(
R__(
"Rule Name")));
68 label->setParent(
this);
69 rname =
new QLineEdit(
this);
75 label =
new QLabel(QString::fromUtf8(
R__(
"Name")));
76 label->setParent(
this);
79 name =
new QLineEdit(
this);
86 edit_button =
new QPushButton(QString::fromUtf8(
R__(
"Edit Values")),
this);
90 label =
new QLabel(QString::fromUtf8(
R__(
"Req1")));
91 label->setParent(
this);
99 label =
new QLabel(QString::fromUtf8(
R__(
"Req2")));
100 label->setParent(
this);
107 label =
new QLabel(QString::fromUtf8(
R__(
"Root Req")));
108 label->setParent(
this);
116 effects_button =
new QPushButton(QString::fromUtf8(
R__(
"Effects")),
this);
120 add_button =
new QPushButton(QString::fromUtf8(
R__(
"Add tech")),
this);
124 delete_button =
new QPushButton(QString::fromUtf8(
R__(
"Remove this tech")),
this);
159 QMenu *menu =
new QMenu();
161 button->setToolButtonStyle(Qt::ToolButtonTextOnly);
162 button->setPopupMode(QToolButton::MenuButtonPopup);
179 button->setMenu(menu);
202 return QString::fromUtf8(
R__(
"Never"));
223 name->setEnabled(
false);
227 name->setEnabled(
true);
242 name->setEnabled(
false);
418 if (
padv->helptext !=
nullptr) {
void display_msg(const char *msg)
requirers_dlg * create_requirers(const char *title)
void open_effect_edit(QString target, struct universal *uni, enum effect_filter_main_class efmc)
QToolButton * root_req_button
void same_name_toggle(bool checked)
bool initialize_new_tech(struct advance *padv)
QToolButton * req1_button
void req1_menu(QAction *action)
struct advance * selected
static void techs_to_menu(QMenu *fill_menu)
QMenu * prepare_req_button(QToolButton *button, enum tech_req rn)
void req2_menu(QAction *action)
void root_req_menu(QAction *action)
QToolButton * req2_button
tab_tech(ruledit_gui *ui_in)
static QString tech_name(struct advance *padv)
void update_tech_info(struct advance *adv)
#define fc_assert(condition)
static void name_set(struct name_translation *ptrans, const char *domain, const char *vernacular_name)
static const char * rule_name_get(const struct name_translation *ptrans)
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 ruledit_qt_display_requirers(const char *msg, void *data)
void strvec_clear(struct strvec *psv)
struct advance * require[AR_SIZE]
struct name_translation name
struct packet_ruleset_control control
struct advance * advance_by_number(const Tech_type_id atype)
const char * advance_rule_name(const struct advance *padvance)
Tech_type_id advance_index(const struct advance *padvance)
struct advance * advance_by_rule_name(const char *name)
Tech_type_id advance_number(const struct advance *padvance)
#define advance_re_active_iterate(_p)
#define advance_iterate_all_end
#define advance_re_active_iterate_end
#define advance_iterate_all(_p)
#define advance_iterate(_p)
#define advance_iterate_end
bool is_tech_needed(struct advance *padv, requirers_cb cb, void *data)