summaryrefslogtreecommitdiff
path: root/fluid/nodes/Widget_Node.cxx
diff options
context:
space:
mode:
authormaxim nikonov <maxim.nikonov@hqo.co>2026-02-05 23:48:25 +0500
committermaxim nikonov <maxim.nikonov@hqo.co>2026-02-05 23:48:25 +0500
commitc53067d2f6cfd6e3c6b476c51ab8c4b931e40a30 (patch)
tree95bfab59b2d9a38a57b6aa05244cab2d0435c7d2 /fluid/nodes/Widget_Node.cxx
parent57860e277f2298ad6c0830b1492087cfa124c862 (diff)
wip
Diffstat (limited to 'fluid/nodes/Widget_Node.cxx')
-rw-r--r--fluid/nodes/Widget_Node.cxx184
1 files changed, 92 insertions, 92 deletions
diff --git a/fluid/nodes/Widget_Node.cxx b/fluid/nodes/Widget_Node.cxx
index b02e53e66..929a88bf9 100644
--- a/fluid/nodes/Widget_Node.cxx
+++ b/fluid/nodes/Widget_Node.cxx
@@ -71,7 +71,7 @@ int Widget_Node::is_public() const {
}
std::string subclassname(Node* l) {
- if (l->is_a(Type::Menu_Bar)) {
+ if (l->is_a(FLD_NODE_TYPE_Menu_Bar)) {
Menu_Bar_Node* mb = static_cast<Menu_Bar_Node*>(l);
if (mb->is_sys_menu_bar())
return mb->sys_menubar_name();
@@ -85,7 +85,7 @@ std::string subclassname(Node* l) {
return "Fl_Group";
if (p->o->type() == FL_DOUBLE_WINDOW)
return "Fl_Double_Window";
- if (p->type() == Type::Input) {
+ if (p->type() == FLD_NODE_TYPE_Input) {
if (p->o->type() == FL_FLOAT_INPUT)
return "Fl_Float_Input";
if (p->o->type() == FL_INT_INPUT)
@@ -111,7 +111,7 @@ Node* Widget_Node::make(Strategy strategy) {
Node* anchor = Fluid.proj.tree.current, *pp = anchor;
if (pp && (strategy.placement() == Strategy::AFTER_CURRENT))
pp = pp->parent;
- while (pp && !pp->is_a(Type::Group)) {
+ while (pp && !pp->is_a(FLD_NODE_TYPE_Group)) {
anchor = pp;
strategy.placement(Strategy::AFTER_CURRENT);
pp = pp->parent;
@@ -132,7 +132,7 @@ Node* Widget_Node::make(Strategy strategy) {
B = 25;
int ULX,ULY; // parent's origin in window
- if (!p->is_a(Type::Window)) { // if it is a group, add corner
+ if (!p->is_a(FLD_NODE_TYPE_Window)) { // if it is a group, add corner
ULX = p->o->x(); ULY = p->o->y();
} else {
ULX = ULY = 0;
@@ -140,7 +140,7 @@ Node* Widget_Node::make(Strategy strategy) {
// Figure out a position and size for the widget
int X,Y,W,H;
- if (is_a(Type::Group)) { // fill the parent with the widget
+ if (is_a(FLD_NODE_TYPE_Group)) { // fill the parent with the widget
X = ULX+B;
W = p->o->w()-B;
Y = ULY+B;
@@ -184,7 +184,7 @@ Node* Widget_Node::make(Strategy strategy) {
}
void Widget_Node::setimage(Image_Asset* i) {
- if (i == image || is_a(Type::Window))
+ if (i == image || is_a(FLD_NODE_TYPE_Window))
return;
if (image)
image->dec_ref();
@@ -206,7 +206,7 @@ void Widget_Node::setimage(Image_Asset* i) {
}
void Widget_Node::setinactive(Image_Asset* i) {
- if (i == inactive || is_a(Type::Window))
+ if (i == inactive || is_a(FLD_NODE_TYPE_Window))
return;
if (inactive)
inactive->dec_ref();
@@ -275,11 +275,11 @@ void Widget_Node::inactive_name(const std::string& name) {
void Widget_Node::redraw() {
Node* t = this;
- if (is_a(Type::Menu_Item)) {
+ if (is_a(FLD_NODE_TYPE_Menu_Item)) {
// find the menu button that parents this menu:
do {
t = t->parent;
- } while (t && t->is_a(Type::Menu_Item));
+ } while (t && t->is_a(FLD_NODE_TYPE_Menu_Item));
// kludge to cause build_menu to be called again:
if (t)
t->add_child(nullptr, nullptr);
@@ -764,7 +764,7 @@ void set_whenmenu(int n) {
uchar Widget_Node::resizable() const {
- if (is_a(Type::Window))
+ if (is_a(FLD_NODE_TYPE_Window))
return ((Fl_Window*)o)->resizable() != nullptr;
Fl_Group* p = (Fl_Group*)o->parent();
if (p)
@@ -777,7 +777,7 @@ void Widget_Node::resizable(uchar v) {
if (v) {
if (resizable())
return;
- if (is_a(Type::Window)) {
+ if (is_a(FLD_NODE_TYPE_Window)) {
((Fl_Window*)o)->resizable(o);
} else {
Fl_Group* p = (Fl_Group*)o->parent();
@@ -786,7 +786,7 @@ void Widget_Node::resizable(uchar v) {
} else {
if (!resizable())
return;
- if (is_a(Type::Window)) {
+ if (is_a(FLD_NODE_TYPE_Window)) {
((Fl_Window*)o)->resizable(nullptr);
} else {
Fl_Group* p = (Fl_Group*)o->parent();
@@ -907,7 +907,7 @@ void color_common(Fl_Color c) {
if (o->selected && o->is_widget()) {
Widget_Node* q = (Widget_Node*)o;
q->o->color(c); q->o->redraw();
- if (q->parent && q->parent->is_a(Type::Tabs)) {
+ if (q->parent && q->parent->is_a(FLD_NODE_TYPE_Tabs)) {
if (q->o->parent()) {
q->o->parent()->redraw();
}
@@ -979,7 +979,7 @@ static Fl_Menu_Item alignmenu[] = {
void align_cb(Fl_Button* i, void* v) {
Fl_Align b = Fl_Align(fl_uintptr_t(i->user_data()));
if (v == LOAD) {
- if (current_widget->is_a(Type::Menu_Item)) {
+ if (current_widget->is_a(FLD_NODE_TYPE_Menu_Item)) {
i->deactivate();
return;
} else {
@@ -1022,7 +1022,7 @@ void align_cb(Fl_Button* i, void* v) {
void align_position_cb(Fl_Choice* i, void* v) {
if (v == LOAD) {
- if (current_widget->is_a(Type::Menu_Item)) {
+ if (current_widget->is_a(FLD_NODE_TYPE_Menu_Item)) {
i->deactivate();
return;
} else {
@@ -1057,7 +1057,7 @@ void align_position_cb(Fl_Choice* i, void* v) {
void align_text_image_cb(Fl_Choice* i, void* v) {
if (v == LOAD) {
- if (current_widget->is_a(Type::Menu_Item)) {
+ if (current_widget->is_a(FLD_NODE_TYPE_Menu_Item)) {
i->deactivate();
return;
} else {
@@ -1136,14 +1136,14 @@ void textcolor_common(Fl_Color c) {
// void (*load_margin)(Fl_Flex*,Fl_Value_Input*),
// int (*update_margin)(Fl_Flex*,int)) {
// if (v == LOAD) {
-// if (current_widget->is_a(Type::Flex)) {
+// if (current_widget->is_a(FLD_NODE_TYPE_Flex)) {
// load_margin((Fl_Flex*)current_widget->o, i);
// }
// } else {
// int mod = 0;
// int new_value = (int)i->value();
// for (Node* o = Fluid.proj.tree.first; o; o = o->next) {
-// if (o->selected && o->is_a(Type::Flex)) {
+// if (o->selected && o->is_a(FLD_NODE_TYPE_Flex)) {
// Flex_Node* q = (Flex_Node*)o;
// Fl_Flex* w = (Fl_Flex*)q->o;
// if (update_margin(w, new_value)) {
@@ -1281,7 +1281,7 @@ void live_mode_cb(Fl_Button* o, void *) {
live_window->resizable(live_widget);
live_window->set_modal(); // block all other UI
live_window->callback(leave_live_mode_cb);
- if (current_widget->is_a(Type::Window)) {
+ if (current_widget->is_a(FLD_NODE_TYPE_Window)) {
Window_Node* w = (Window_Node*)current_widget;
int mw = w->sr_min_w; if (mw>0) mw += 20;
int mh = w->sr_min_h; if (mh>0) mh += 55;
@@ -1315,35 +1315,35 @@ void load_panel() {
numselected = 0;
current_widget = nullptr;
if (Fluid.proj.tree.current) {
- if (Fluid.proj.tree.current->is_a(Type::Data)) {
+ if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_Data)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(data_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::Comment)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_Comment)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(comment_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::Class)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_Class)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(class_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::DeclBlock)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_DeclBlock)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(declblock_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::Decl)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_Decl)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(decl_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::CodeBlock)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_CodeBlock)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(codeblock_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::Code)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_Code)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(code_tabs);
numselected = 1;
- } else if (Fluid.proj.tree.current->is_a(Type::Function)) {
+ } else if (Fluid.proj.tree.current->is_a(FLD_NODE_TYPE_Function)) {
current_node = Fluid.proj.tree.current;
tabs_wizard->value(func_tabs);
numselected = 1;
@@ -1361,7 +1361,7 @@ void load_panel() {
}
if (current_widget) {
tabs_wizard->value(widget_tabs);
- if (current_widget && current_widget->is_a(Type::Grid)) {
+ if (current_widget && current_widget->is_a(FLD_NODE_TYPE_Grid)) {
if (widget_tab_grid->parent()!=widget_tabs)
widget_tabs->add(widget_tab_grid);
} else {
@@ -1369,7 +1369,7 @@ void load_panel() {
widget_tabs_repo->add(widget_tab_grid);
}
}
- if (current_widget && current_widget->parent && current_widget->parent->is_a(Type::Grid)) {
+ if (current_widget && current_widget->parent && current_widget->parent->is_a(FLD_NODE_TYPE_Grid)) {
if (widget_tab_grid_child->parent()!=widget_tabs)
widget_tabs->add(widget_tab_grid_child);
} else {
@@ -1566,7 +1566,7 @@ void Widget_Node::write_static(fld::io::Code_Writer& f) {
f.write_c(", %s", ut);
if (use_v) f.write_c(" v");
f.write_c(") {\n");
- f.tag(Mergeback::Tag::GENERIC, Mergeback::Tag::WIDGET_CALLBACK, 0);
+ f.tag(FLD_MERGEBACK_TAG_GENERIC, FLD_MERGEBACK_TAG_WIDGET_CALLBACK, 0);
f.write_c_indented(callback(), 1, 0);
if (*(d-1) != ';' && *(d-1) != '}') {
const char* p = strrchr(callback(), '\n');
@@ -1577,7 +1577,7 @@ void Widget_Node::write_static(fld::io::Code_Writer& f) {
if (*p != '#' && *p) f.write_c(";");
}
f.write_c("\n");
- f.tag(Mergeback::Tag::WIDGET_CALLBACK, Mergeback::Tag::GENERIC, get_uid());
+ f.tag(FLD_MERGEBACK_TAG_WIDGET_CALLBACK, FLD_MERGEBACK_TAG_GENERIC, get_uid());
f.write_c("}\n");
if (k) {
f.write_c("void %s::%s(%s* o, %s v) {\n", k, cn, t.c_str(), ut);
@@ -1585,7 +1585,7 @@ void Widget_Node::write_static(fld::io::Code_Writer& f) {
Node* q = nullptr;
for (Node* p = parent; p && p->is_widget(); q = p, p = p->parent)
f.write_c("->parent()");
- if (!q || !q->is_a(Type::Widget_Class))
+ if (!q || !q->is_a(FLD_NODE_TYPE_Widget_Class))
f.write_c("->user_data()");
f.write_c("))->%s_i(o,v);\n}\n", cn);
}
@@ -1617,7 +1617,7 @@ void Widget_Node::write_code1(fld::io::Code_Writer& f) {
f.write_h("%sstatic void %s(%s*, %s);\n", f.indent(1), cn, t.c_str(), ut);
}
// figure out if local variable will be used (prevent compiler warnings):
- int wused = !name() && is_a(Type::Window);
+ int wused = !name() && is_a(FLD_NODE_TYPE_Window);
const char* ptr;
f.varused = wused;
@@ -1679,14 +1679,14 @@ void Widget_Node::write_code1(fld::io::Code_Writer& f) {
write_comment_inline_c(f);
if (f.varused) f.write_c("%s* o = ", t.c_str());
if (name()) f.write_c("%s = ", name());
- if (is_a(Type::Window)) {
+ if (is_a(FLD_NODE_TYPE_Window)) {
// Handle special case where user is faking a Fl_Group type as a window,
// there is no 2-argument constructor in that case:
if (t.find("Window")==t.npos)
f.write_c("new %s(0, 0, %d, %d", t.c_str(), o->w(), o->h());
else
f.write_c("new %s(%d, %d", t.c_str(), o->w(), o->h());
- } else if (is_a(Type::Menu_Bar)
+ } else if (is_a(FLD_NODE_TYPE_Menu_Bar)
&& ((Menu_Bar_Node*)this)->is_sys_menu_bar()
&& is_in_class()) {
f.write_c("(%s*)new %s(%d, %d, %d, %d",
@@ -1698,15 +1698,15 @@ void Widget_Node::write_code1(fld::io::Code_Writer& f) {
if (label() && *label()) {
f.write_c(", ");
switch (Fluid.proj.i18n.type) {
- case fld::I18n_Type::NONE : /* None */
+ case FLD_I18N_TYPE_NONE : /* None */
f.write_cstring(label());
break;
- case fld::I18n_Type::GNU : /* GNU gettext */
+ case FLD_I18N_TYPE_GNU : /* GNU gettext */
f.write_c("%s(", Fluid.proj.i18n.gnu_function.c_str());
f.write_cstring(label());
f.write_c(")");
break;
- case fld::I18n_Type::POSIX : /* POSIX catgets */
+ case FLD_I18N_TYPE_POSIX : /* POSIX catgets */
f.write_c("catgets(%s,%s,%d,",
Fluid.proj.i18n.posix_file.empty() ? "_catalog" : Fluid.proj.i18n.posix_file.c_str(),
Fluid.proj.i18n.posix_set.c_str(), msgnum());
@@ -1772,15 +1772,15 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
if (!tooltip().empty()) {
f.write_c("%s%s->tooltip(",f.indent(), var);
switch (Fluid.proj.i18n.type) {
- case fld::I18n_Type::NONE : /* None */
+ case FLD_I18N_TYPE_NONE : /* None */
f.write_cstring(tooltip().c_str());
break;
- case fld::I18n_Type::GNU : /* GNU gettext */
+ case FLD_I18N_TYPE_GNU : /* GNU gettext */
f.write_c("%s(", Fluid.proj.i18n.gnu_function.c_str());
f.write_cstring(tooltip().c_str());
f.write_c(")");
break;
- case fld::I18n_Type::POSIX : /* POSIX catgets */
+ case FLD_I18N_TYPE_POSIX : /* POSIX catgets */
f.write_c("catgets(%s,%s,%d,",
Fluid.proj.i18n.posix_file.empty() ? "_catalog" : Fluid.proj.i18n.posix_file.c_str(),
Fluid.proj.i18n.posix_set.c_str(),
@@ -1792,9 +1792,9 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
f.write_c(");\n");
}
- if (is_a(Type::Spinner) && ((Fl_Spinner*)o)->type() != ((Fl_Spinner*)tplate)->type())
+ if (is_a(FLD_NODE_TYPE_Spinner) && ((Fl_Spinner*)o)->type() != ((Fl_Spinner*)tplate)->type())
f.write_c("%s%s->type(%d);\n", f.indent(), var, ((Fl_Spinner*)o)->type());
- else if (o->type() != tplate->type() && !is_a(Type::Window))
+ else if (o->type() != tplate->type() && !is_a(FLD_NODE_TYPE_Window))
f.write_c("%s%s->type(%d);\n", f.indent(), var, o->type());
if (o->box() != tplate->box() || !subclass().empty())
f.write_c("%s%s->box(FL_%s);\n", f.indent(), var, boxname(o->box()));
@@ -1802,9 +1802,9 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
// write shortcut command if needed
int shortcut = 0;
if (is_button()) shortcut = ((Fl_Button*)o)->shortcut();
- else if (is_a(Type::Input)) shortcut = ((Fl_Input_*)o)->shortcut();
- else if (is_a(Type::Value_Input)) shortcut = ((Fl_Value_Input*)o)->shortcut();
- else if (is_a(Type::Text_Display)) shortcut = ((Fl_Text_Display*)o)->shortcut();
+ else if (is_a(FLD_NODE_TYPE_Input)) shortcut = ((Fl_Input_*)o)->shortcut();
+ else if (is_a(FLD_NODE_TYPE_Value_Input)) shortcut = ((Fl_Value_Input*)o)->shortcut();
+ else if (is_a(FLD_NODE_TYPE_Text_Display)) shortcut = ((Fl_Text_Display*)o)->shortcut();
if (shortcut) {
int s = shortcut;
f.write_c("%s%s->shortcut(", f.indent(), var);
@@ -1823,17 +1823,17 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
f.write_c("0x%x);\n", s);
}
- if (is_a(Type::Button)) {
+ if (is_a(FLD_NODE_TYPE_Button)) {
Fl_Button* b = (Fl_Button*)o;
if (b->down_box()) f.write_c("%s%s->down_box(FL_%s);\n", f.indent(), var,
boxname(b->down_box()));
if (b->value()) f.write_c("%s%s->value(1);\n", f.indent(), var);
if (b->compact()) f.write_c("%s%s->compact(%d);\n", f.indent(), var, b->compact());
- } else if (is_a(Type::Input_Choice)) {
+ } else if (is_a(FLD_NODE_TYPE_Input_Choice)) {
Fl_Input_Choice* b = (Fl_Input_Choice*)o;
if (b->down_box()) f.write_c("%s%s->down_box(FL_%s);\n", f.indent(), var,
boxname(b->down_box()));
- } else if (is_a(Type::Menu_Manager_)) {
+ } else if (is_a(FLD_NODE_TYPE_Menu_Manager_)) {
Fl_Menu_* b = (Fl_Menu_*)o;
if (b->down_box()) f.write_c("%s%s->down_box(FL_%s);\n", f.indent(), var,
boxname(b->down_box()));
@@ -1885,7 +1885,7 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
f.write_c("%s%s->vertical_label_margin(%d);\n", f.indent(), var, o->vertical_label_margin());
if (o->label_image_spacing() != tplate->label_image_spacing())
f.write_c("%s%s->label_image_spacing(%d);\n", f.indent(), var, o->label_image_spacing());
- if (is_a(Type::Valuator_)) {
+ if (is_a(FLD_NODE_TYPE_Valuator_)) {
Fl_Valuator* v = (Fl_Valuator*)o;
Fl_Valuator* t = (Fl_Valuator*)(tplate);
if (v->minimum()!=t->minimum())
@@ -1895,19 +1895,19 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
if (v->step()!=t->step())
f.write_c("%s%s->step(%g);\n", f.indent(), var, v->step());
if (v->value()) {
- if (is_a(Type::Scrollbar)) { // Fl_Scrollbar::value(double) is not available
+ if (is_a(FLD_NODE_TYPE_Scrollbar)) { // Fl_Scrollbar::value(double) is not available
f.write_c("%s%s->Fl_Slider::value(%g);\n", f.indent(), var, v->value());
} else {
f.write_c("%s%s->value(%g);\n", f.indent(), var, v->value());
}
}
- if (is_a(Type::Slider)) {
+ if (is_a(FLD_NODE_TYPE_Slider)) {
double x = ((Fl_Slider*)v)->slider_size();
double y = ((Fl_Slider*)t)->slider_size();
if (x != y) f.write_c("%s%s->slider_size(%g);\n", f.indent(), var, x);
}
}
- if (is_a(Type::Spinner)) {
+ if (is_a(FLD_NODE_TYPE_Spinner)) {
Fl_Spinner* v = (Fl_Spinner*)o;
Fl_Spinner* t = (Fl_Spinner*)(tplate);
if (v->minimum()!=t->minimum())
@@ -1931,10 +1931,10 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
if (callback()) {
if (callback()[0] == '[') {
f.write_c("%s%s->callback(\n", f.indent(), var);
- f.tag(Mergeback::Tag::GENERIC, Mergeback::Tag::WIDGET_CALLBACK, 0);
+ f.tag(FLD_MERGEBACK_TAG_GENERIC, FLD_MERGEBACK_TAG_WIDGET_CALLBACK, 0);
f.write_c_indented(callback(), 1, 0);
f.write_c("\n");
- f.tag(Mergeback::Tag::WIDGET_CALLBACK, Mergeback::Tag::GENERIC, get_uid());
+ f.tag(FLD_MERGEBACK_TAG_WIDGET_CALLBACK, FLD_MERGEBACK_TAG_GENERIC, get_uid());
f.write_c("%s", f.indent_plus(1));
} else {
f.write_c("%s%s->callback((Fl_Callback*)%s", f.indent(), var, callback_name(f));
@@ -1960,12 +1960,12 @@ void Widget_Node::write_widget_code(fld::io::Code_Writer& f) {
f.write_c("%s%s->hide();\n", f.indent(), var);
if (!o->active())
f.write_c("%s%s->deactivate();\n", f.indent(), var);
- if (!is_a(Type::Group) && resizable())
+ if (!is_a(FLD_NODE_TYPE_Group) && resizable())
f.write_c("%sFl_Group::current()->resizable(%s);\n", f.indent(), var);
if (hotspot()) {
if (is_class())
f.write_c("%shotspot(%s);\n", f.indent(), var);
- else if (is_a(Type::Window))
+ else if (is_a(FLD_NODE_TYPE_Window))
f.write_c("%s%s->hotspot(%s);\n", f.indent(), var, var);
else
f.write_c("%s%s->window()->hotspot(%s);\n", f.indent(), var, var);
@@ -2021,38 +2021,38 @@ void Widget_Node::write_properties(fld::io::Project_Writer &f) {
if (bind_deimage_) f.write_string("bind_deimage 1");
f.write_string("xywh {%d %d %d %d}", o->x(), o->y(), o->w(), o->h());
Fl_Widget* tplate = ((Widget_Node*)factory)->o;
- if (is_a(Type::Spinner) && ((Fl_Spinner*)o)->type() != ((Fl_Spinner*)tplate)->type()) {
+ if (is_a(FLD_NODE_TYPE_Spinner) && ((Fl_Spinner*)o)->type() != ((Fl_Spinner*)tplate)->type()) {
f.write_string("type");
f.write_word(item_name(subtypes(), ((Fl_Spinner*)o)->type()));
- } else if (subtypes() && (o->type() != tplate->type() || is_a(Type::Window))) {
+ } else if (subtypes() && (o->type() != tplate->type() || is_a(FLD_NODE_TYPE_Window))) {
f.write_string("type");
f.write_word(item_name(subtypes(), o->type()));
}
if (o->box() != tplate->box()) {
f.write_string("box"); f.write_word(boxname(o->box()));}
- if (is_a(Type::Input)) {
+ if (is_a(FLD_NODE_TYPE_Input)) {
Fl_Input_* b = (Fl_Input_*)o;
if (b->shortcut()) f.write_string("shortcut 0x%x", b->shortcut());
}
- if (is_a(Type::Value_Input)) {
+ if (is_a(FLD_NODE_TYPE_Value_Input)) {
Fl_Value_Input* b = (Fl_Value_Input*)o;
if (b->shortcut()) f.write_string("shortcut 0x%x", b->shortcut());
}
- if (is_a(Type::Text_Display)) {
+ if (is_a(FLD_NODE_TYPE_Text_Display)) {
Fl_Text_Display* b = (Fl_Text_Display*)o;
if (b->shortcut()) f.write_string("shortcut 0x%x", b->shortcut());
}
- if (is_a(Type::Button)) {
+ if (is_a(FLD_NODE_TYPE_Button)) {
Fl_Button* b = (Fl_Button*)o;
if (b->down_box()) {
f.write_string("down_box"); f.write_word(boxname(b->down_box()));}
if (b->shortcut()) f.write_string("shortcut 0x%x", b->shortcut());
if (b->value()) f.write_string("value 1");
- } else if (is_a(Type::Input_Choice)) {
+ } else if (is_a(FLD_NODE_TYPE_Input_Choice)) {
Fl_Input_Choice* b = (Fl_Input_Choice*)o;
if (b->down_box()) {
f.write_string("down_box"); f.write_word(boxname(b->down_box()));}
- } else if (is_a(Type::Menu_)) {
+ } else if (is_a(FLD_NODE_TYPE_Menu_)) {
Fl_Menu_* b = (Fl_Menu_*)o;
if (b->down_box()) {
f.write_string("down_box"); f.write_word(boxname(b->down_box()));}
@@ -2081,20 +2081,20 @@ void Widget_Node::write_properties(fld::io::Project_Writer &f) {
f.write_string("image_spacing %d", o->label_image_spacing());
if (o->when() != tplate->when())
f.write_string("when %d", o->when());
- if (is_a(Type::Valuator_)) {
+ if (is_a(FLD_NODE_TYPE_Valuator_)) {
Fl_Valuator* v = (Fl_Valuator*)o;
Fl_Valuator* t = (Fl_Valuator*)(tplate);
if (v->minimum()!=t->minimum()) f.write_string("minimum %g",v->minimum());
if (v->maximum()!=t->maximum()) f.write_string("maximum %g",v->maximum());
if (v->step()!=t->step()) f.write_string("step %g",v->step());
if (v->value()!=0.0) f.write_string("value %g",v->value());
- if (is_a(Type::Slider)) {
+ if (is_a(FLD_NODE_TYPE_Slider)) {
double x = ((Fl_Slider*)v)->slider_size();
double y = ((Fl_Slider*)t)->slider_size();
if (x != y) f.write_string("slider_size %g", x);
}
}
- if (is_a(Type::Spinner)) {
+ if (is_a(FLD_NODE_TYPE_Spinner)) {
Fl_Spinner* v = (Fl_Spinner*)o;
Fl_Spinner* t = (Fl_Spinner*)(tplate);
if (v->minimum()!=t->minimum()) f.write_string("minimum %g",v->minimum());
@@ -2111,7 +2111,7 @@ void Widget_Node::write_properties(fld::io::Project_Writer &f) {
if (!o->visible() && !override_visible_) f.write_string("hide");
if (!o->active()) f.write_string("deactivate");
if (resizable()) f.write_string("resizable");
- if (hotspot()) f.write_string(is_a(Type::Menu_Item) ? "divider" : "hotspot");
+ if (hotspot()) f.write_string(is_a(FLD_NODE_TYPE_Menu_Item) ? "divider" : "hotspot");
if (menu_headline()) f.write_string("headline");
for (int n=0; n < NUM_EXTRA_CODE; n++) if (!extra_code(n).empty()) {
f.write_indent(level+1);
@@ -2183,7 +2183,7 @@ void Widget_Node::read_property(fld::io::Project_Reader &f, const char* c) {
} else if (!strcmp(c,"compress_deimage")) {
compress_deimage_ = (int)atol(f.read_word());
} else if (!strcmp(c,"type")) {
- if (is_a(Type::Spinner))
+ if (is_a(FLD_NODE_TYPE_Spinner))
((Fl_Spinner*)o)->type(item_number(subtypes(), f.read_word()));
else
o->type(item_number(subtypes(), f.read_word()));
@@ -2193,19 +2193,19 @@ void Widget_Node::read_property(fld::io::Project_Reader &f, const char* c) {
if (x == ZERO_ENTRY) x = 0;
o->box((Fl_Boxtype)x);
} else if (sscanf(value,"%d",&x) == 1) o->box((Fl_Boxtype)x);
- } else if (is_a(Type::Button) && !strcmp(c,"down_box")) {
+ } else if (is_a(FLD_NODE_TYPE_Button) && !strcmp(c,"down_box")) {
const char* value = f.read_word();
if ((x = boxnumber(value))) {
if (x == ZERO_ENTRY) x = 0;
((Fl_Button*)o)->down_box((Fl_Boxtype)x);
}
- } else if (is_a(Type::Input_Choice) && !strcmp(c,"down_box")) {
+ } else if (is_a(FLD_NODE_TYPE_Input_Choice) && !strcmp(c,"down_box")) {
const char* value = f.read_word();
if ((x = boxnumber(value))) {
if (x == ZERO_ENTRY) x = 0;
((Fl_Input_Choice*)o)->down_box((Fl_Boxtype)x);
}
- } else if (is_a(Type::Menu_) && !strcmp(c,"down_box")) {
+ } else if (is_a(FLD_NODE_TYPE_Menu_) && !strcmp(c,"down_box")) {
const char* value = f.read_word();
if ((x = boxnumber(value))) {
if (x == ZERO_ENTRY) x = 0;
@@ -2258,18 +2258,18 @@ void Widget_Node::read_property(fld::io::Project_Reader &f, const char* c) {
} else if (!strcmp(c,"when")) {
if (sscanf(f.read_word(),"%d",&x) == 1) o->when(x);
} else if (!strcmp(c,"minimum")) {
- if (is_a(Type::Valuator_)) ((Fl_Valuator*)o)->minimum(strtod(f.read_word(),nullptr));
- if (is_a(Type::Spinner)) ((Fl_Spinner*)o)->minimum(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Valuator_)) ((Fl_Valuator*)o)->minimum(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Spinner)) ((Fl_Spinner*)o)->minimum(strtod(f.read_word(),nullptr));
} else if (!strcmp(c,"maximum")) {
- if (is_a(Type::Valuator_)) ((Fl_Valuator*)o)->maximum(strtod(f.read_word(),nullptr));
- if (is_a(Type::Spinner)) ((Fl_Spinner*)o)->maximum(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Valuator_)) ((Fl_Valuator*)o)->maximum(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Spinner)) ((Fl_Spinner*)o)->maximum(strtod(f.read_word(),nullptr));
} else if (!strcmp(c,"step")) {
- if (is_a(Type::Valuator_)) ((Fl_Valuator*)o)->step(strtod(f.read_word(),nullptr));
- if (is_a(Type::Spinner)) ((Fl_Spinner*)o)->step(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Valuator_)) ((Fl_Valuator*)o)->step(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Spinner)) ((Fl_Spinner*)o)->step(strtod(f.read_word(),nullptr));
} else if (!strcmp(c,"value")) {
- if (is_a(Type::Valuator_)) ((Fl_Valuator*)o)->value(strtod(f.read_word(),nullptr));
- if (is_a(Type::Spinner)) ((Fl_Spinner*)o)->value(strtod(f.read_word(),nullptr));
- } else if ( (!strcmp(c,"slider_size") || !strcmp(c,"size")) && is_a(Type::Slider)) {
+ if (is_a(FLD_NODE_TYPE_Valuator_)) ((Fl_Valuator*)o)->value(strtod(f.read_word(),nullptr));
+ if (is_a(FLD_NODE_TYPE_Spinner)) ((Fl_Spinner*)o)->value(strtod(f.read_word(),nullptr));
+ } else if ( (!strcmp(c,"slider_size") || !strcmp(c,"size")) && is_a(FLD_NODE_TYPE_Slider)) {
((Fl_Slider*)o)->slider_size(strtod(f.read_word(),nullptr));
} else if (!strcmp(c,"textfont")) {
if (sscanf(f.read_word(),"%d",&x) == 1) {ft=(Fl_Font)x; textstuff(1,ft,s,cc);}
@@ -2292,9 +2292,9 @@ void Widget_Node::read_property(fld::io::Project_Reader &f, const char* c) {
} else if (!strcmp(c,"shortcut")) {
int shortcut = (int)strtol(f.read_word(),nullptr,0);
if (is_button()) ((Fl_Button*)o)->shortcut(shortcut);
- else if (is_a(Type::Input)) ((Fl_Input_*)o)->shortcut(shortcut);
- else if (is_a(Type::Value_Input)) ((Fl_Value_Input*)o)->shortcut(shortcut);
- else if (is_a(Type::Text_Display)) ((Fl_Text_Display*)o)->shortcut(shortcut);
+ else if (is_a(FLD_NODE_TYPE_Input)) ((Fl_Input_*)o)->shortcut(shortcut);
+ else if (is_a(FLD_NODE_TYPE_Value_Input)) ((Fl_Value_Input*)o)->shortcut(shortcut);
+ else if (is_a(FLD_NODE_TYPE_Text_Display)) ((Fl_Text_Display*)o)->shortcut(shortcut);
} else {
if (!strncmp(c,"code",4)) {
int n = atoi(c+4);
@@ -2340,7 +2340,7 @@ int Widget_Node::read_fdesign(const char* propname, const char* value) {
if (sscanf(value,"%f %f %f %f",&x,&y,&w,&h) == 4) {
if (fld::io::fdesign_flip) {
Node* p;
- for (p = parent; p && !p->is_a(Type::Window); p = p->parent) {/*empty*/}
+ for (p = parent; p && !p->is_a(FLD_NODE_TYPE_Window); p = p->parent) {/*empty*/}
if (p && p->is_widget()) y = ((Widget_Node*)p)->o->h()-(y+h);
}
x += Fluid.pasteoffset;
@@ -2496,7 +2496,7 @@ void Widget_Node::copy_properties() {
}
// copy all attributes specific to widgets derived from Fl_Input_
- if (is_a(Type::Input)) {
+ if (is_a(FLD_NODE_TYPE_Input)) {
Fl_Input_* d = (Fl_Input_*)live_widget, *s = (Fl_Input_*)o;
d->shortcut(s->shortcut());
d->textfont(ff);
@@ -2505,7 +2505,7 @@ void Widget_Node::copy_properties() {
}
// copy all attributes specific to widgets derived from Fl_Value_Input
- if (is_a(Type::Value_Input)) {
+ if (is_a(FLD_NODE_TYPE_Value_Input)) {
Fl_Value_Input* d = (Fl_Value_Input*)live_widget, *s = (Fl_Value_Input*)o;
d->shortcut(s->shortcut());
d->textfont(ff);
@@ -2514,7 +2514,7 @@ void Widget_Node::copy_properties() {
}
// copy all attributes specific to widgets derived from Fl_Text_Display
- if (is_a(Type::Text_Display)) {
+ if (is_a(FLD_NODE_TYPE_Text_Display)) {
Fl_Text_Display* d = (Fl_Text_Display*)live_widget, *s = (Fl_Text_Display*)o;
d->shortcut(s->shortcut());
d->textfont(ff);
@@ -2523,20 +2523,20 @@ void Widget_Node::copy_properties() {
}
// copy all attributes specific to Fl_Valuator and derived classes
- if (is_a(Type::Valuator_)) {
+ if (is_a(FLD_NODE_TYPE_Valuator_)) {
Fl_Valuator* d = (Fl_Valuator*)live_widget, *s = (Fl_Valuator*)o;
d->minimum(s->minimum());
d->maximum(s->maximum());
d->step(s->step());
d->value(s->value());
- if (is_a(Type::Slider)) {
+ if (is_a(FLD_NODE_TYPE_Slider)) {
Fl_Slider* d = (Fl_Slider*)live_widget, *s = (Fl_Slider*)o;
d->slider_size(s->slider_size());
}
}
// copy all attributes specific to Fl_Spinner and derived classes
- if (is_a(Type::Spinner)) {
+ if (is_a(FLD_NODE_TYPE_Spinner)) {
Fl_Spinner* d = (Fl_Spinner*)live_widget, *s = (Fl_Spinner*)o;
d->minimum(s->minimum());
d->maximum(s->maximum());