summaryrefslogtreecommitdiff
path: root/test/ask.cxx
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2023-10-22 19:30:37 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2023-10-22 19:35:17 +0200
commit1209e9dcd7e1e97bedc747d06ba4eea837562158 (patch)
tree7897d3c61368958f191bfe684b96d1d08467a2bb /test/ask.cxx
parent05ac0247cbd902f910fa89f8d4f4fde9de904b0f (diff)
Make Fl_String and Fl_Int_Vector private (#789)
- add CMake option 'OPTION_USE_STD' - add configure option '--enable-use_std' - move FL/Fl_String.H to src/Fl_String.H - move FL/Fl_Int_Vector.H to src/Fl_Int_Vector.H - remove Fl_String from demo program examples/callbacks.cxx - remove Fl_Int_Vector from public header FL/Fl_Table.H - some methods of Fl_Table are no longer inline - add CMake option OPTION_USE_STD to allow std::string in some selected functions and methods Experimental, may be removed before release: - use either Fl_Int_Vector or std::vector in Fl_Table depending on CMake OPTION_USE_STD or configure --enable-use_std Move all fl_filename* functions that use Fl_String to fluid Main changes in fluid: - add fluid_filename.h and .cxx - include "fluid_filename.h" rather than <FL/filename.H> Update fl_input(), fl_password() and test/ask - add maxchar parameter to fl_input() and fl_password() - fl_input_str() and fl_password_str() are optional and return std::string if enabled (FLTK_USE_STD)
Diffstat (limited to 'test/ask.cxx')
-rw-r--r--test/ask.cxx19
1 files changed, 18 insertions, 1 deletions
diff --git a/test/ask.cxx b/test/ask.cxx
index 973a42d11..9ff06b45a 100644
--- a/test/ask.cxx
+++ b/test/ask.cxx
@@ -35,7 +35,8 @@
void rename_button(Fl_Widget *o, void *v) {
int what = fl_int(v);
int ret = 0;
- Fl_String input;
+#if (FLTK_USE_STD)
+ std::string input;
if (what == 0) {
fl_message_icon_label("§");
input = fl_input_str(ret, 0, "Input (no size limit, use ctrl/j for newline):", o->label());
@@ -47,6 +48,22 @@ void rename_button(Fl_Widget *o, void *v) {
o->copy_label(input.c_str());
o->redraw();
}
+#else
+ const char *input;
+ if (what == 0) {
+ fl_message_icon_label("§");
+ input = fl_input("Input (no size limit, use ctrl/j for newline):", o->label());
+ if (!input) ret = 1;
+ } else {
+ fl_message_icon_label("€");
+ input = fl_password(20, "Enter password (max. 20 characters):", o->label());
+ if (!input) ret = 1;
+ }
+ if (ret == 0) {
+ o->copy_label(input);
+ o->redraw();
+ }
+#endif // FLTK_USE_STD
}
void window_callback(Fl_Widget *win, void *) {