package org.limewire.ui.swing.search; import org.limewire.core.api.search.SearchDetails.SearchType; import org.limewire.ui.swing.components.decorators.TextFieldDecorator; import org.limewire.ui.swing.filter.AdvancedFilterPanel; import org.limewire.ui.swing.filter.AdvancedFilterPanelFactory; import org.limewire.ui.swing.filter.FilterableSource; import org.limewire.ui.swing.search.model.VisualSearchResult; import org.limewire.ui.swing.util.IconManager; import com.google.inject.Inject; import com.google.inject.Provider; /** * Factory implementation for creating an advanced filter panel for search * results. */ public class SearchFilterPanelFactory implements AdvancedFilterPanelFactory<VisualSearchResult> { private final TextFieldDecorator textFieldDecorator; private final Provider<IconManager> iconManager; /** * Constructs a SearchFilterPanelFactory with the specified UI decorators * and service managers. */ @Inject public SearchFilterPanelFactory(TextFieldDecorator textFieldDecorator, Provider<IconManager> iconManager) { this.textFieldDecorator = textFieldDecorator; this.iconManager = iconManager; } @Override public AdvancedFilterPanel<VisualSearchResult> create( FilterableSource<VisualSearchResult> filterableSource, SearchType type) { return new AdvancedFilterPanel<VisualSearchResult>(filterableSource, textFieldDecorator, iconManager, type); } }