diff --git a/src/Fl_Color_Chooser.cxx b/src/Fl_Color_Chooser.cxx index 6bfa70cc4..9a49e5caf 100644 --- a/src/Fl_Color_Chooser.cxx +++ b/src/Fl_Color_Chooser.cxx @@ -531,7 +531,7 @@ extern const char* fl_cancel; /** \brief Pops up a window to let the user pick an arbitrary RGB color. \image html fl_color_chooser.jpg - \param[in,out] name title label for the window + \param[in] name title label for the window \param[in,out] r, g, b color components in the range 0.0 to 1.0. \retval 1 if user confirms the selection \retval 0 if user cancels the dialog @@ -574,7 +574,7 @@ int fl_color_chooser(const char* name, double& r, double& g, double& b) { /** \brief Pops up a window to let the user pick an arbitrary RGB color. \image html fl_color_chooser.jpg - \param[in,out] name title label for the window + \param[in] name title label for the window \param[in,out] r, g, b color components in the range 0 to 255. \retval 1 if user confirms the selection \retval 0 if user cancels the dialog diff --git a/src/fl_ask.cxx b/src/fl_ask.cxx index ef4b84cfa..f57462673 100644 --- a/src/fl_ask.cxx +++ b/src/fl_ask.cxx @@ -379,7 +379,7 @@ static const char* input_innards(const char* fmt, va_list ap, /** Shows an input dialog displaying the \a fmt message \param[in] fmt can be used as an sprintf-like format and variables for the message text \param[in] defstr defines the default returned string if no text is entered - \return the user string input + \return the user string input if OK was pushed, NULL if Cancel was pushed */ const char* fl_input(const char *fmt, const char *defstr, ...) { fl_beep(FL_BEEP_QUESTION); @@ -396,7 +396,7 @@ const char* fl_input(const char *fmt, const char *defstr, ...) { '*' characters are displayed instead \param[in] fmt can be used as an sprintf-like format and variables for the message text \param[in] defstr defines the default returned string if no text is entered - \return the user string input + \return the user string input if OK was pushed, NULL if Cancel was pushed */ const char *fl_password(const char *fmt, const char *defstr, ...) { fl_beep(FL_BEEP_PASSWORD); diff --git a/test/ask.cxx b/test/ask.cxx index 7a9112bbf..c9c3f34cd 100644 --- a/test/ask.cxx +++ b/test/ask.cxx @@ -43,28 +43,43 @@ #include #include -void rename_me(Fl_Widget*o) { - const char *input = fl_input("Input:", o->label()); - +void update_input_text(Fl_Widget* o, const char *input) { if (input) { o->copy_label(input); o->redraw(); } } +void rename_me(Fl_Widget*o) { + const char *input = fl_input("Input:", o->label()); + update_input_text(o, input); +} + +void rename_me_pwd(Fl_Widget*o) { + const char *input = fl_password("Input PWD:", o->label()); + update_input_text(o, input); +} + void window_callback(Fl_Widget*, void*) { - if (!fl_choice("Are you sure you want to quit?", "Cancel", "Quit", 0L)) return; - exit(0); + int rep = fl_choice("Are you sure you want to quit?", + "Cancel", "Quit", "Dunno"); + if (rep==1) + exit(0); + else if (rep==2) + fl_message("Well, maybe you should know before we quit."); } int main(int argc, char **argv) { - char buffer[128] = "test text"; + char buffer[128] = "Test text"; + char buffer2[128] = "MyPassword"; // this is a test to make sure automatic destructors work. Pop up -// the question dialog several times and make sure it don't crash. +// the question dialog several times and make sure it doesn't crash. +// fc: added more fl_ask common dialogs for test cases purposes. - Fl_Window window(200, 55); + Fl_Window window(200, 105); Fl_Return_Button b(20, 10, 160, 35, buffer); b.callback(rename_me); + Fl_Button b2(20, 50, 160, 35, buffer2); b2.callback(rename_me_pwd); window.end(); window.resizable(&b); window.show(argc, argv);