1998-10-19 21:39:29 +00:00
|
|
|
//
|
|
|
|
|
// Standard dialog header file for the Fast Light Tool Kit (FLTK).
|
|
|
|
|
//
|
2025-03-19 13:44:16 +00:00
|
|
|
// Copyright 1998-2025 by Bill Spitzak and others.
|
1998-10-19 21:39:29 +00:00
|
|
|
//
|
2011-07-19 04:49:30 +00:00
|
|
|
// This library is free software. Distribution and use rights are outlined in
|
|
|
|
|
// the file "COPYING" which should have been included with this file. If this
|
|
|
|
|
// file is missing or damaged, see the license at:
|
1998-10-19 21:39:29 +00:00
|
|
|
//
|
2020-07-01 16:03:10 +00:00
|
|
|
// https://www.fltk.org/COPYING.php
|
1998-10-19 21:39:29 +00:00
|
|
|
//
|
2020-07-01 16:03:10 +00:00
|
|
|
// Please see the following page on how to report bugs and issues:
|
2005-03-25 16:11:07 +00:00
|
|
|
//
|
2020-07-01 16:03:10 +00:00
|
|
|
// https://www.fltk.org/bugs.php
|
1998-10-19 21:39:29 +00:00
|
|
|
//
|
1998-10-06 18:21:25 +00:00
|
|
|
|
2012-12-11 17:06:41 +00:00
|
|
|
/** \file fl_ask.H
|
2022-11-11 15:43:33 +00:00
|
|
|
API for common dialogs.
|
|
|
|
|
*/
|
2012-12-11 17:06:41 +00:00
|
|
|
|
2021-12-04 12:35:47 +00:00
|
|
|
#ifndef _FL_fl_ask_H_
|
|
|
|
|
#define _FL_fl_ask_H_
|
|
|
|
|
|
|
|
|
|
#include <FL/Enumerations.H>
|
|
|
|
|
#include <FL/fl_attr.h>
|
1998-10-06 18:21:25 +00:00
|
|
|
|
2023-10-22 17:30:37 +00:00
|
|
|
#include <string>
|
|
|
|
|
|
2025-07-02 14:16:48 +00:00
|
|
|
// Note to FLTK developers: fl_ask() had been deprecated since FLTK 1.1.7
|
|
|
|
|
// (released Jan 17, 2006 !) but was still available in FLTK 1.4.x.
|
|
|
|
|
// FLTK 1.5 disables it by using an *undocumented* preprocessor macro.
|
|
|
|
|
// This allows us to restore it (as a last resort) if there are too many
|
|
|
|
|
// complaints that fl_ask() is missing. If users don't complain, the
|
|
|
|
|
// conditional implementation of fl_ask() should be removed in FLTK 1.6.
|
|
|
|
|
|
|
|
|
|
#ifndef FL_DOXYGEN
|
|
|
|
|
|
|
|
|
|
// undocumented feature: include fl_ask() if requested; see comment above.
|
|
|
|
|
|
|
|
|
|
#ifndef FLTK_INCLUDE_FL_ASK
|
|
|
|
|
#define FLTK_INCLUDE_FL_ASK 0 // set this to 1 to include fl_ask()
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif // FL_DOXYGEN
|
|
|
|
|
|
1998-10-06 18:21:25 +00:00
|
|
|
class Fl_Widget;
|
2012-12-11 17:06:41 +00:00
|
|
|
|
2022-11-11 15:43:33 +00:00
|
|
|
/** Defines the different system beeps available.
|
|
|
|
|
|
|
|
|
|
Some systems may play different sounds or use different sound volume
|
|
|
|
|
depending on the Fl_Beep value. The implementation is platform dependent.
|
|
|
|
|
|
|
|
|
|
\sa fl_beep(int)
|
|
|
|
|
*/
|
2012-12-11 17:06:41 +00:00
|
|
|
enum Fl_Beep {
|
2021-12-04 12:35:47 +00:00
|
|
|
FL_BEEP_DEFAULT = 0, ///< Default beep.
|
|
|
|
|
FL_BEEP_MESSAGE, ///< Message beep.
|
|
|
|
|
FL_BEEP_ERROR, ///< Error beep.
|
|
|
|
|
FL_BEEP_QUESTION, ///< Question beep.
|
|
|
|
|
FL_BEEP_PASSWORD, ///< Password beep.
|
|
|
|
|
FL_BEEP_NOTIFICATION ///< Notification beep.
|
2001-11-17 16:37:48 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
FL_EXPORT void fl_beep(int type = FL_BEEP_DEFAULT);
|
2021-12-04 12:35:47 +00:00
|
|
|
FL_EXPORT void fl_message(const char *, ...) __fl_attr((__format__(__printf__, 1, 2)));
|
|
|
|
|
FL_EXPORT void fl_alert(const char *, ...) __fl_attr((__format__(__printf__, 1, 2)));
|
|
|
|
|
|
2025-07-02 14:16:48 +00:00
|
|
|
#if FLTK_INCLUDE_FL_ASK
|
|
|
|
|
|
2005-03-25 16:11:07 +00:00
|
|
|
// fl_ask() is deprecated since it uses "Yes" and "No" for the buttons,
|
|
|
|
|
// which does not conform to the current FLTK Human Interface Guidelines.
|
2021-12-04 12:35:47 +00:00
|
|
|
// Use fl_choice() or fl_choice_n() with the appropriate verbs instead.
|
|
|
|
|
|
|
|
|
|
FL_EXPORT int fl_ask(const char *, ...) __fl_attr((__format__(__printf__, 1, 2), __deprecated__));
|
|
|
|
|
|
2025-07-02 14:16:48 +00:00
|
|
|
#endif // FLTK_INCLUDE_FL_ASK
|
|
|
|
|
|
2021-12-04 12:35:47 +00:00
|
|
|
FL_EXPORT int fl_choice(const char *q, const char *b0, const char *b1, const char *b2, ...)
|
|
|
|
|
__fl_attr((__format__(__printf__, 1, 5)));
|
|
|
|
|
FL_EXPORT const char *fl_input(const char *label, const char *deflt = 0, ...) __fl_attr((__format__(__printf__, 1, 3)));
|
|
|
|
|
FL_EXPORT const char *fl_password(const char *label, const char *deflt = 0, ...)
|
|
|
|
|
__fl_attr((__format__(__printf__, 1, 3)));
|
|
|
|
|
|
|
|
|
|
// since FLTK 1.3.8:
|
|
|
|
|
// - fl_choice_n() with extended return value (-2, -1, 0, 1, 2)
|
|
|
|
|
|
|
|
|
|
FL_EXPORT int fl_choice_n(const char *q, const char *b0, const char *b1, const char *b2, ...)
|
|
|
|
|
__fl_attr((__format__(__printf__, 1, 5)));
|
|
|
|
|
|
2023-10-22 17:30:37 +00:00
|
|
|
// since FLTK 1.4.0: with 'maxchar' to limit input size
|
|
|
|
|
|
|
|
|
|
FL_EXPORT const char *fl_input(int maxchar, const char *label, const char *deflt = 0, ...)
|
|
|
|
|
__fl_attr((__format__(__printf__, 2, 4)));
|
2021-12-04 12:35:47 +00:00
|
|
|
|
2023-10-22 17:30:37 +00:00
|
|
|
FL_EXPORT const char *fl_password(int maxchar, const char *label, const char *deflt = 0, ...)
|
2021-12-04 12:35:47 +00:00
|
|
|
__fl_attr((__format__(__printf__, 2, 4)));
|
|
|
|
|
|
2025-03-19 13:44:16 +00:00
|
|
|
// since FLTK 1.4.0 -- optional
|
|
|
|
|
// since FLTK 1.5.0 -- always
|
2023-10-22 17:30:37 +00:00
|
|
|
|
|
|
|
|
// - fl_input_str() with limited input size, returns std::string
|
|
|
|
|
// - fl_password_str() with limited input size, returns std::string
|
|
|
|
|
|
|
|
|
|
FL_EXPORT std::string fl_input_str(int maxchar, const char *label, const char *deflt = 0, ...)
|
|
|
|
|
__fl_attr((__format__(__printf__, 2, 4)));
|
|
|
|
|
|
|
|
|
|
FL_EXPORT std::string fl_input_str(int &ret, int maxchar, const char *label, const char *deflt = 0, ...)
|
2023-02-23 14:42:05 +00:00
|
|
|
__fl_attr((__format__(__printf__, 3, 5)));
|
|
|
|
|
|
2023-10-22 17:30:37 +00:00
|
|
|
FL_EXPORT std::string fl_password_str(int maxchar, const char *label, const char *deflt = 0, ...)
|
2021-12-04 12:35:47 +00:00
|
|
|
__fl_attr((__format__(__printf__, 2, 4)));
|
1998-11-05 16:04:53 +00:00
|
|
|
|
2023-10-22 17:30:37 +00:00
|
|
|
FL_EXPORT std::string fl_password_str(int &ret, int maxchar, const char *label, const char *deflt = 0, ...)
|
2023-02-23 14:42:05 +00:00
|
|
|
__fl_attr((__format__(__printf__, 3, 5)));
|
|
|
|
|
|
1999-02-16 22:00:04 +00:00
|
|
|
FL_EXPORT Fl_Widget *fl_message_icon();
|
2002-03-23 15:35:08 +00:00
|
|
|
extern FL_EXPORT Fl_Font fl_message_font_;
|
2008-08-15 21:11:21 +00:00
|
|
|
extern FL_EXPORT Fl_Fontsize fl_message_size_;
|
|
|
|
|
inline void fl_message_font(Fl_Font f, Fl_Fontsize s) {
|
2021-12-04 12:35:47 +00:00
|
|
|
fl_message_font_ = f;
|
|
|
|
|
fl_message_size_ = s;
|
|
|
|
|
}
|
1998-10-06 18:21:25 +00:00
|
|
|
|
2011-02-12 11:31:40 +00:00
|
|
|
FL_EXPORT void fl_message_hotspot(int enable);
|
|
|
|
|
FL_EXPORT int fl_message_hotspot(void);
|
|
|
|
|
|
2021-12-04 12:35:47 +00:00
|
|
|
// since FLTK 1.4.0: fl_message_position()
|
|
|
|
|
|
2020-05-07 15:43:04 +00:00
|
|
|
FL_EXPORT void fl_message_position(const int x, const int y, const int center = 0);
|
|
|
|
|
FL_EXPORT void fl_message_position(Fl_Widget *widget);
|
|
|
|
|
FL_EXPORT int fl_message_position(int *x = 0, int *y = 0);
|
|
|
|
|
|
|
|
|
|
/** \see fl_message_position(Fl_Widget *widget). */
|
|
|
|
|
inline void fl_message_position(Fl_Widget &widget) {
|
|
|
|
|
fl_message_position(&widget);
|
|
|
|
|
}
|
2019-06-06 20:01:28 +00:00
|
|
|
|
2011-02-12 12:08:52 +00:00
|
|
|
FL_EXPORT void fl_message_title(const char *title);
|
2011-02-18 08:52:48 +00:00
|
|
|
FL_EXPORT void fl_message_title_default(const char *title);
|
2011-02-12 12:08:52 +00:00
|
|
|
|
2021-12-04 19:36:11 +00:00
|
|
|
FL_EXPORT void fl_message_icon_label(const char *str);
|
|
|
|
|
|
2016-04-20 07:19:19 +00:00
|
|
|
// pointers you can use to change FLTK to another language:
|
2021-12-04 12:35:47 +00:00
|
|
|
extern FL_EXPORT const char *fl_no;
|
|
|
|
|
extern FL_EXPORT const char *fl_yes;
|
|
|
|
|
extern FL_EXPORT const char *fl_ok;
|
|
|
|
|
extern FL_EXPORT const char *fl_cancel;
|
|
|
|
|
extern FL_EXPORT const char *fl_close;
|
|
|
|
|
|
|
|
|
|
#endif // !_FL_fl_ask_H_
|