diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2011-02-12 12:08:52 +0000 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2011-02-12 12:08:52 +0000 |
| commit | 3bb11b999318d90632d1d9a412f7c04df1aa86d3 (patch) | |
| tree | 69a0845d90e28d96ea3f9a86a81521e5856cd852 | |
| parent | f8c0dd01101139c7b79e02d33c2e7dad5219056c (diff) | |
Common dialogs like fl_message() and fl_ask() can now have a window
title (STR #2562).
Added a test case for disabling the hotspot and using a window title
to test/ask.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 2 | ||||
| -rw-r--r-- | CREDITS | 1 | ||||
| -rw-r--r-- | FL/fl_ask.H | 4 | ||||
| -rw-r--r-- | src/fl_ask.cxx | 21 | ||||
| -rw-r--r-- | test/ask.cxx | 4 |
5 files changed, 31 insertions, 1 deletions
@@ -54,6 +54,8 @@ CHANGES IN FLTK 1.3.0 - Added Fl_Menu_ methods: insert(), find_index(), clear_submenu() - Hotspot behavior of fl_message() and other common dialogs is now optional (STR #2561). + - Common dialogs like fl_message() and fl_ask() can now have a window + title (STR #2562). IDE support and command line build options @@ -48,6 +48,7 @@ OTHER CONTRIBUTORS Howard Lightstone Mike Lindner Alexander Mai + Pierre Ossman Alexander Rabi James Roth Albrecht Schlosser diff --git a/FL/fl_ask.H b/FL/fl_ask.H index ade7f05ad..553419334 100644 --- a/FL/fl_ask.H +++ b/FL/fl_ask.H @@ -3,7 +3,7 @@ // // Standard dialog header file for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2010 by Bill Spitzak and others. +// Copyright 1998-2011 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -67,6 +67,8 @@ inline void fl_message_font(Fl_Font f, Fl_Fontsize s) { FL_EXPORT void fl_message_hotspot(int enable); FL_EXPORT int fl_message_hotspot(void); +FL_EXPORT void fl_message_title(const char *title); + // pointers you can use to change FLTK to a foreign language: extern FL_EXPORT const char* fl_no; extern FL_EXPORT const char* fl_yes; diff --git a/src/fl_ask.cxx b/src/fl_ask.cxx index b6e065daa..133eac2be 100644 --- a/src/fl_ask.cxx +++ b/src/fl_ask.cxx @@ -244,6 +244,7 @@ static int innards(const char* fmt, va_list ap, if (g) // regrab the previous popup menu, if there was one Fl::grab(g); icon->label(prev_icon_label); + message_form->label(0); // reset window title avoidRecursion = 0; return ret_val; @@ -508,6 +509,26 @@ int fl_message_hotspot(void) { return enableHotspot; } +/** Sets the title of the dialog window used in many common dialogs. + + This window \p title will be used in the next call of one of the + common dialogs like fl_message(), fl_alert(), fl_ask(), fl_choice(), + fl_input(), fl_password(). + + The \p title string is copied internally, so that you can use a + local variable or free the string immediately after this call. It + applies only to the \b next call of one of the common dialogs and + will be reset to an empty title (the default for all dialogs) after + that call. + + \note \#include <FL/fl_ask.H> + \param[in] title window label, string copied internally +*/ +void fl_message_title(const char *title) { + makeform(); + message_form->copy_label(title); +} + /** @} */ // diff --git a/test/ask.cxx b/test/ask.cxx index cfe1dcbd6..29def0df3 100644 --- a/test/ask.cxx +++ b/test/ask.cxx @@ -61,8 +61,12 @@ void rename_me_pwd(Fl_Widget*o) { } void window_callback(Fl_Widget*, void*) { + int hotspot = fl_message_hotspot(); + fl_message_hotspot(0); + fl_message_title("note: no hotspot set for this dialog"); int rep = fl_choice("Are you sure you want to quit?", "Cancel", "Quit", "Dunno"); + fl_message_hotspot(hotspot); if (rep==1) exit(0); else if (rep==2) |
