Skip to content

Commit 9b85111

Browse files
committed
DisplayViewer: move default method impls to iface
1 parent 64a2333 commit 9b85111

File tree

2 files changed

+23
-33
lines changed

2 files changed

+23
-33
lines changed

src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,8 @@
3232
package org.scijava.ui.viewer;
3333

3434
import org.scijava.display.Display;
35-
import org.scijava.display.event.DisplayActivatedEvent;
3635
import org.scijava.display.event.DisplayCreatedEvent;
37-
import org.scijava.display.event.DisplayDeletedEvent;
3836
import org.scijava.display.event.DisplayUpdatedEvent;
39-
import org.scijava.display.event.DisplayUpdatedEvent.DisplayUpdateLevel;
4037
import org.scijava.event.EventHandler;
4138
import org.scijava.plugin.AbstractRichPlugin;
4239

@@ -87,32 +84,6 @@ public DisplayPanel getPanel() {
8784
return panel;
8885
}
8986

90-
@Override
91-
public void onDisplayDeletedEvent(final DisplayDeletedEvent e) {
92-
getPanel().getWindow().close();
93-
}
94-
95-
@Override
96-
public void onDisplayUpdatedEvent(final DisplayUpdatedEvent e) {
97-
if (e.getLevel() == DisplayUpdateLevel.REBUILD) {
98-
getPanel().redoLayout();
99-
}
100-
getPanel().redraw();
101-
}
102-
103-
@Override
104-
public void onDisplayActivatedEvent(final DisplayActivatedEvent e) {
105-
getPanel().getWindow().requestFocus();
106-
}
107-
108-
// -- Disposable methods --
109-
110-
@Override
111-
public void dispose() {
112-
final DisplayWindow w = getWindow();
113-
if (w != null) w.close();
114-
}
115-
11687
// -- Internal AbstractDisplayViewer methods --
11788

11889
protected void updateTitle() {

src/main/java/org/scijava/ui/viewer/DisplayViewer.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.scijava.display.event.DisplayActivatedEvent;
3737
import org.scijava.display.event.DisplayDeletedEvent;
3838
import org.scijava.display.event.DisplayUpdatedEvent;
39+
import org.scijava.display.event.DisplayUpdatedEvent.DisplayUpdateLevel;
3940
import org.scijava.plugin.Plugin;
4041
import org.scijava.plugin.RichPlugin;
4142
import org.scijava.ui.UserInterface;
@@ -90,16 +91,34 @@ public interface DisplayViewer<T> extends RichPlugin, Disposable {
9091
DisplayPanel getPanel();
9192

9293
/** Synchronizes the user interface appearance with the display model. */
93-
void onDisplayUpdatedEvent(DisplayUpdatedEvent e);
94+
default void onDisplayUpdatedEvent(final DisplayUpdatedEvent e) {
95+
if (e.getLevel() == DisplayUpdateLevel.REBUILD) {
96+
getPanel().redoLayout();
97+
}
98+
getPanel().redraw();
99+
}
94100

95101
/** Removes the user interface when the display is deleted. */
96-
void onDisplayDeletedEvent(DisplayDeletedEvent e);
102+
@SuppressWarnings("unused")
103+
default void onDisplayDeletedEvent(final DisplayDeletedEvent e) {
104+
getPanel().getWindow().close();
105+
}
97106

98107
/**
99108
* Handles a display activated event directed at this viewer's display. Note
100109
* that the event's display may not be the viewer's display, but the active
101110
* display will always be the viewer's display.
102111
*/
103-
void onDisplayActivatedEvent(DisplayActivatedEvent e);
104-
112+
@SuppressWarnings("unused")
113+
default void onDisplayActivatedEvent(final DisplayActivatedEvent e) {
114+
getPanel().getWindow().requestFocus();
115+
}
116+
117+
// -- Disposable methods --
118+
119+
@Override
120+
default void dispose() {
121+
final DisplayWindow w = getWindow();
122+
if (w != null) w.close();
123+
}
105124
}

0 commit comments

Comments
 (0)