summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2005-03-24 13:14:43 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2005-03-24 13:14:43 +0000
commit2bf787ce693cadea52097cdeadafdd509418754a (patch)
treefa885b731cf02942c18c5ef4799d6aae9ce14acd
parent9e84259e6cb2102f3d2f996b0d2ab919abcd67a3 (diff)
Resizing or moving a window through the widget panel now resets the
window size_range() so that the window can still be resized through the window manager controls... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CHANGES2
-rw-r--r--fluid/Fl_Widget_Type.cxx18
2 files changed, 19 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 612f20ef2..ae9403753 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@ CHANGES IN FLTK 1.1.7
- Documentation fixes (STR #648, STR #692, STR #730, STR
#744, STR #745)
+ - FLUID windows that are resized through the widget panel
+ now remain resizable by the window manager.
- Increased the size of the background image used by
the plastic scheme to reduce the CPU load of redraws
(STR #769)
diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx
index af8331d45..5557eb679 100644
--- a/fluid/Fl_Widget_Type.cxx
+++ b/fluid/Fl_Widget_Type.cxx
@@ -423,7 +423,11 @@ void x_cb(Fl_Value_Input *i, void *v) {
if (o->selected && o->is_widget()) {
Fl_Widget *w = ((Fl_Widget_Type *)o)->o;
w->resize((int)i->value(), w->y(), w->w(), w->h());
- if (w->window()) w->window()->redraw();
+ if (w->window()) w->window();
+ if (o->is_window()) {
+ ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(),
+ gridx, gridy, 0);
+ }
}
}
}
@@ -441,6 +445,10 @@ void y_cb(Fl_Value_Input *i, void *v) {
Fl_Widget *w = ((Fl_Widget_Type *)o)->o;
w->resize(w->x(), (int)i->value(), w->w(), w->h());
if (w->window()) w->window()->redraw();
+ if (o->is_window()) {
+ ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(),
+ gridx, gridy, 0);
+ }
}
}
}
@@ -458,6 +466,10 @@ void w_cb(Fl_Value_Input *i, void *v) {
Fl_Widget *w = ((Fl_Widget_Type *)o)->o;
w->resize(w->x(), w->y(), (int)i->value(), w->h());
if (w->window()) w->window()->redraw();
+ if (o->is_window()) {
+ ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(),
+ gridx, gridy, 0);
+ }
}
}
}
@@ -475,6 +487,10 @@ void h_cb(Fl_Value_Input *i, void *v) {
Fl_Widget *w = ((Fl_Widget_Type *)o)->o;
w->resize(w->x(), w->y(), w->w(), (int)i->value());
if (w->window()) w->window()->redraw();
+ if (o->is_window()) {
+ ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(),
+ gridx, gridy, 0);
+ }
}
}
}