Skip to content

Commit c87e78e

Browse files
committed
PathManagerUI: Improve Combination of selection filters
1 parent b59633c commit c87e78e

1 file changed

Lines changed: 6 additions & 29 deletions

File tree

‎src/main/java/sc/fiji/snt/gui/SNTSearchableBar.java‎

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,8 @@
3030
import com.jidesoft.swing.event.SearchableListener;
3131

3232
import sc.fiji.snt.SNTUtils;
33-
import sc.fiji.snt.util.SNTColor;
3433

3534
import javax.swing.*;
36-
import javax.swing.event.DocumentEvent;
37-
import javax.swing.event.DocumentListener;
3835
import java.awt.*;
3936
import java.awt.event.KeyEvent;
4037
import java.io.Serial;
@@ -133,41 +130,19 @@ private void updateHistoryMenu() {
133130
JToggleButton createSubFilteringButton() {
134131
final JToggleButton button = new JToggleButton();
135132
formatButton(button, IconFactory.GLYPH.FILTER);
136-
button.setToolTipText("Restricts filtering to selected " + objectDescription +".\nCombines filters to restrict matches");
137-
button.setActionCommand("Restrict filtering to selected " + objectDescription); // to be displayed in SNTCommandFinder
133+
button.setToolTipText("Combine selection filters to restrict matches: Restricts filtering to selected " + objectDescription);
134+
button.setActionCommand("Combine selection filters to restrict matches"); // to be displayed in SNTCommandFinder
138135
button.setRequestFocusEnabled(false);
139136
button.setFocusable(false);
140-
button.addActionListener(e -> {
141-
setSubFilteringEnabled(button.isSelected());
142-
setStatusLabelPlaceholder(statusLabelPlaceholder); // update label
143-
});
144-
getSearchField().getDocument().addDocumentListener(new DocumentListener() {
145-
@Override
146-
public void changedUpdate(final DocumentEvent e) {
147-
disable();
148-
}
149-
@Override
150-
public void removeUpdate(final DocumentEvent e) {
151-
disable();
152-
}
153-
@Override
154-
public void insertUpdate(final DocumentEvent e) {
155-
disable();
156-
}
157-
void disable() { // text searches disable subFiltering
158-
setSubFilteringEnabled(false);
159-
button.setSelected(false);
160-
button.setEnabled(getSearchingText().isBlank());
161-
}
162-
});
137+
button.addActionListener(e -> setSubFilteringEnabled(button.isSelected()));
163138
return button;
164139
}
165140

166141
public void setStatusLabelPlaceholder(final String placeholder) {
167142
statusLabelPlaceholder = placeholder;
168143
if (_statusLabel != null) {
169144
if (subFilteringEnabled) {
170-
_statusLabel.setText("Filtering on selected paths only");
145+
_statusLabel.setText("Combining selection filters");
171146
_statusLabel.setIcon(getSubFilteringStatusIcon());
172147
} else {
173148
_statusLabel.setText(statusLabelPlaceholder);
@@ -391,6 +366,8 @@ private JLabel statusLabel() {
391366

392367
public void setSubFilteringEnabled(final boolean enable) {
393368
this.subFilteringEnabled = enable;
369+
if (_textField != null) _textField.setEnabled(!subFilteringEnabled); // subfiltering disables text searches
370+
setStatusLabelPlaceholder(statusLabelPlaceholder); // update label
394371
}
395372

396373
/**

0 commit comments

Comments
 (0)