package net.bitpot.railways.navigation; import com.intellij.ide.util.gotoByName.ChooseByNameFilter; import com.intellij.ide.util.gotoByName.ChooseByNameFilterConfiguration; import com.intellij.ide.util.gotoByName.ChooseByNamePopup; import com.intellij.ide.util.gotoByName.FilteringGotoByModel; import com.intellij.openapi.project.Project; import net.bitpot.railways.models.requestMethods.RequestMethod; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.util.Collection; /** * */ public class ChooseByRouteNameFilter extends ChooseByNameFilter<RequestMethod> { /** * A constructor * * @param popup a parent popup * @param model a model for popup * @param filterConfiguration storage for selected filter values * @param project a context project */ public ChooseByRouteNameFilter(@NotNull ChooseByNamePopup popup, @NotNull FilteringGotoByModel<RequestMethod> model, @NotNull ChooseByNameFilterConfiguration<RequestMethod> filterConfiguration, @NotNull Project project) { super(popup, model, filterConfiguration, project); } @Override protected String textForFilterValue(@NotNull RequestMethod value) { return value.getName(); } @Nullable @Override protected Icon iconForFilterValue(@NotNull RequestMethod value) { return value.getIcon(); } @NotNull @Override protected Collection<RequestMethod> getAllFilterValues() { return RequestMethod.getAllRequestMethods(); } }