mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-06-13 21:29:31 +00:00
more Basic preferences
This commit is contained in:
parent
77276ab156
commit
3deda1c06a
|
@ -69,7 +69,7 @@ public class ApplesoftBasicProgram extends BasicProgram
|
|||
// ---------------------------------------------------------------------------------//
|
||||
{
|
||||
int indentSize = 2;
|
||||
boolean blankLine = false;
|
||||
boolean insertBlankLine = false;
|
||||
|
||||
StringBuilder fullText = new StringBuilder ();
|
||||
Stack<String> loopVariables = new Stack<> ();
|
||||
|
@ -149,6 +149,9 @@ public class ApplesoftBasicProgram extends BasicProgram
|
|||
int pos = subline.is (TOKEN_REM) ? 0 : alignPos;
|
||||
String lineText = subline.getAlignedText (pos);
|
||||
|
||||
if (subline.is (TOKEN_REM) && basicPreferences.deleteExtraRemSpace)
|
||||
lineText = lineText.replaceFirst ("REM ", "REM ");
|
||||
|
||||
// Check for a wrappable REM statement
|
||||
// (see SEA BATTLE on DISK283.DSK)
|
||||
if (subline.is (TOKEN_REM) && lineText.length () > basicPreferences.wrapRemAt)
|
||||
|
@ -224,13 +227,13 @@ public class ApplesoftBasicProgram extends BasicProgram
|
|||
++indent;
|
||||
}
|
||||
else if (basicPreferences.blankAfterReturn && subline.is (TOKEN_RETURN))
|
||||
blankLine = true;
|
||||
insertBlankLine = true;
|
||||
}
|
||||
|
||||
if (blankLine)
|
||||
if (insertBlankLine)
|
||||
{
|
||||
fullText.append ("\n");
|
||||
blankLine = false;
|
||||
insertBlankLine = false;
|
||||
}
|
||||
|
||||
// Reset alignment value if we just left an IF - the indentation will be different now
|
||||
|
|
|
@ -12,6 +12,7 @@ public class BasicPreferences
|
|||
public boolean showCaret = false;
|
||||
public boolean showThen = true;
|
||||
public boolean blankAfterReturn = false;
|
||||
public boolean deleteExtraRemSpace = false;
|
||||
public int wrapPrintAt = 0;
|
||||
public int wrapRemAt = 60;
|
||||
public int wrapDataAt = 60;
|
||||
|
@ -23,18 +24,19 @@ public class BasicPreferences
|
|||
{
|
||||
StringBuilder text = new StringBuilder ();
|
||||
|
||||
text.append (String.format ("Split REM ............. %s%n", splitRem));
|
||||
text.append (String.format ("Align assign .......... %s%n", alignAssign));
|
||||
text.append (String.format ("Show targets .......... %s%n", showTargets));
|
||||
text.append (String.format ("Split REM ................ %s%n", splitRem));
|
||||
text.append (String.format ("Align assign ............. %s%n", alignAssign));
|
||||
text.append (String.format ("Show targets ............. %s%n", showTargets));
|
||||
text.append (
|
||||
String.format ("Only target lines ..... %s%n", onlyShowTargetLineNumbers));
|
||||
text.append (String.format ("Show header ........... %s%n", showHeader));
|
||||
text.append (String.format ("Show caret ............ %s%n", showCaret));
|
||||
text.append (String.format ("Show THEN ............. %s%n", showThen));
|
||||
text.append (String.format ("Blank after RETURN .... %s%n", blankAfterReturn));
|
||||
text.append (String.format ("Wrap PRINT at ......... %d%n", wrapPrintAt));
|
||||
text.append (String.format ("Wrap REM at .......... %d%n", wrapRemAt));
|
||||
text.append (String.format ("Wrap DATA at ......... %d", wrapDataAt));
|
||||
String.format ("Only target lines ........ %s%n", onlyShowTargetLineNumbers));
|
||||
text.append (String.format ("Show header .............. %s%n", showHeader));
|
||||
text.append (String.format ("Show caret ............... %s%n", showCaret));
|
||||
text.append (String.format ("Show THEN ................ %s%n", showThen));
|
||||
text.append (String.format ("Blank after RETURN ....... %s%n", blankAfterReturn));
|
||||
text.append (String.format ("Delete extra REM space ... %s%n", deleteExtraRemSpace));
|
||||
text.append (String.format ("Wrap PRINT at ............ %d%n", wrapPrintAt));
|
||||
text.append (String.format ("Wrap REM at .............. %d%n", wrapRemAt));
|
||||
text.append (String.format ("Wrap DATA at ............. %d", wrapDataAt));
|
||||
|
||||
return text.toString ();
|
||||
}
|
||||
|
|
|
@ -50,6 +50,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
private static final String PREFS_SHOW_CARET = "showCaret";
|
||||
private static final String PREFS_SHOW_THEN = "showThen";
|
||||
private static final String PREFS_BLANK_AFTER_RETURN = "blankAfterReturn";
|
||||
private static final String PREFS_DELETE_EXTRA_REM_SPACE = "deleteExtraRemSpace";
|
||||
|
||||
private static final String PREFS_SHOW_ASSEMBLER_TARGETS = "showAssemblerTargets";
|
||||
private static final String PREFS_SHOW_ASSEMBLER_STRINGS = "showAssemblerStrings";
|
||||
|
@ -127,7 +128,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
|
||||
// Applesoft menu items
|
||||
final JMenuItem splitRemarkItem = new JCheckBoxMenuItem ("Split remarks");
|
||||
final JMenuItem alignAssignItem = new JCheckBoxMenuItem ("Align assign");
|
||||
final JMenuItem alignAssignItem = new JCheckBoxMenuItem ("Align consecutive assign");
|
||||
final JMenuItem showBasicTargetsItem = new JCheckBoxMenuItem ("Show targets");
|
||||
final JMenuItem onlyShowTargetLinesItem =
|
||||
new JCheckBoxMenuItem ("Only show target lines");
|
||||
|
@ -135,6 +136,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
final JMenuItem showCaretItem = new JCheckBoxMenuItem ("Show caret");
|
||||
final JMenuItem showThenItem = new JCheckBoxMenuItem ("Show THEN after IF");
|
||||
final JMenuItem blankAfterReturn = new JCheckBoxMenuItem ("Blank line after RETURN");
|
||||
final JMenuItem deleteExtraRemSpace = new JCheckBoxMenuItem ("Delete extra REM space");
|
||||
|
||||
// Assembler menu items
|
||||
final JMenuItem showAssemblerTargetsItem = new JCheckBoxMenuItem ("Show targets");
|
||||
|
@ -157,9 +159,9 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
menuBar.add (fileMenu);
|
||||
menuBar.add (formatMenu);
|
||||
menuBar.add (imageMenu);
|
||||
menuBar.add (prodosMenu);
|
||||
menuBar.add (applesoftMenu);
|
||||
menuBar.add (assemblerMenu);
|
||||
menuBar.add (prodosMenu);
|
||||
menuBar.add (textMenu);
|
||||
menuBar.add (helpMenu);
|
||||
|
||||
|
@ -230,6 +232,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
applesoftMenu.add (showCaretItem);
|
||||
applesoftMenu.add (showThenItem);
|
||||
applesoftMenu.add (blankAfterReturn);
|
||||
applesoftMenu.add (deleteExtraRemSpace);
|
||||
|
||||
assemblerMenu.add (showAssemblerHeaderItem);
|
||||
assemblerMenu.add (showAssemblerTargetsItem);
|
||||
|
@ -288,6 +291,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
showCaretItem.addActionListener (basicPreferencesAction);
|
||||
showThenItem.addActionListener (basicPreferencesAction);
|
||||
blankAfterReturn.addActionListener (basicPreferencesAction);
|
||||
deleteExtraRemSpace.addActionListener (basicPreferencesAction);
|
||||
|
||||
showAssemblerTargetsItem.addActionListener (assemblerPreferencesAction);
|
||||
showAssemblerStringsItem.addActionListener (assemblerPreferencesAction);
|
||||
|
@ -332,6 +336,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
basicPreferences.showCaret = showCaretItem.isSelected ();
|
||||
basicPreferences.showThen = showThenItem.isSelected ();
|
||||
basicPreferences.blankAfterReturn = blankAfterReturn.isSelected ();
|
||||
basicPreferences.deleteExtraRemSpace = deleteExtraRemSpace.isSelected ();
|
||||
basicPreferences.showHeader = showHeaderItem.isSelected ();
|
||||
basicPreferences.showTargets = showBasicTargetsItem.isSelected ();
|
||||
basicPreferences.onlyShowTargetLineNumbers = onlyShowTargetLinesItem.isSelected ();
|
||||
|
@ -490,6 +495,7 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
prefs.putBoolean (PREFS_SHOW_TARGETS, showBasicTargetsItem.isSelected ());
|
||||
prefs.putBoolean (PREFS_ONLY_SHOW_TARGETS, onlyShowTargetLinesItem.isSelected ());
|
||||
prefs.putBoolean (PREFS_BLANK_AFTER_RETURN, blankAfterReturn.isSelected ());
|
||||
prefs.putBoolean (PREFS_DELETE_EXTRA_REM_SPACE, deleteExtraRemSpace.isSelected ());
|
||||
|
||||
prefs.putBoolean (PREFS_SHOW_ASSEMBLER_TARGETS,
|
||||
showAssemblerTargetsItem.isSelected ());
|
||||
|
@ -540,6 +546,8 @@ class MenuHandler implements DiskSelectionListener, FileSelectionListener, QuitL
|
|||
onlyShowTargetLinesItem
|
||||
.setSelected (prefs.getBoolean (PREFS_ONLY_SHOW_TARGETS, false));
|
||||
blankAfterReturn.setSelected (prefs.getBoolean (PREFS_BLANK_AFTER_RETURN, false));
|
||||
deleteExtraRemSpace
|
||||
.setSelected (prefs.getBoolean (PREFS_DELETE_EXTRA_REM_SPACE, false));
|
||||
|
||||
showAssemblerTargetsItem
|
||||
.setSelected (prefs.getBoolean (PREFS_SHOW_ASSEMBLER_TARGETS, true));
|
||||
|
|
Loading…
Reference in New Issue
Block a user