diff options
| author | Matthias Melcher <github@matthiasm.com> | 2023-11-05 22:18:56 +0100 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2023-11-05 22:19:03 +0100 |
| commit | e690e76da1555e61bd6bde89d00215b11352f8b2 (patch) | |
| tree | 048cf12b8c35a60b0b983dbb8303f800a9b3da11 /fluid/Fl_Window_Type.cxx | |
| parent | 95daa77c497254919d17b23de56397788b291ecf (diff) | |
FLUID: Adds undo for all grid operations.
Diffstat (limited to 'fluid/Fl_Window_Type.cxx')
| -rw-r--r-- | fluid/Fl_Window_Type.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fluid/Fl_Window_Type.cxx b/fluid/Fl_Window_Type.cxx index 793744ee7..8a5d4962e 100644 --- a/fluid/Fl_Window_Type.cxx +++ b/fluid/Fl_Window_Type.cxx @@ -47,6 +47,7 @@ #include <stdlib.h> #include <stdio.h> +extern Fl_Window *the_panel; extern void draw_width(int x, int y, int r, Fl_Align a); extern void draw_height(int x, int y, int b, Fl_Align a); @@ -857,6 +858,7 @@ extern Fl_Menu_Item New_Menu[]; */ void Fl_Window_Type::moveallchildren(int key) { + bool update_widget_panel = false; undo_checkpoint(); Fl_Type *i; for (i=next; i && i->level>level;) { @@ -915,6 +917,7 @@ void Fl_Window_Type::moveallchildren(int key) allow_layout++; g->layout(); allow_layout--; + update_widget_panel = true; } else if (myo->parent && myo->parent->is_a(ID_Group)) { Fl_Group_Type* gt = (Fl_Group_Type*)myo->parent; ((Fl_Group*)gt->o)->init_sizes(); @@ -942,6 +945,9 @@ void Fl_Window_Type::moveallchildren(int key) dx = dy = 0; update_xywh(); + if (update_widget_panel && the_panel && the_panel->visible()) { + propagate_load(the_panel, LOAD); + } } int Fl_Window_Type::popupx = 0x7FFFFFFF; // mark as invalid (MAXINT) |
