Fixed ROM tree collapsing on refresh/close image

git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@134 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
Jared Gould 2006-07-10 16:38:07 +00:00
parent 25b612fedc
commit 6e65f0d038
2 changed files with 24 additions and 17 deletions

View File

@ -30,6 +30,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Iterator;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
@ -41,6 +42,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.tree.TreePath;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
@ -237,21 +239,26 @@ public class ECUEditor extends JFrame implements WindowListener, PropertyChangeL
}
public void closeImage() {
for (int i = 0; i < imageRoot.getChildCount(); i++) {
RomTreeNode romTreeNode = (RomTreeNode)imageRoot.getChildAt(i);
Rom rom = romTreeNode.getRom();
if (rom == lastSelectedRom) {
Vector<Table> romTables = rom.getTables();
for (Iterator j = romTables.iterator(); j.hasNext();) {
Table t = (Table)j.next();
rightPanel.remove(t.getFrame());
}
imageRoot.remove(i);
break;
}
}
imageList.cleanup();
for (int i = 0; i < imageRoot.getChildCount(); i++) {
RomTreeNode romTreeNode = (RomTreeNode)imageRoot.getChildAt(i);
Rom rom = romTreeNode.getRom();
if (rom == lastSelectedRom) {
Vector<Table> romTables = rom.getTables();
for (Iterator j = romTables.iterator(); j.hasNext();) {
Table t = (Table)j.next();
rightPanel.remove(t.getFrame());
}
Vector<TreePath> path = new Vector<TreePath>();
path.add(new TreePath(romTreeNode.getPath()));
imageRoot.remove(i);
imageList.removeDescendantToggledPaths((Enumeration<TreePath>)path.elements());
break;
}
}
imageList.updateUI();
if (imageRoot.getChildCount() > 0) {

View File

@ -68,7 +68,7 @@ public class RomTree extends JTree implements MouseListener {
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void cleanup() {
clearToggledPaths();
public void removeDescendantToggledPaths(Enumeration<TreePath> toRemove) {
super.removeDescendantToggledPaths(toRemove);
}
}