From 462f7ffa31ace1115d2c0e18abde9afd3aeb5df6 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Fri, 16 Oct 2009 22:04:26 +0400 Subject: [PATCH] deadcode removed --- .../com/intellij/ui/FilteringListModel.java | 140 ------------------ 1 file changed, 140 deletions(-) delete mode 100644 platform/platform-api/src/com/intellij/ui/FilteringListModel.java diff --git a/platform/platform-api/src/com/intellij/ui/FilteringListModel.java b/platform/platform-api/src/com/intellij/ui/FilteringListModel.java deleted file mode 100644 index 8f29c0df11ca..000000000000 --- a/platform/platform-api/src/com/intellij/ui/FilteringListModel.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.ui; - -import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.util.Condition; - -import javax.swing.*; -import javax.swing.event.ListDataEvent; -import javax.swing.event.ListDataListener; -import java.util.ArrayList; -import java.util.List; - -/** - * @author dyoma - */ -public class FilteringListModel extends AbstractListModel { - private final ListModel myOriginalModel; - private Condition myCondition = null; - private final ListDataListener myListDataListener = new ListDataListener() { - public void contentsChanged(ListDataEvent e) { - int[] interval = findFilteredInterval(e); - fireContentsChanged(this, filteredIndex(interval[0]), filteredIndex(interval[1])); - } - - public void intervalAdded(ListDataEvent e) { - int[] interval = findFilteredInterval(e); - fireIntervalAdded(this, interval[0], interval[1]); - } - - public void intervalRemoved(ListDataEvent e) { - int[] interval = findFilteredInterval(e); - fireIntervalRemoved(this, interval[0], interval[1]); - } - }; - - public FilteringListModel(ListModel originalModel) { - myOriginalModel = originalModel; - myOriginalModel.addListDataListener(myListDataListener); - } - - public void dispose() { - myOriginalModel.removeListDataListener(myListDataListener); - } - - public void setFilter(Condition condition) { - int prevSize = getSize(); - myCondition = condition; - int newSize = getSize(); - fireContentsChanged(this, 0, Math.min(prevSize, newSize) - 1); - if (newSize > prevSize) fireIntervalAdded(this, prevSize, newSize - 1); - else if (newSize < prevSize) fireIntervalRemoved(this, newSize, prevSize - 1); - } - - private int[] findFilteredInterval(ListDataEvent e) { - return findFilteredInterval(e.getIndex0(), e.getIndex1()); - } - - public int getSize() { - return getItems().size(); - } - - public Object getElementAt(int index) { - return getItems().get(index); - } - - private List getItems() { - ArrayList list = new ArrayList(); - for (int i = 0; i < myOriginalModel.getSize(); i++) { - T element = getOriginalElementAt(i); - if (passElement(element)) list.add(element); - } - return list; - } - - private T getOriginalElementAt(int i) { - return (T)myOriginalModel.getElementAt(i); - } - - private boolean passElement(T element) { - return myCondition == null || myCondition.value(element); - } - - private int findFirst(int fromIndex, int toIndex) { - for (int i = fromIndex; i <= toIndex; i ++) { - if (passElement(getOriginalElementAt(i))) return i; - } - return -1; - } - - private int findLast(int fromIndex, int toIndex) { - for (int i = toIndex; i >= fromIndex; i--) { - if (passElement(getOriginalElementAt(i))) return i; - } - return -1; - } - - private int filteredIndex(int index) { - return getItems().indexOf(getOriginalElementAt(index)); - } - - private int[] findFilteredInterval(int index0, int index1) { - int[] interval = new int[2]; - interval[0] = findFirst(index0, index1); - if (interval[0] == -1) return null; - interval[1] = findLast(interval[0], index1); - return interval; - } - - private int getOriginalIndexOf(T item) { - for (int i = 0; i < myOriginalModel.getSize(); i++) - if (Comparing.equal(item, myOriginalModel.getElementAt(i))) return i; - return -1; - } - - public int findNearestIndex(T item) { - int index = getItems().indexOf(item); - if (index != -1) return index; - int originalIndex = getOriginalIndexOf(item); - if (originalIndex == -1) return -1; - index = findFirst(originalIndex, myOriginalModel.getSize() - 1); - if (index != -1) return filteredIndex(index); - index = findLast(0, originalIndex); - if (index != -1) return filteredIndex(index); - return -1; - } -}