From 60bdf14ce5e3e1ac4880b29759e7b916817de421 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 1 Mar 2021 15:59:45 -0600 Subject: [PATCH 01/11] update enable/constraints_container.py --- enable/constraints_container.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/enable/constraints_container.py b/enable/constraints_container.py index 449185388..cab41ad78 100644 --- a/enable/constraints_container.py +++ b/enable/constraints_container.py @@ -252,7 +252,7 @@ def __components_items_changed(self, event): """ # Remove stale components from the map for item in event.removed: - item.on_trait_change( + item.observe( self._component_size_hint_changed, "layout_size_hint", remove=True, @@ -267,7 +267,7 @@ def __components_changed(self, new): """ # Clear the component maps for key, item in self._component_map.items(): - item.on_trait_change( + item.observe( self._component_size_hint_changed, "layout_size_hint", remove=True, @@ -277,7 +277,7 @@ def __components_changed(self, new): # Check the new components self._check_and_add_components(new) - def _component_size_hint_changed(self): + def _component_size_hint_changed(self, event): """ Refresh the size hint contraints for a child component """ self.relayout() @@ -369,7 +369,7 @@ def _check_and_add_components(self, components): raise ValueError(msg) self._component_map[key] = item - item.on_trait_change( + item.observe( self._component_size_hint_changed, "layout_size_hint" ) From e0f24e96e9e0fc0b0014918e9723fd7a4103c2da Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 1 Mar 2021 16:11:47 -0600 Subject: [PATCH 02/11] update enable/container.py --- enable/container.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/enable/container.py b/enable/container.py index d8d31e6fe..cdf5b260b 100644 --- a/enable/container.py +++ b/enable/container.py @@ -554,7 +554,8 @@ def _auto_size_changed(self, old, new): else: pass - def _window_resized(self, newsize): + def _window_resized(self, event): + newsize = event.new if newsize is not None: self.bounds = [newsize[0] - self.x, newsize[1] - self.y] @@ -564,11 +565,11 @@ def _window_resized(self, newsize): def _fit_window_changed(self, old, new): if self._window is not None: if not self.fit_window: - self._window.on_trait_change( + self._window.observe( self._window_resized, "resized", remove=True ) else: - self._window.on_trait_change(self._window_resized, "resized") + self._window.observe(self._window_resized, "resized") def _bounds_changed(self, old, new): # crappy... calling our parent's handler seems like a common traits From 37287f81561a6b91600982b17eeeb7d004e109a4 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 1 Mar 2021 16:12:56 -0600 Subject: [PATCH 03/11] update enable/drag_resize.py --- enable/drag_resize.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enable/drag_resize.py b/enable/drag_resize.py index 4da51e218..dac075e01 100644 --- a/enable/drag_resize.py +++ b/enable/drag_resize.py @@ -58,7 +58,7 @@ def init(self, component, bounds_rect, anchor, unconstrain, drag_event, self.float_y = yb # Set up the drag termination handler: - self.on_trait_change(self.drag_done, drag_event) + self.observe(self.drag_done, drag_event) # ------------------------------------------------------------------------- # Handle the mouse moving while resizing: @@ -151,7 +151,7 @@ def _mouse_move_changed(self, event): def drag_done(self, event): # 'Unhook' the drag done notification handler: - self.on_trait_change(self.drag_done, self.drag_event, remove=True) + self.observe(self.drag_done, self.drag_event, remove=True) # Inform the component that the resize operation is complete: self.component.resized = True From fe618cb2c52d1fa4a1900819309c2e9a5b435129 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 1 Mar 2021 16:16:33 -0600 Subject: [PATCH 04/11] update enable/drag.py --- enable/drag.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/enable/drag.py b/enable/drag.py index d04969283..47405c7e0 100644 --- a/enable/drag.py +++ b/enable/drag.py @@ -39,7 +39,7 @@ def init(self, components, bounds_rect, drag_root, drag_bounds_rect, self.window = components[0].window self.drag_over = [] - self.on_trait_change(self.drag_done, drag_event) + self.observe(self.drag_done, drag_event) # ------------------------------------------------------------------------- # Handle the mouse moving while dragging: @@ -151,6 +151,8 @@ def drag_validate(self, event, drag_bounds): # ------------------------------------------------------------------------- def drag_done(self, event): + print('!'*100) + print(event) components = self.components drag_copy = self.drag_copy start_event = self.start_event From fdb407f73328b1a52a1108435dbd5a2a327d38ba Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 1 Mar 2021 16:18:56 -0600 Subject: [PATCH 05/11] messed up last commit --- enable/drag.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/enable/drag.py b/enable/drag.py index 47405c7e0..908637eac 100644 --- a/enable/drag.py +++ b/enable/drag.py @@ -151,25 +151,23 @@ def drag_validate(self, event, drag_bounds): # ------------------------------------------------------------------------- def drag_done(self, event): - print('!'*100) - print(event) components = self.components drag_copy = self.drag_copy start_event = self.start_event # 'Unhook' the drag done notification handler: - self.on_trait_change(self.drag_done, self.drag_event, remove=True) + self.observe(self.drag_done, self.drag_event, remove=True) # Compute the new drag bounds: - x = event.x - y = event.y + x = event.new.x + y = event.new.y dx = x - self.start_x dy = y - self.start_y xl, yb, xr, yt = add_rectangles( self.drag_bounds_rect_start, (dx, dy, dx, dy) ) drag_bounds_rect = bounds_to_coordinates( - self.drag_validate(event, (xl, yb, xr - xl, yt - yb)) + self.drag_validate(event.new, (xl, yb, xr - xl, yt - yb)) ) # If the new bounds are not within the drag area, use the last drag @@ -192,7 +190,7 @@ def drag_done(self, event): copy=drag_copy, components=components, start_event=start_event, - window=event.window, + window=event.new.window, ) # Process the 'dropped_on' event for the object(s) it was dropped on: @@ -205,7 +203,7 @@ def drag_done(self, event): copy=drag_copy, components=components, start_event=start_event, - window=event.window, + window=event.new.window, ) index = send_event_to(components_at, "dropped_on", drag_event) From feabfb984deadf91172b33886fe72eb6ed68207b Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 1 Mar 2021 16:34:49 -0600 Subject: [PATCH 06/11] update enable/scrolled.py --- enable/scrolled.py | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/enable/scrolled.py b/enable/scrolled.py index b71e1300f..13e354894 100644 --- a/enable/scrolled.py +++ b/enable/scrolled.py @@ -267,22 +267,24 @@ def _view_position_changed_for_viewport_component(self): def _view_position_items_changed_for_viewport_component(self): self.update_from_viewport() - def _component_bounds_items_handler(self, object, event): + def _component_bounds_items_handler(self, event): if event.added != event.removed: self.update_bounds() - def _component_bounds_handler(self, object, name, old, new): + def _component_bounds_handler(self, event): + old = event.old + new = event.new if old is None or new is None or old[0] != new[0] or old[1] != new[1]: self.update_bounds() def _component_changed(self, old, new): if old is not None: - old.on_trait_change( + old.observe( self._component_bounds_handler, "bounds", remove=True ) - old.on_trait_change( + old.observe( self._component_bounds_items_handler, - "bounds_items", + "bounds:items", remove=True, ) if new is None: @@ -291,9 +293,9 @@ def _component_changed(self, old, new): if self.viewport_component: self.viewport_component.component = new new.container = self - new.on_trait_change(self._component_bounds_handler, "bounds") - new.on_trait_change( - self._component_bounds_items_handler, "bounds_items" + new.observe(self._component_bounds_handler, "bounds") + new.observe( + self._component_bounds_items_handler, "bounds:items" ) self._layout_needed = True @@ -421,10 +423,10 @@ def _do_layout(self): ) v_pos = self.viewport_component.view_position self._hsb.scroll_position = v_pos[0] - self._hsb.on_trait_change( + self._hsb.observe( self._handle_horizontal_scroll, "scroll_position" ) - self._hsb.on_trait_change( + self._hsb.observe( self._mouse_thumb_changed, "mouse_thumb" ) self.add(self._hsb) @@ -462,10 +464,10 @@ def _do_layout(self): ) v_pos = self.viewport_component.view_position self._vsb.scroll_position = v_pos[1] - self._vsb.on_trait_change( + self._vsb.observe( self._handle_vertical_scroll, "scroll_position" ) - self._vsb.on_trait_change( + self._vsb.observe( self._mouse_thumb_changed, "mouse_thumb" ) self.add(self._vsb) @@ -503,7 +505,8 @@ def _release_sb(self, sb): sb.destroy() return None - def _handle_horizontal_scroll(self, position): + def _handle_horizontal_scroll(self, event): + position = event.new if self._sb_bounds_frozen: self._hscroll_position_updated = True return @@ -519,7 +522,8 @@ def _handle_horizontal_scroll(self, position): view_position=[position, viewport.view_position[1]] ) - def _handle_vertical_scroll(self, position): + def _handle_vertical_scroll(self, event): + position = event.new if self._sb_bounds_frozen: self._vscroll_position_updated = True return @@ -535,8 +539,8 @@ def _handle_vertical_scroll(self, position): view_position=[viewport.view_position[0], position] ) - def _mouse_thumb_changed(self, object, attrname, event): - if event == "down" and not self.continuous_drag_update: + def _mouse_thumb_changed(self, event): + if event.new == "down" and not self.continuous_drag_update: self.freeze_scroll_bounds() else: self.unfreeze_scroll_bounds() From 6b9656e0e09f17537606e3eaa9117848575c0d9c Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Wed, 3 Mar 2021 07:35:36 -0600 Subject: [PATCH 07/11] rename some methods so they don't look like static change handlers --- enable/constraints_container.py | 8 ++++---- enable/scrolled.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/enable/constraints_container.py b/enable/constraints_container.py index cab41ad78..372454b5d 100644 --- a/enable/constraints_container.py +++ b/enable/constraints_container.py @@ -253,7 +253,7 @@ def __components_items_changed(self, event): # Remove stale components from the map for item in event.removed: item.observe( - self._component_size_hint_changed, + self._handle_changed_component_size_hint, "layout_size_hint", remove=True, ) @@ -268,7 +268,7 @@ def __components_changed(self, new): # Clear the component maps for key, item in self._component_map.items(): item.observe( - self._component_size_hint_changed, + self._handle_changed_component_size_hint, "layout_size_hint", remove=True, ) @@ -277,7 +277,7 @@ def __components_changed(self, new): # Check the new components self._check_and_add_components(new) - def _component_size_hint_changed(self, event): + def _handle_changed_component_size_hint(self, event): """ Refresh the size hint contraints for a child component """ self.relayout() @@ -370,7 +370,7 @@ def _check_and_add_components(self, components): self._component_map[key] = item item.observe( - self._component_size_hint_changed, "layout_size_hint" + self._handle_changed_component_size_hint, "layout_size_hint" ) # Update the layout diff --git a/enable/scrolled.py b/enable/scrolled.py index 13e354894..3937a09b5 100644 --- a/enable/scrolled.py +++ b/enable/scrolled.py @@ -427,7 +427,7 @@ def _do_layout(self): self._handle_horizontal_scroll, "scroll_position" ) self._hsb.observe( - self._mouse_thumb_changed, "mouse_thumb" + self._handle_mouse_thumb, "mouse_thumb" ) self.add(self._hsb) else: @@ -468,7 +468,7 @@ def _do_layout(self): self._handle_vertical_scroll, "scroll_position" ) self._vsb.observe( - self._mouse_thumb_changed, "mouse_thumb" + self._handle_mouse_thumb, "mouse_thumb" ) self.add(self._vsb) else: @@ -539,7 +539,7 @@ def _handle_vertical_scroll(self, event): view_position=[viewport.view_position[0], position] ) - def _mouse_thumb_changed(self, event): + def _handle_mouse_thumb(self, event): if event.new == "down" and not self.continuous_drag_update: self.freeze_scroll_bounds() else: From fbd36998629810ab565bb194f331a50ce3183aa2 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 8 Mar 2021 10:46:40 -0600 Subject: [PATCH 08/11] Revert "update enable/drag.py" This reverts commit fe618cb2c52d1fa4a1900819309c2e9a5b435129. --- enable/drag.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enable/drag.py b/enable/drag.py index 908637eac..7a0585179 100644 --- a/enable/drag.py +++ b/enable/drag.py @@ -39,7 +39,7 @@ def init(self, components, bounds_rect, drag_root, drag_bounds_rect, self.window = components[0].window self.drag_over = [] - self.observe(self.drag_done, drag_event) + self.on_trait_change(self.drag_done, drag_event) # ------------------------------------------------------------------------- # Handle the mouse moving while dragging: From ee1124eff4cd85d4d082a7c18b99f0d319f6f55e Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 8 Mar 2021 10:46:50 -0600 Subject: [PATCH 09/11] Revert "update enable/drag_resize.py" This reverts commit 37287f81561a6b91600982b17eeeb7d004e109a4. --- enable/drag_resize.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enable/drag_resize.py b/enable/drag_resize.py index dac075e01..4da51e218 100644 --- a/enable/drag_resize.py +++ b/enable/drag_resize.py @@ -58,7 +58,7 @@ def init(self, component, bounds_rect, anchor, unconstrain, drag_event, self.float_y = yb # Set up the drag termination handler: - self.observe(self.drag_done, drag_event) + self.on_trait_change(self.drag_done, drag_event) # ------------------------------------------------------------------------- # Handle the mouse moving while resizing: @@ -151,7 +151,7 @@ def _mouse_move_changed(self, event): def drag_done(self, event): # 'Unhook' the drag done notification handler: - self.observe(self.drag_done, self.drag_event, remove=True) + self.on_trait_change(self.drag_done, self.drag_event, remove=True) # Inform the component that the resize operation is complete: self.component.resized = True From d2fcc3e5fb974266cbd8d4c56a68878b79b0082f Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 8 Mar 2021 11:00:09 -0600 Subject: [PATCH 10/11] Revert "messed up last commit" This reverts commit fdb407f73328b1a52a1108435dbd5a2a327d38ba. --- enable/drag.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/enable/drag.py b/enable/drag.py index 7a0585179..c0c568700 100644 --- a/enable/drag.py +++ b/enable/drag.py @@ -151,23 +151,25 @@ def drag_validate(self, event, drag_bounds): # ------------------------------------------------------------------------- def drag_done(self, event): + print('!'*100) + print(event) components = self.components drag_copy = self.drag_copy start_event = self.start_event # 'Unhook' the drag done notification handler: - self.observe(self.drag_done, self.drag_event, remove=True) + self.on_trait_change(self.drag_done, self.drag_event, remove=True) # Compute the new drag bounds: - x = event.new.x - y = event.new.y + x = event.x + y = event.y dx = x - self.start_x dy = y - self.start_y xl, yb, xr, yt = add_rectangles( self.drag_bounds_rect_start, (dx, dy, dx, dy) ) drag_bounds_rect = bounds_to_coordinates( - self.drag_validate(event.new, (xl, yb, xr - xl, yt - yb)) + self.drag_validate(event, (xl, yb, xr - xl, yt - yb)) ) # If the new bounds are not within the drag area, use the last drag @@ -190,7 +192,7 @@ def drag_done(self, event): copy=drag_copy, components=components, start_event=start_event, - window=event.new.window, + window=event.window, ) # Process the 'dropped_on' event for the object(s) it was dropped on: @@ -203,7 +205,7 @@ def drag_done(self, event): copy=drag_copy, components=components, start_event=start_event, - window=event.new.window, + window=event.window, ) index = send_event_to(components_at, "dropped_on", drag_event) From 28f6f25c0ff12426c5b4fb691acbede7fd9d6d45 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 8 Mar 2021 11:02:03 -0600 Subject: [PATCH 11/11] dont touch enable drag --- enable/drag.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/enable/drag.py b/enable/drag.py index c0c568700..d04969283 100644 --- a/enable/drag.py +++ b/enable/drag.py @@ -151,8 +151,6 @@ def drag_validate(self, event, drag_bounds): # ------------------------------------------------------------------------- def drag_done(self, event): - print('!'*100) - print(event) components = self.components drag_copy = self.drag_copy start_event = self.start_event