Skip to content

Commit bc65dab

Browse files
committed
SwingSearchBar: defer need for the SearchService
We only need it once we bring up the search pane. This change enables SwingSearchBar to be created and used earlier in the context creation lifecycle.
1 parent 8ee87e9 commit bc65dab

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/main/java/org/scijava/ui/swing/search/SwingSearchBar.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,6 @@ public class SwingSearchBar extends JTextField {
115115
private final DocumentListener documentListener;
116116
private final JToolBar buttons;
117117

118-
@Parameter
119-
private SearchService searchService;
120-
121118
@Parameter
122119
private ThreadService threadService;
123120

@@ -311,7 +308,7 @@ private void search() {
311308
// NB: Defer creating a new search dialog until something is typed.
312309
return;
313310
}
314-
searchPanel = new SwingSearchPanel(); // Spawns the SearchOperation!
311+
searchPanel = new SwingSearchPanel(threadService.context());
315312
showPanel(searchPanel);
316313
}
317314
searchPanel.search(getText());
@@ -350,7 +347,11 @@ private class SwingSearchPanel extends JPanel {
350347
private final Map<Class<?>, JCheckBox> headerCheckboxes;
351348
private final JList<SearchResult> resultsList;
352349

353-
public SwingSearchPanel() {
350+
@Parameter
351+
private SearchService searchService;
352+
353+
public SwingSearchPanel(final Context context) {
354+
context.inject(this);
354355
setLayout(new BorderLayout());
355356
setPreferredSize(new Dimension(800, 300));
356357
setBorder(BorderFactory.createEmptyBorder());

0 commit comments

Comments
 (0)