FLUID: Multiple fixes

- fixes new naming of i18n class
- fixes use of deprecated setonly()
- fixes false assumption that all children of a Window are Widgets
This commit is contained in:
Matthias Melcher 2025-07-02 12:45:00 +02:00
parent 66dde26469
commit 5475f2dddd
4 changed files with 31 additions and 28 deletions

View File

@ -267,8 +267,10 @@ void Window_Node::add_child(Node* cc, Node* before) {
}
void Window_Node::remove_child(Node* cc) {
Widget_Node* c = (Widget_Node*)cc;
((Fl_Window*)o)->remove(c->o);
if (cc->is_widget()) {
Widget_Node* c = (Widget_Node*)cc;
((Fl_Window*)o)->remove(c->o);
}
o->redraw();
}

View File

@ -20,7 +20,7 @@ comment {//
} {in_source in_header
}
decl {\#include <stdlib.h> // malloc()} {selected private local
decl {\#include <stdlib.h> // malloc()} {private local
}
decl {\#include "Fluid.h"} {private local
@ -209,7 +209,7 @@ and load those into the Code Viewer widgets.} open return_type void
char fn[FL_PATH_MAX+1];
fl_strlcpy(fn, Fluid.get_tmpdir().c_str(), FL_PATH_MAX);
fl_strlcat(fn, "strings", FL_PATH_MAX);
fl_filename_setext(fn, FL_PATH_MAX, exts[static_cast<int>(Fluid.proj.i18n.i18n_type)]);
fl_filename_setext(fn, FL_PATH_MAX, exts[static_cast<int>(Fluid.proj.i18n.type)]);
fld::io::write_strings(Fluid.proj, fn);
int top = cv_strings->top_line();
cv_strings->buffer()->loadfile(fn);
@ -239,7 +239,8 @@ and load those into the Code Viewer widgets.} open return_type void
Fluid.proj.code_file_name = code_file_name_bak;
Fluid.proj.header_file_name = header_file_name_bak;
}} {}
}} {selected
}
}
Function {update_codeview_timer(void*)} {

View File

@ -542,7 +542,7 @@ static void cb_w_layout_menu(Fl_Menu_Button*, void* v) {
for (int i=1; i<4; i++) w_layout_menu_storage[i]->activate();
w_layout_menu_delete->activate();
}
w_layout_menu_storage[static_cast<int>(suite.storage_)]->setonly();
w_layout_menu_storage[static_cast<int>(suite.storage_)]->setonly(menu_w_layout_menu);
}
}
@ -2452,6 +2452,7 @@ Fl_Double_Window* make_settings_window() {
w_settings_general_tab->image( image_general_64() );
w_settings_general_tab->image()->scale(36, 24, 0, 1);
w_settings_general_tab->labelsize(11);
w_settings_general_tab->hide();
{ Fl_Group* o = new Fl_Group(120, 78, 130, 25);
o->callback((Fl_Callback*)cb_);
{ scheme_choice = new Fl_Scheme_Choice(120, 78, 120, 25, "Scheme: ");
@ -3229,7 +3230,6 @@ Fl_Double_Window* make_settings_window() {
w_settings_i18n_tab->image()->scale(36, 24, 0, 1);
w_settings_i18n_tab->labelsize(11);
w_settings_i18n_tab->callback((Fl_Callback*)cb_w_settings_i18n_tab);
w_settings_i18n_tab->hide();
{ Fl_Group* o = new Fl_Group(100, 78, 170, 20);
o->callback((Fl_Callback*)propagate_load);
{ i18n_type_chooser = new Fl_Choice(100, 78, 160, 20, "i18n Library:");

View File

@ -198,8 +198,8 @@ Function {make_settings_window()} {open
xywh {10 10 320 530} selection_color 12 labelsize 11 labelcolor 255 resizable
} {
Fl_Group w_settings_general_tab {
label General open selected
scale_image {36 24} image {../icons/general_64.png} compress_image 1 xywh {10 60 320 480} labelsize 11 resizable
label General open
scale_image {36 24} image {../icons/general_64.png} compress_image 1 xywh {10 60 320 480} labelsize 11 hide resizable
} {
Fl_Group {} {
callback {propagate_load(o, v);} open
@ -502,7 +502,7 @@ Fluid.layout_list.update_dialogs();}
for (int i=1; i<4; i++) w_layout_menu_storage[i]->activate();
w_layout_menu_delete->activate();
}
w_layout_menu_storage[static_cast<int>(suite.storage_)]->setonly();
w_layout_menu_storage[static_cast<int>(suite.storage_)]->setonly(menu_w_layout_menu);
}} open
xywh {296 78 24 24}
} {
@ -1524,7 +1524,7 @@ if (v == LOAD) {
Fl_Group w_settings_i18n_tab {
label Locale
callback {propagate_load(o, v);} open
scale_image {36 24} image {../icons/language_64.png} compress_image 1 xywh {10 60 320 480} labelsize 11 hide
scale_image {36 24} image {../icons/language_64.png} compress_image 1 xywh {10 60 320 480} labelsize 11
} {
Fl_Group {} {
callback propagate_load open
@ -1559,10 +1559,10 @@ if (v == LOAD) {
Fl_Input i18n_gnu_include_input {
label {\#include:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_gnu_include.c_str());
o->value(Fluid.proj.i18n.gnu_include.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_gnu_include = o->value();
Fluid.proj.i18n.gnu_include = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {The include file for internationalization.} xywh {100 103 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
@ -1570,10 +1570,10 @@ if (v == LOAD) {
Fl_Input i18n_gnu_conditional_input {
label {Conditional:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_gnu_conditional.c_str());
o->value(Fluid.proj.i18n.gnu_conditional.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_gnu_conditional = o->value();
Fluid.proj.i18n.gnu_conditional = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {only include the header file if this preprocessor macro is defined, for example FLTK_GETTEXT_FOUND} xywh {100 128 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
@ -1581,21 +1581,21 @@ if (v == LOAD) {
Fl_Input i18n_gnu_function_input {
label {Function:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_gnu_function.c_str());
o->value(Fluid.proj.i18n.gnu_function.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_gnu_function = o->value();
Fluid.proj.i18n.gnu_function = o->value();
Fluid.proj.set_modflag(1);
}}
}} selected
tooltip {The function to call to translate labels and tooltips, usually "gettext" or "_"} xywh {100 153 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
}
Fl_Input i18n_gnu_static_function_input {
label {Static Function:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_gnu_static_function.c_str());
o->value(Fluid.proj.i18n.gnu_static_function.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_gnu_static_function = o->value();
Fluid.proj.i18n.gnu_static_function = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {function to call to translate static text, The function to call to internationalize labels and tooltips, usually "gettext_noop" or "N_"} xywh {100 178 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
@ -1608,10 +1608,10 @@ if (v == LOAD) {
Fl_Input i18n_pos_include_input {
label {\#include:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_pos_include.c_str());
o->value(Fluid.proj.i18n.posix_include.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_pos_include = o->value();
Fluid.proj.i18n.posix_include = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {The include file for internationalization.} xywh {100 103 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
@ -1619,10 +1619,10 @@ if (v == LOAD) {
Fl_Input i18n_pos_conditional_input {
label {Conditional:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_pos_conditional.c_str());
o->value(Fluid.proj.i18n.posix_conditional.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_pos_conditional = o->value();
Fluid.proj.i18n.posix_conditional = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {only include the header file if this preprocessor macro is defined, for example FLTK_GETTEXT_FOUND} xywh {100 128 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
@ -1630,10 +1630,10 @@ if (v == LOAD) {
Fl_Input i18n_pos_file_input {
label {Catalog:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_pos_file.c_str());
o->value(Fluid.proj.i18n.posix_file.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_pos_file = o->value();
Fluid.proj.i18n.posix_file = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {The name of the message catalog.} xywh {100 153 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11
@ -1645,10 +1645,10 @@ if (v == LOAD) {
Fl_Input i18n_pos_set_input {
label {Set:}
callback {if (v == LOAD) {
o->value(Fluid.proj.i18n.i18n_pos_set.c_str());
o->value(Fluid.proj.i18n.posix_set.c_str());
} else {
Fluid.proj.undo.checkpoint();
Fluid.proj.i18n.i18n_pos_set = o->value();
Fluid.proj.i18n.posix_set = o->value();
Fluid.proj.set_modflag(1);
}}
tooltip {The message set number.} xywh {100 178 80 20} type Int box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11