package com.intellij.find.editorHeaderActions; import com.intellij.find.SearchSession; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.actionSystem.ex.CheckboxAction; import com.intellij.openapi.project.DumbAware; import org.jetbrains.annotations.NotNull; import javax.swing.*; public abstract class EditorHeaderToggleAction extends CheckboxAction implements DumbAware { protected EditorHeaderToggleAction(@NotNull String text) { super(text); } @Override public boolean displayTextInToolbar() { return true; } @Override public void update(AnActionEvent e) { super.update(e); } @Override public JComponent createCustomComponent(Presentation presentation) { final JComponent customComponent = super.createCustomComponent(presentation); customComponent.setFocusable(false); customComponent.setOpaque(false); return customComponent; } @Override public boolean isSelected(AnActionEvent e) { SearchSession search = e.getData(SearchSession.KEY); return search != null && isSelected(search); } @Override public void setSelected(AnActionEvent e, boolean selected) { SearchSession search = e.getData(SearchSession.KEY); if (search != null) { setSelected(search, selected); } } protected abstract boolean isSelected(@NotNull SearchSession session); protected abstract void setSelected(@NotNull SearchSession session, boolean selected); }