Commit 6eabf71
committed
Find/replace overlay: replace shell with integrated composite #2099
The FindReplaceOverlay is currently realized as a separate shell (more
precisely, a JFace Dialog), which is placed at a proper position on top
of the workbench shell. This has some drawback:
- It has to manually adapt to movements of the parent shell or the
target part/widget
- It has to manually hide and show depending on visibility changes of
the target part/widget
- It does not follow events of the target immediately, i.e., movements
are always some milliseconds behind, minimize/maximize
operations/animations are not synchronous etc.
- It does not locate properly when the platform uses Wayland, as manual
shell positioning is not possible there
This change replaces the dialog-based implementation of the
FindReplaceOverlay with an in-place composite-based implementation. A
composite is created in the target widget and placed relative to this
composite. In consequence, the overlay automatically follows all move,
resize, hide/show operations of the target widget.
Fixes eclipse-platform/eclipse.platform.swt#1447
Fixes #2099
Fixes #22461 parent c777660 commit 6eabf71
File tree
3 files changed
+221
-355
lines changed- bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui
- internal/findandreplace/overlay
- texteditor
- tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/internal/findandreplace/overlay
3 files changed
+221
-355
lines changed
0 commit comments