summaryrefslogtreecommitdiff
path: root/src/Fl.cxx
diff options
context:
space:
mode:
authorBill Spitzak <spitzak@gmail.com>2000-05-13 20:03:20 +0000
committerBill Spitzak <spitzak@gmail.com>2000-05-13 20:03:20 +0000
commitd5b47034a7575151963f1fc85a4630f68208e73a (patch)
tree023ff7f35eeda76f2343cd895b4e2ea2101319b8 /src/Fl.cxx
parent2d826eb564160432259480504537e5797eced931 (diff)
Added Fl::first_window(window) to change which window is at the top of
the window list. This window is used as the "parent" of any modal windows you create so it is a good idea to be able to change it. Normally it is whatever window got the last event. Fixed Fl_Menu::global handler to use first_window so if a modal window pops up in response it is parented to the window containing the menubar rather than the current top window. This was an annoying bug! Copied fl_line_style() and the line_style demo over from fltk 2.0 because I am tired of mailing this code to people. Better to advertise this as "added fl_line_style() function to set line thickness, dash patterns, and end caps". Fixed the documentation for these changes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl.cxx')
-rw-r--r--src/Fl.cxx24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/Fl.cxx b/src/Fl.cxx
index c2252a923..62b504eba 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -1,6 +1,6 @@
#include <stdio.h>
//
-// "$Id: Fl.cxx,v 1.24.2.20 2000/05/11 21:58:09 bill Exp $"
+// "$Id: Fl.cxx,v 1.24.2.21 2000/05/13 20:03:17 bill Exp $"
//
// Main event handling code for the Fast Light Tool Kit (FLTK).
//
@@ -272,14 +272,24 @@ Fl_Window* fl_find(Window xid) {
return 0;
}
-void Fl::redraw() {
- for (Fl_X* x = Fl_X::first; x; x = x->next) x->w->redraw();
+Fl_Window* Fl::first_window() {
+ Fl_X* x = Fl_X::first;
+ return x ? x->w : 0;
}
-Fl_Window* Fl::first_window() {Fl_X* x = Fl_X::first; return x ? x->w : 0;}
-
Fl_Window* Fl::next_window(const Fl_Window* w) {
- Fl_X* x = Fl_X::i(w)->next; return x ? x->w : 0;}
+ Fl_X* x = Fl_X::i(w)->next;
+ return x ? x->w : 0;
+}
+
+void Fl::first_window(Fl_Window* window) {
+ if (!window || !window->shown()) return;
+ fl_find(fl_xid(window));
+}
+
+void Fl::redraw() {
+ for (Fl_X* x = Fl_X::first; x; x = x->next) x->w->redraw();
+}
////////////////////////////////////////////////////////////////
// Event handlers:
@@ -696,5 +706,5 @@ void Fl_Window::flush() {
}
//
-// End of "$Id: Fl.cxx,v 1.24.2.20 2000/05/11 21:58:09 bill Exp $".
+// End of "$Id: Fl.cxx,v 1.24.2.21 2000/05/13 20:03:17 bill Exp $".
//