summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2011-02-12 12:08:52 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2011-02-12 12:08:52 +0000
commit3bb11b999318d90632d1d9a412f7c04df1aa86d3 (patch)
tree69a0845d90e28d96ea3f9a86a81521e5856cd852
parentf8c0dd01101139c7b79e02d33c2e7dad5219056c (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--CHANGES2
-rw-r--r--CREDITS1
-rw-r--r--FL/fl_ask.H4
-rw-r--r--src/fl_ask.cxx21
-rw-r--r--test/ask.cxx4
5 files changed, 31 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index a82b1fdc8..c8353fa84 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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
diff --git a/CREDITS b/CREDITS
index 8129c98bc..60f26c153 100644
--- a/CREDITS
+++ b/CREDITS
@@ -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)