Skip to content

Commit 8ab1793

Browse files
frauzufallctrueden
authored andcommitted
searchaction: adds willclose property
1 parent acc8571 commit 8ab1793

File tree

9 files changed

+21
-8
lines changed

9 files changed

+21
-8
lines changed

src/main/java/org/scijava/search/DefaultSearchAction.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ public class DefaultSearchAction implements SearchAction {
1010

1111
private final String label;
1212
private final Runnable r;
13+
private final boolean closeSearch;
1314

14-
public DefaultSearchAction(final String label, final Runnable r) {
15+
public DefaultSearchAction(final String label, final Runnable r, final boolean closeSearch) {
1516
this.label = label;
1617
this.r = r;
18+
this.closeSearch = closeSearch;
1719
}
1820

1921
@Override
@@ -25,4 +27,9 @@ public String toString() {
2527
public void run() {
2628
r.run();
2729
}
30+
31+
@Override
32+
public boolean willCloseSearch(){
33+
return closeSearch;
34+
}
2835
}

src/main/java/org/scijava/search/SearchAction.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@
1212
*/
1313
public interface SearchAction extends Runnable {
1414
// NB: No implementation needed.
15+
16+
default boolean willCloseSearch(){
17+
return true;
18+
}
1519
}

src/main/java/org/scijava/search/module/BatchModuleSearchActionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ public SearchAction create(final SearchResult result) {
3030
return new DefaultSearchAction("Batch", () -> {
3131
uiService.showDialog("TODO: batch with module: " +
3232
((ModuleSearchResult) result).info().getTitle());
33-
});
33+
}, true);
3434
}
3535
}

src/main/java/org/scijava/search/module/HelpModuleSearchActionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ public SearchAction create(final SearchResult result) {
3030
return new DefaultSearchAction("Help", () -> {
3131
uiService.showDialog("TODO: help with module: " +
3232
((ModuleSearchResult) result).info().getTitle());
33-
});
33+
}, false);
3434
}
3535
}

src/main/java/org/scijava/search/module/RunModuleSearchActionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ public boolean supports(final SearchResult result) {
3030
public SearchAction create(final SearchResult result) {
3131
return new DefaultSearchAction("Run", () -> {
3232
moduleService.run(((ModuleSearchResult) result).info(), true);
33-
});
33+
}, true);
3434
}
3535
}

src/main/java/org/scijava/search/module/SourceModuleSearchActionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ public SearchAction create(final SearchResult result) {
3030
return new DefaultSearchAction("Source", () -> {
3131
uiService.showDialog("TODO: source for module: " +
3232
((ModuleSearchResult) result).info().getTitle());
33-
});
33+
}, true);
3434
}
3535
}

src/main/java/org/scijava/search/snippet/RunSnippetActionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@ public SearchAction create(final SearchResult result) {
4141
return new DefaultSearchAction("Evaluate", () -> {
4242
repl.lang(snippetResult.language().getLanguageName());
4343
repl.evaluate(snippetResult.snippet());
44-
});
44+
}, true);
4545
}
4646
}

src/main/java/org/scijava/search/web/OpenInBrowserActionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public boolean supports(final SearchResult result) {
3737
@Override
3838
public SearchAction create(final SearchResult result) {
3939
return new DefaultSearchAction("Open in Browser", //
40-
() -> openURL(result));
40+
() -> openURL(result), true);
4141
}
4242

4343
private void openURL(final SearchResult result) {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,9 @@ public SwingSearchPanel() {
354354
final JButton button = new JButton(action.toString());
355355
button.addActionListener(ae -> {
356356
action.run();
357-
reset();
357+
if(action.willCloseSearch()){
358+
reset();
359+
}
358360
});
359361
detailsButtons.add(button);
360362
});

0 commit comments

Comments
 (0)