moved debug to AbstractFile

This commit is contained in:
Denis Molony 2020-12-19 18:40:59 +10:00
parent 651674d1ed
commit e7c4423ebf
5 changed files with 47 additions and 57 deletions

View File

@ -12,6 +12,8 @@ import com.bytezone.diskbrowser.utilities.HexFormatter;
public abstract class AbstractFile implements DataSource
// -----------------------------------------------------------------------------------//
{
static boolean debug;
protected String name;
public byte[] buffer;
protected AssemblerProgram assembler;
@ -34,6 +36,20 @@ public abstract class AbstractFile implements DataSource
return "Name : " + name + "\n\nNo text description";
}
// ---------------------------------------------------------------------------------//
public static void setDefaultDebug (boolean value)
// ---------------------------------------------------------------------------------//
{
debug = value;
}
// ---------------------------------------------------------------------------------//
public static void setDebug (boolean value)
// ---------------------------------------------------------------------------------//
{
debug = value;
}
// ---------------------------------------------------------------------------------//
public String getName ()
// ---------------------------------------------------------------------------------//

View File

@ -26,8 +26,6 @@ public class ApplesoftBasicProgram extends BasicProgram
private static final byte TOKEN_THEN = (byte) 0xC4;
private static final byte TOKEN_EQUALS = (byte) 0xD0;
private static boolean debug;
private final List<SourceLine> sourceLines = new ArrayList<> ();
private final int endPtr;
private final Set<Integer> gotoLines = new HashSet<> ();
@ -57,20 +55,6 @@ public class ApplesoftBasicProgram extends BasicProgram
endPtr = ptr;
}
// ---------------------------------------------------------------------------------//
public static void setDefaultDebug (boolean value)
// ---------------------------------------------------------------------------------//
{
debug = value;
}
// ---------------------------------------------------------------------------------//
public static void setDebug (boolean value)
// ---------------------------------------------------------------------------------//
{
debug = value;
}
// ---------------------------------------------------------------------------------//
@Override
public String getText ()

View File

@ -6,7 +6,6 @@ import com.bytezone.diskbrowser.visicalc.Sheet;
public class VisicalcFile extends AbstractFile
// -----------------------------------------------------------------------------------//
{
private static boolean debug;
private Sheet sheet;
// ---------------------------------------------------------------------------------//
@ -32,20 +31,6 @@ public class VisicalcFile extends AbstractFile
return text.toString ();
}
// ---------------------------------------------------------------------------------//
public static void setDefaultDebug (boolean value)
// ---------------------------------------------------------------------------------//
{
debug = value;
}
// ---------------------------------------------------------------------------------//
public static void setDebug (boolean value)
// ---------------------------------------------------------------------------------//
{
debug = value;
}
// ---------------------------------------------------------------------------------//
public static boolean isVisicalcFile (byte[] buffer)
// ---------------------------------------------------------------------------------//

View File

@ -25,6 +25,7 @@ import javax.swing.SwingWorker;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import com.bytezone.diskbrowser.applefile.AbstractFile;
import com.bytezone.diskbrowser.applefile.ApplesoftBasicProgram;
import com.bytezone.diskbrowser.applefile.AssemblerProgram;
import com.bytezone.diskbrowser.applefile.BasicTextFile;
@ -33,7 +34,6 @@ import com.bytezone.diskbrowser.applefile.Palette;
import com.bytezone.diskbrowser.applefile.PaletteFactory.CycleDirection;
import com.bytezone.diskbrowser.applefile.QuickDrawFont;
import com.bytezone.diskbrowser.applefile.SHRPictureFile2;
import com.bytezone.diskbrowser.applefile.VisicalcFile;
import com.bytezone.diskbrowser.disk.DiskAddress;
import com.bytezone.diskbrowser.disk.SectorList;
import com.bytezone.diskbrowser.gui.FontAction.FontChangeEvent;
@ -71,6 +71,11 @@ public class DataPanel extends JTabbedPane
final MenuHandler menuHandler;
enum TabType
{
FORMATTED, HEX, DISASSEMBLED
}
// ---------------------------------------------------------------------------------//
public DataPanel (MenuHandler mh)
// ---------------------------------------------------------------------------------//
@ -255,20 +260,23 @@ public class DataPanel extends JTabbedPane
{
debugMode = value;
if (currentDataSource instanceof VisicalcFile)
{
VisicalcFile visicalcFile = (VisicalcFile) currentDataSource;
VisicalcFile.setDebug (value);
setText (formattedText, visicalcFile.getText ());
}
else if (currentDataSource instanceof ApplesoftBasicProgram)
{
ApplesoftBasicProgram basicProgram = (ApplesoftBasicProgram) currentDataSource;
ApplesoftBasicProgram.setDebug (value);
setText (formattedText, basicProgram.getText ());
}
// should implement an interface for this
else if (currentDataSource instanceof HiResImage
AbstractFile.setDebug (value);
setText (formattedText, currentDataSource.getText ());
// if (currentDataSource instanceof VisicalcFile)
// {
// VisicalcFile visicalcFile = (VisicalcFile) currentDataSource;
// VisicalcFile.setDebug (value);
// setText (formattedText, visicalcFile.getText ());
// }
// else if (currentDataSource instanceof ApplesoftBasicProgram)
// {
// ApplesoftBasicProgram basicProgram = (ApplesoftBasicProgram) currentDataSource;
// ApplesoftBasicProgram.setDebug (value);
// setText (formattedText, basicProgram.getText ());
// }
// // should implement an interface for this
// else
if (currentDataSource instanceof HiResImage
|| currentDataSource instanceof QuickDrawFont)
{
setDataSource (currentDataSource); // toggles text/image
@ -324,9 +332,9 @@ public class DataPanel extends JTabbedPane
return;
}
switch (getSelectedIndex ())
switch (TabType.values ()[getSelectedIndex ()])
{
case 0: // Formatted/Image
case FORMATTED:
try
{
setText (formattedText, dataSource.getText ());
@ -340,20 +348,17 @@ public class DataPanel extends JTabbedPane
assemblerTextValid = false;
break;
case 1: // Hex Dump
case HEX:
setText (hexText, dataSource.getHexDump ());
formattedTextValid = false;
assemblerTextValid = false;
break;
case 2: // Disassembly
case DISASSEMBLED:
setText (disassemblyText, dataSource.getAssembler ());
hexTextValid = false;
formattedTextValid = false;
break;
default:
System.out.println ("Invalid index selected in DataPanel");
}
BufferedImage image = dataSource.getImage ();

View File

@ -17,14 +17,13 @@ import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.KeyStroke;
import com.bytezone.diskbrowser.applefile.ApplesoftBasicProgram;
import com.bytezone.diskbrowser.applefile.AbstractFile;
import com.bytezone.diskbrowser.applefile.AssemblerProgram;
import com.bytezone.diskbrowser.applefile.BasicProgram;
import com.bytezone.diskbrowser.applefile.BasicTextFile;
import com.bytezone.diskbrowser.applefile.HiResImage;
import com.bytezone.diskbrowser.applefile.Palette;
import com.bytezone.diskbrowser.applefile.PaletteFactory;
import com.bytezone.diskbrowser.applefile.VisicalcFile;
import com.bytezone.diskbrowser.disk.DataDisk;
import com.bytezone.diskbrowser.disk.FormattedDisk;
import com.bytezone.diskbrowser.prodos.ProdosDisk;
@ -570,8 +569,9 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
HiResImage.setDefaultColourQuirks (colourQuirksItem.isSelected ());
HiResImage.setDefaultMonochrome (monochromeItem.isSelected ());
VisicalcFile.setDefaultDebug (debuggingItem.isSelected ());
ApplesoftBasicProgram.setDefaultDebug (debuggingItem.isSelected ());
// VisicalcFile.setDefaultDebug (debuggingItem.isSelected ());
// ApplesoftBasicProgram.setDefaultDebug (debuggingItem.isSelected ());
AbstractFile.setDefaultDebug (debuggingItem.isSelected ());
fontAction.restore (prefs);
}