///******************************************************************************* // * Copyright (c) 2000, 2006 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.search2.internal.ui; // //import java.util.ArrayList; // //import org.eclipse.jface.action.Action; //import org.eclipse.jface.action.IAction; // //import org.eclipse.ui.texteditor.IUpdate; // //import org.eclipse.search.ui.text.AbstractTextSearchResult; //import org.eclipse.search.ui.text.AbstractTextSearchViewPage; //import org.eclipse.search.ui.text.MatchFilter; // // //public class MatchFilterAction extends Action implements IUpdate { // // private MatchFilter fFilter; // private AbstractTextSearchViewPage fPage; // // public MatchFilterAction(AbstractTextSearchViewPage page, MatchFilter filter) { // super(filter.getActionLabel(), IAction.AS_CHECK_BOX); // fPage= page; // fFilter= filter; // setId("MatchFilterAction." + filter.getID()); //$NON-NLS-1$ // setChecked(isActiveMatchFilter()); // } // // public void run() { // AbstractTextSearchResult input= fPage.getInput(); // if (input == null) { // return; // } // ArrayList newFilters= new ArrayList(); // MatchFilter[] activeMatchFilters= input.getActiveMatchFilters(); // if (activeMatchFilters == null) { // return; // } // // for (int i= 0; i < activeMatchFilters.length; i++) { // if (!activeMatchFilters[i].equals(fFilter)) { // newFilters.add(activeMatchFilters[i]); // } // } // boolean newState= isChecked(); // if (newState) { // newFilters.add(fFilter); // } // input.setActiveMatchFilters((MatchFilter[]) newFilters.toArray(new MatchFilter[newFilters.size()])); // } // // public MatchFilter getFilter() { // return fFilter; // } // // private boolean isActiveMatchFilter() { // AbstractTextSearchResult input= fPage.getInput(); // if (input != null) { // MatchFilter[] activeMatchFilters= input.getActiveMatchFilters(); // for (int i= 0; i < activeMatchFilters.length; i++) { // if (fFilter.equals(activeMatchFilters[i])) { // return true; // } // } // } // return false; // } // // /* (non-Javadoc) // * @see org.eclipse.ui.texteditor.IUpdate#update() // */ // public void update() { // setChecked(isActiveMatchFilter()); // } //}