diff --git a/fluid/Fl_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index 38b883f27..7b3685b68 100644 --- a/fluid/Fl_Function_Type.cxx +++ b/fluid/Fl_Function_Type.cxx @@ -927,46 +927,60 @@ void Fl_Data_Type::write_code1() { } else { fn = fn ? filename_ : ""; } - const char *variableType = text_mode_ ? "char" : "unsigned char"; - if (is_in_class()) { + if (is_in_class()) { write_public(public_); write_comment_h(" "); - write_h(" static %s %s[%d];\n", variableType, c, nData); - write_c("%s %s::%s[%d] = /* data inlined from %s */\n", variableType, class_name(1), c, nData, fn); - if (message) write_c("#error %s %s\n", message, fn); - if (text_mode_) - write_cstring(data, nData); - else - write_cdata(data, nData); + if (text_mode_) { + write_h(" static char *%s;\n", c); + write_c("char *%s::%s = /* text inlined from %s */\n", class_name(1), c, fn); + if (message) write_c("#error %s %s\n", message, fn); + write_cstring(data, nData); + } else { + write_h(" static unsigned char %s[%d];\n", c, nData); + write_c("unsigned char %s::%s[%d] = /* data inlined from %s */\n", class_name(1), c, nData, fn); + if (message) write_c("#error %s %s\n", message, fn); + write_cdata(data, nData); + } write_c(";\n"); } else { // the "header only" option does not apply here! if (public_) { if (static_) { - write_h("extern %s %s[%d];\n", variableType, c, nData); - write_comment_c(); - write_c("%s %s[%d] = /* data inlined from %s */\n", variableType, c, nData, fn); - if (message) write_c("#error %s %s\n", message, fn); - if (text_mode_) - write_cstring(data, nData); - else - write_cdata(data, nData); + if (text_mode_) { + write_h("extern char *%s;\n", c); + write_comment_c(); + write_c("char *%s = /* text inlined from %s */\n", c, fn); + if (message) write_c("#error %s %s\n", message, fn); + write_cstring(data, nData); + } else { + write_h("extern unsigned char %s[%d];\n", c, nData); + write_comment_c(); + write_c("unsigned char %s[%d] = /* data inlined from %s */\n", c, nData, fn); + if (message) write_c("#error %s %s\n", message, fn); + write_cdata(data, nData); + } write_c(";\n"); } else { write_comment_h(); write_h("#error Unsupported declaration loading inline data %s\n", fn); - write_h("%s %s[3] = { 1, 2, 3 };\n", variableType, c); + if (text_mode_) + write_h("char *%s = \"abc...\";\n", c); + else + write_h("unsigned char %s[3] = { 1, 2, 3 };\n", c); } } else { write_comment_c(); if (static_) write_c("static "); - write_c("%s %s[%d] = /* data inlined from %s */\n", variableType, c, nData, fn); - if (message) write_c("#error %s %s\n", message, fn); - if (text_mode_) + if (text_mode_) { + write_c("char *%s = /* text inlined from %s */\n", c, fn); + if (message) write_c("#error %s %s\n", message, fn); write_cstring(data, nData); - else + } else { + write_c("unsigned char %s[%d] = /* data inlined from %s */\n", c, nData, fn); + if (message) write_c("#error %s %s\n", message, fn); write_cdata(data, nData); + } write_c(";\n"); } } diff --git a/fluid/function_panel.cxx b/fluid/function_panel.cxx index caeb22470..91d56e234 100644 --- a/fluid/function_panel.cxx +++ b/fluid/function_panel.cxx @@ -483,8 +483,8 @@ Fl_Double_Window* make_data_panel() { data_class_choice->menu(menu_data_class_choice); } // Fl_Choice* data_class_choice { data_mode = new Fl_Check_Button(200, 10, 78, 20, "text mode"); - data_mode->tooltip("When text mode is seleted, the returned type is \"const char[]\" and a traili\ -ng NUL will be appended to the data."); + data_mode->tooltip("When text mode is seleted, the returned type is \"const char*\" and a trailin\ +g NUL will be appended to the data."); data_mode->down_box(FL_DOWN_BOX); data_mode->labelsize(11); } // Fl_Check_Button* data_mode @@ -492,7 +492,7 @@ ng NUL will be appended to the data."); } // Fl_Group* o { data_input = new Fl_Input(10, 52, 320, 20, "Variable Name:"); data_input->tooltip("Inline Data variables are declared \"const unsigned char []\" in binary mode \ -and \"const char[]\" in text mode."); +and \"const char*\" in text mode."); data_input->labelfont(1); data_input->labelsize(11); data_input->textfont(4); diff --git a/fluid/function_panel.fl b/fluid/function_panel.fl index 3c1ed41c1..b46fcde37 100644 --- a/fluid/function_panel.fl +++ b/fluid/function_panel.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0304 +version 1.0400 header_name {.h} code_name {.cxx} comment {// @@ -383,12 +383,12 @@ Function {make_data_panel()} {open } Fl_Check_Button data_mode { label {text mode} - tooltip {When text mode is seleted, the returned type is "const char[]" and a trailing NUL will be appended to the data.} xywh {200 10 78 20} down_box DOWN_BOX labelsize 11 + tooltip {When text mode is seleted, the returned type is "const char*" and a trailing NUL will be appended to the data.} xywh {200 10 78 20} down_box DOWN_BOX labelsize 11 } } Fl_Input data_input { - label {Variable Name:} selected - tooltip {Inline Data variables are declared "const unsigned char []" in binary mode and "const char[]" in text mode.} xywh {10 52 320 20} labelfont 1 labelsize 11 align 133 when 0 textfont 4 textsize 11 + label {Variable Name:} + tooltip {Inline Data variables are declared "const unsigned char []" in binary mode and "const char*" in text mode.} xywh {10 52 320 20} labelfont 1 labelsize 11 align 133 when 0 textfont 4 textsize 11 } Fl_Input data_filename { label {Filename:} @@ -399,7 +399,7 @@ Function {make_data_panel()} {open xywh {290 90 40 20} labelcolor 134 } Fl_Text_Editor data_comment_input { - label {Comment:} + label {Comment:} selected tooltip {Declaration comment in Doxygen format} xywh {10 130 320 65} box DOWN_BOX labelfont 1 labelsize 11 align 5 textfont 4 textsize 11 resizable code0 {data_comment_input->buffer(new Fl_Text_Buffer());} code1 {data_comment_input->add_key_binding(FL_Tab, 0, use_tab_navigation);} @@ -536,7 +536,8 @@ Function {type_make_cb(Fl_Widget*,void*d)} {return_type void }} {} } -Function {make_widgetbin()} {} { +Function {make_widgetbin()} {open +} { Fl_Window widgetbin_panel { label {Widget Bin} callback {if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape) @@ -545,7 +546,7 @@ else toggle_widgetbin_cb((Fl_Widget*)o, v);} open xywh {410 171 574 85} type Single align 80 hide non_modal } { - Fl_Group {} { + Fl_Group {} {open xywh {3 3 79 79} } { Fl_Button {} {