From cf84559b70a3624fdc91f4bb3799ce4fae6c40c0 Mon Sep 17 00:00:00 2001 From: Robert Greene Date: Mon, 16 Dec 2002 02:19:01 +0000 Subject: [PATCH] Updated to handle multiple logical disks within one explorer window. --- .../ui/swt/DiskExplorerTab.java | 109 +++++++++--------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/src/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java b/src/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java index b6557f9..f93db5b 100644 --- a/src/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java +++ b/src/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java @@ -19,16 +19,6 @@ */ package com.webcodepro.applecommander.ui.swt; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - import com.webcodepro.applecommander.storage.AppleUtil; import com.webcodepro.applecommander.storage.AppleWorksWordProcessorFileFilter; import com.webcodepro.applecommander.storage.ApplesoftFileFilter; @@ -43,6 +33,16 @@ import com.webcodepro.applecommander.storage.TextFileFilter; import com.webcodepro.applecommander.storage.FormattedDisk.FileColumnHeader; import com.webcodepro.applecommander.ui.UserPreferences; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; @@ -88,7 +88,7 @@ public class DiskExplorerTab { private ImageManager imageManager; private UserPreferences userPreferences = UserPreferences.getInstance(); - private FormattedDisk disk; + private FormattedDisk[] disks; private FileFilter fileFilter; private GraphicsFileFilter graphicsFilter = new GraphicsFileFilter(); private AppleWorksWordProcessorFileFilter awpFilter = new AppleWorksWordProcessorFileFilter(); @@ -101,8 +101,8 @@ public class DiskExplorerTab { /** * Create the DISK INFO tab. */ - public DiskExplorerTab(CTabFolder tabFolder, FormattedDisk disk, ImageManager imageManager) { - this.disk = disk; + public DiskExplorerTab(CTabFolder tabFolder, FormattedDisk[] disks, ImageManager imageManager) { + this.disks = disks; this.shell = tabFolder.getShell(); this.imageManager = imageManager; @@ -129,11 +129,7 @@ public class DiskExplorerTab { */ protected void createFilesTab(CTabFolder tabFolder) { CTabItem ctabitem = new CTabItem(tabFolder, SWT.NULL); - if (disk.getLogicalDiskNumber() > 0) { - ctabitem.setText("Files #" + disk.getLogicalDiskNumber()); - } else { - ctabitem.setText("Files"); - } + ctabitem.setText("Files"); Composite composite = new Composite(tabFolder, SWT.NULL); ctabitem.setControl(composite); @@ -173,33 +169,37 @@ public class DiskExplorerTab { sashForm.setWeights(new int[] {1,2}); - TreeItem diskItem = new TreeItem(directoryTree, SWT.BORDER); - diskItem.setText(disk.getDiskName()); - diskItem.setData(disk); - directoryTree.setSelection(new TreeItem[] { diskItem }); - - if (disk.canHaveDirectories()) { - Iterator files = disk.getFiles().iterator(); - while (files.hasNext()) { - FileEntry entry = (FileEntry) files.next(); - if (entry.isDirectory()) { - TreeItem item = new TreeItem(diskItem, SWT.BORDER); - item.setText(entry.getFilename()); - item.setData(entry); - addDirectoriesToTree(item, entry); + for (int i=0; i 0) { - exportToolItem.setEnabled(disk.canReadFileData()); - importToolItem.setEnabled(disk.canCreateFile() && disk.canWriteFileData()); - deleteToolItem.setEnabled(disk.canDeleteFile()); + exportToolItem.setEnabled(disks[0].canReadFileData()); + importToolItem.setEnabled(disks[0].canCreateFile() && disks[0].canWriteFileData()); + deleteToolItem.setEnabled(disks[0].canDeleteFile()); } else { exportToolItem.setEnabled(false); importToolItem.setEnabled(false); @@ -567,7 +567,7 @@ public class DiskExplorerTab { } }); TableColumn column = null; - List headers = disk.getFileColumnHeaders(currentFormat); + List headers = disks[0].getFileColumnHeaders(currentFormat); int[] widths = (int[])columnWidths.get(new Integer(currentFormat)); for (int i=0; i