mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
coverage view: initial
This commit is contained in:
@@ -45,6 +45,8 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.JavaDirectoryService;
|
||||
import com.intellij.psi.PsiClass;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class FileStructureDialogTest extends BaseProjectViewTestCase {
|
||||
public void testFileStructureForClass() throws Exception {
|
||||
final PsiClass psiClass = JavaDirectoryService.getInstance().getPackage(getPackageDirectory()).getClasses()[0];
|
||||
@@ -64,7 +66,7 @@ public class FileStructureDialogTest extends BaseProjectViewTestCase {
|
||||
}
|
||||
});
|
||||
final CommanderPanel panel = dialog.getPanel();
|
||||
assertListsEqual(panel.getModel(), "Inner1\n" + "Inner2\n" + "__method():void\n" + "_myField1:int\n" + "_myField2:String\n");
|
||||
assertListsEqual((ListModel)panel.getModel(), "Inner1\n" + "Inner2\n" + "__method():void\n" + "_myField1:int\n" + "_myField2:String\n");
|
||||
}
|
||||
finally {
|
||||
if (dialog != null) dialog.close(0);
|
||||
|
||||
@@ -40,7 +40,7 @@ import java.util.List;
|
||||
public abstract class AbstractListBuilder {
|
||||
protected final Project myProject;
|
||||
protected final JList myList;
|
||||
private final Model myModel;
|
||||
protected final Model myModel;
|
||||
protected final AbstractTreeStructure myTreeStructure;
|
||||
private final Comparator myComparator;
|
||||
|
||||
@@ -49,26 +49,28 @@ public abstract class AbstractListBuilder {
|
||||
private AbstractTreeNode myCurrentParent = null;
|
||||
private final AbstractTreeNode myShownRoot;
|
||||
|
||||
public abstract static class Model extends AbstractListModel {
|
||||
public abstract void removeAllElements();
|
||||
public interface Model {
|
||||
void removeAllElements();
|
||||
|
||||
public abstract void addElement(final Object node);
|
||||
void addElement(final Object node);
|
||||
|
||||
public abstract void replaceElements(final List newElements);
|
||||
void replaceElements(final List newElements);
|
||||
|
||||
public abstract Object[] toArray();
|
||||
Object[] toArray();
|
||||
|
||||
public abstract int indexOf(final Object o);
|
||||
int indexOf(final Object o);
|
||||
|
||||
int getSize();
|
||||
|
||||
Object getElementAt(int idx);
|
||||
}
|
||||
|
||||
AbstractListBuilder(
|
||||
final Project project,
|
||||
final JList list,
|
||||
final Model model,
|
||||
final AbstractTreeStructure treeStructure,
|
||||
final Comparator comparator,
|
||||
final boolean showRoot
|
||||
) {
|
||||
|
||||
public AbstractListBuilder(final Project project,
|
||||
final JList list,
|
||||
final Model model,
|
||||
final AbstractTreeStructure treeStructure,
|
||||
final Comparator comparator,
|
||||
final boolean showRoot) {
|
||||
myProject = project;
|
||||
myList = list;
|
||||
myModel = model;
|
||||
@@ -92,13 +94,13 @@ public abstract class AbstractListBuilder {
|
||||
myParentTitle = parentTitle;
|
||||
}
|
||||
|
||||
final void drillDown() {
|
||||
final Object value = myList.getSelectedValue();
|
||||
public final void drillDown() {
|
||||
final Object value = getSelectedValue();
|
||||
if (value instanceof AbstractTreeNode) {
|
||||
try {
|
||||
final AbstractTreeNode node = (AbstractTreeNode)value;
|
||||
buildList(node);
|
||||
ListScrollingUtil.ensureSelectionExists(myList);
|
||||
ensureSelectionExist();
|
||||
}
|
||||
finally {
|
||||
updateParentTitle();
|
||||
@@ -109,7 +111,7 @@ public abstract class AbstractListBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
final void goUp() {
|
||||
public final void goUp() {
|
||||
if (myCurrentParent == myShownRoot.getParent()) {
|
||||
return;
|
||||
}
|
||||
@@ -128,8 +130,8 @@ public abstract class AbstractListBuilder {
|
||||
final NodeDescriptor desc = (NodeDescriptor)myModel.getElementAt(i);
|
||||
final Object elem = desc.getElement();
|
||||
if (oldParent.equals(elem)) {
|
||||
ListScrollingUtil.selectItem(myList, i);
|
||||
break;
|
||||
selectItem(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,6 +141,18 @@ public abstract class AbstractListBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
protected Object getSelectedValue() {
|
||||
return myList.getSelectedValue();
|
||||
}
|
||||
|
||||
protected void selectItem(int i) {
|
||||
ListScrollingUtil.selectItem(myList, i);
|
||||
}
|
||||
|
||||
protected void ensureSelectionExist() {
|
||||
ListScrollingUtil.ensureSelectionExists(myList);
|
||||
}
|
||||
|
||||
public final void selectElement(final Object element, VirtualFile virtualFile) {
|
||||
if (element == null) {
|
||||
return;
|
||||
@@ -158,13 +172,13 @@ public abstract class AbstractListBuilder {
|
||||
if (desc.getValue() instanceof StructureViewTreeElement) {
|
||||
StructureViewTreeElement treeelement = (StructureViewTreeElement)desc.getValue();
|
||||
if (element.equals(treeelement.getValue())) {
|
||||
ListScrollingUtil.selectItem(myList, i);
|
||||
selectItem(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (element.equals(desc.getValue())) {
|
||||
ListScrollingUtil.selectItem(myList, i);
|
||||
selectItem(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -181,7 +195,7 @@ public abstract class AbstractListBuilder {
|
||||
AbstractTreeNode lastPathNode = goDownToElement(element, file);
|
||||
if (lastPathNode == null) return;
|
||||
buildList(lastPathNode);
|
||||
ListScrollingUtil.ensureSelectionExists(myList);
|
||||
ensureSelectionExist();
|
||||
}
|
||||
finally {
|
||||
updateParentTitle();
|
||||
@@ -195,7 +209,7 @@ public abstract class AbstractListBuilder {
|
||||
public final void enterElement(final AbstractTreeNode element) {
|
||||
try {
|
||||
buildList(element);
|
||||
ListScrollingUtil.ensureSelectionExists(myList);
|
||||
ensureSelectionExist();
|
||||
}
|
||||
finally {
|
||||
updateParentTitle();
|
||||
@@ -297,7 +311,7 @@ public abstract class AbstractListBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldAddTopElement() {
|
||||
protected boolean shouldAddTopElement() {
|
||||
return !myShownRoot.equals(myCurrentParent);
|
||||
}
|
||||
|
||||
|
||||
@@ -602,7 +602,7 @@ public class CommanderPanel extends JPanel {
|
||||
}
|
||||
}
|
||||
|
||||
private static final class MyModel extends AbstractListBuilder.Model {
|
||||
public static final class MyModel extends AbstractListModel implements AbstractListBuilder.Model{
|
||||
final List myElements = new ArrayList();
|
||||
public void removeAllElements() {
|
||||
int index1 = myElements.size()-1;
|
||||
|
||||
Reference in New Issue
Block a user