mars
Class Settings

java.lang.Object
  extended by java.util.Observable
      extended by mars.Settings

public class Settings
extends Observable

Contains various IDE settings. Persistent settings are maintained for the current user and on the current machine using Java's Preference objects. Failing that, default setting values come from Settings.properties file. If both of those fail, default values come from static arrays defined in this class. The latter can can be modified prior to instantiating Settings object. NOTE: If the Preference objects fail due to security exceptions, changes to settings will not carry over from one MARS session to the next. Actual implementation of the Preference objects is platform-dependent. For Windows, they are stored in Registry. To see, run regedit and browse to: HKEY_CURRENT_USER\Software\JavaSoft\Prefs\mars

Author:
Pete Sanderson

Field Summary
static int ASSEMBLE_ALL_ENABLED
          Flag to determine whether only the current editor source file (enabled false) or all files in its directory (enabled true) will be assembled when assembly is selected.
static int ASSEMBLE_ON_OPEN_ENABLED
          Flag to determine whether or not a file is immediately and automatically assembled upon opening.
static int AUTO_INDENT
          Flag to control whether or not language-aware editor will use auto-indent feature
static int BARE_MACHINE_ENABLED
          Flag to determine whether or not program being assembled is limited to using register numbers instead of names.
static int CARET_BLINK_RATE
          Caret blink rate in milliseconds, 0 means don't blink.
static int DATA_SEGMENT_HIGHLIGHTING
          Flag to control whether or not highlighting is applied to data segment window
static int DATASEGMENT_HIGHLIGHT_BACKGROUND
          RGB color for text segment highlighted background
static int DATASEGMENT_HIGHLIGHT_FONT
          Font for text segment highlighted background
static int DATASEGMENT_HIGHLIGHT_FOREGROUND
          RGB color for text segment highlighted foreground
static boolean[] defaultBooleanSettingsValues
          Last resort default values for boolean settings; will use only if neither the Preferences nor the properties file work.
static int DELAYED_BRANCHING_ENABLED
          Flag to determine whether or not delayed branching is in effect at MIPS execution.
static int DISPLAY_ADDRESSES_IN_HEX
          Default setting for displaying addresses and values in hexidecimal in the Execute pane.
static int DISPLAY_VALUES_IN_HEX
           
static int EDITOR_CURRENT_LINE_HIGHLIGHTING
          Flag to control whether or not editor will highlight the line currently being edited
static int EDITOR_FONT
          Font for the text editor
static int EDITOR_LINE_NUMBERS_DISPLAYED
          Flag to determine whether or not the editor will display line numbers.
static int EDITOR_POPUP_PREFIX_LENGTH
          Number of letters to be matched by editor's instruction guide before popup generated (if popup enabled)
static int EDITOR_TAB_SIZE
          Editor tab size in characters.
static int EVEN_ROW_BACKGROUND
          RGB color for table even row background (text, data, register displays)
static int EVEN_ROW_FONT
          Font for table even row background (text, data, register displays)
static int EVEN_ROW_FOREGROUND
          RGB color for table even row foreground (text, data, register displays)
static int EXCEPTION_HANDLER
          Current specified exception handler file (a MIPS assembly source file)
static int EXCEPTION_HANDLER_ENABLED
          Flag to determine whether the currently selected exception handler source file will be included in each assembly operation.
static int EXTENDED_ASSEMBLER_ENABLED
          Flag to determine whether or not program being assembled is limited to basic MIPS instructions and formats.
static int GENERIC_TEXT_EDITOR
          Flag to control whether or not to use generic text editor instead of language-aware styled editor
static int LABEL_SORT_STATE
          State for sorting label window display
static int LABEL_WINDOW_VISIBILITY
          Default visibilty of label window (symbol table).
static int MEMORY_CONFIGURATION
          Identifier of current memory configuration
static int ODD_ROW_BACKGROUND
          RGB color for table odd row background (text, data, register displays)
static int ODD_ROW_FONT
          Font for table odd row background (text, data, register displays)
static int ODD_ROW_FOREGROUND
          RGB color for table odd row foreground (text, data, register displays)
static int POPUP_INSTRUCTION_GUIDANCE
          Flag to control whether or not editor will provide popup instruction guidance while typing
static int POPUP_SYSCALL_INPUT
          Flag to control whether or not simulator will use popup dialog for input syscalls
static int PROGRAM_ARGUMENTS
          Flag to determine whether or not to display and use program arguments
static int REGISTER_HIGHLIGHT_BACKGROUND
          RGB color for register highlighted background
static int REGISTER_HIGHLIGHT_FONT
          Font for register highlighted background
static int REGISTER_HIGHLIGHT_FOREGROUND
          RGB color for register highlighted foreground
static int REGISTERS_HIGHLIGHTING
          Flag to control whether or not highlighting is applied to register windows
static int SELF_MODIFYING_CODE_ENABLED
          Flag to determine whether a program can write binary code to the text or data segment and execute that code.
static int START_AT_MAIN
          Flag to control whether or not assembler automatically initializes program counter to 'main's address
static int TEXT_COLUMN_ORDER
          Order of text segment table columns
static int TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_BACKGROUND
          RGB color for text segment delay slot highlighted background
static int TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_FONT
          Font for text segment delay slot highlighted background
static int TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_FOREGROUND
          RGB color for text segment delay slot highlighted foreground
static int TEXTSEGMENT_HIGHLIGHT_BACKGROUND
          RGB color for text segment highlighted background
static int TEXTSEGMENT_HIGHLIGHT_FONT
          Font for table odd row foreground (text, data, register displays)
static int TEXTSEGMENT_HIGHLIGHT_FOREGROUND
          RGB color for text segment highlighted foreground
static int WARNINGS_ARE_ERRORS
          Flag to determine whether or not assembler warnings are considered errors.
 
Constructor Summary
Settings()
          Create Settings object and set to saved values.
Settings(boolean gui)
          Create Settings object and set to saved values.
 
Method Summary
 boolean getAssembleAllEnabled()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ALL_ENABLED)
 boolean getAssembleOnOpenEnabled()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ON_OPEN_ENABLED)
 boolean getBackSteppingEnabled()
          Return whether backstepping is permitted at this time.
 boolean getBareMachineEnabled()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.BARE_MACHINE_ENABLED)
 boolean getBooleanSetting(int id)
          Fetch value of a boolean setting given its identifier.
 int getCaretBlinkRate()
          Retrieve the caret blink rate in milliseconds.
 Color getColorSettingByKey(String key)
          Get Color object for specified settings key.
 Color getColorSettingByPosition(int position)
          Get Color object for specified settings name (a static constant).
 boolean getDataSegmentHighlighting()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DATA_SEGMENT_HIGHLIGHTING)
 Color getDefaultColorSettingByKey(String key)
          Get default Color value for specified settings key.
 Color getDefaultColorSettingByPosition(int position)
          Get default Color object for specified settings name (a static constant).
 SyntaxStyle getDefaultEditorSyntaxStyleByPosition(int index)
           
 int getDefaultEditorTabSize()
          Get the text editor default tab size in characters
 Font getDefaultFontByPosition(int fontSettingPosition)
          Retrieve a default Font setting
 boolean getDelayedBranchingEnabled()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DELAYED_BRANCHING_ENABLED)
 boolean getDisplayAddressesInHex()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_ADDRESSES_IN_HEX)
 boolean getDisplayValuesInHex()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_VALUES_IN_HEX)
 Font getEditorFont()
          Current editor font.
 boolean getEditorLineNumbersDisplayed()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.EDITOR_LINE_NUMBERS_DISPLAYED)
 int getEditorPopupPrefixLength()
          Get number of letters to be matched by editor's instruction guide before popup generated (if popup enabled).
 SyntaxStyle getEditorSyntaxStyleByPosition(int index)
           
 int getEditorTabSize()
          Get the tab size in characters.
 String getExceptionHandler()
          Name of currently selected exception handler file.
 boolean getExceptionHandlerEnabled()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.EXCEPTION_HANDLER_ENABLED)
 boolean getExtendedAssemblerEnabled()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.EXTENDED_ASSEMBLER_ENABLED)
 Font getFontByPosition(int fontSettingPosition)
          Retrieve a Font setting
 String getLabelSortState()
          Get the saved state of the Labels Window sorting (can sort by either label or address and either ascending or descending order).
 boolean getLabelWindowVisibility()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.LABEL_WINDOW_VISIBILITY)
 String getMemoryConfiguration()
          Returns identifier of current built-in memory configuration.
 boolean getProgramArguments()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.PROGRAM_ARGUMENTS)
 boolean getRegistersHighlighting()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.REGISTERS_HIGHLIGHTING)
 boolean getStartAtMain()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.START_AT_MAIN)
 int[] getTextColumnOrder()
          Order of text segment display columns (there are 5, numbered 0 to 4).
 boolean getWarningsAreErrors()
          Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.WARNINGS_ARE_ERRORS)
 void reset(boolean gui)
          Reset settings to default values, as described in the constructor comments.
 void setAssembleAllEnabled(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ALL_ENABLED)
 void setAssembleOnOpenEnabled(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ON_OPEN_ENABLED)
 void setBooleanSetting(int id, boolean value)
          Set value of a boolean setting given its id and the value.
 void setBooleanSettingNonPersistent(int id, boolean value)
          Temporarily establish boolean setting.
 void setCaretBlinkRate(int rate)
          Set the caret blinking rate in milliseconds.
 void setColorSettingByKey(String key, Color color)
          Set Color object for specified settings key.
 void setColorSettingByPosition(int position, Color color)
          Set Color object for specified settings name (a static constant).
 void setDataSegmentHighlighting(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DATA_SEGMENT_HIGHLIGHTING)
 void setDelayedBranchingEnabled(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DELAYED_BRANCHING_ENABLED)
 void setDelayedBranchingEnabledNonPersistent(boolean value)
          Deprecated. Use setBooleanSettingNonPersistent(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DELAYED_BRANCHING_ENABLED)
 void setDisplayAddressesInHex(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_ADDRESSES_IN_HEX)
 void setDisplayValuesInHex(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_VALUES_IN_HEX)
 void setEditorFont(Font font)
          Set editor font to the specified Font object and write it to persistent storage.
 void setEditorLineNumbersDisplayed(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.EDITOR_LINE_NUMBERS_DISPLAYED)
 void setEditorPopupPrefixLength(int length)
          Set number of letters to be matched by editor's instruction guide before popup generated (if popup enabled).
 void setEditorSyntaxStyleByPosition(int index, SyntaxStyle syntaxStyle)
           
 void setEditorTabSize(int size)
          Set the tab size in characters.
 void setExceptionHandler(String newFilename)
          Set name of exception handler file and write it to persistent storage.
 void setExceptionHandlerEnabled(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.EXCEPTION_HANDLER_ENABLED)
 void setExtendedAssemblerEnabled(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.EXTENDED_ASSEMBLER_ENABLED)
 void setFontByPosition(int fontSettingPosition, Font font)
          Store a Font setting
 void setLabelSortState(String state)
          Store the current state of the Labels Window sorter.
 void setLabelWindowVisibility(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.LABEL_WINDOW_VISIBILITY)
 void setMemoryConfiguration(String config)
          Store the identifier of the memory configuration.
 void setProgramArguments(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.PROGRAM_ARGUMENTS)
 void setRegistersHighlighting(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.REGISTERS_HIGHLIGHTING)
 void setStartAtMain(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.START_AT_MAIN)
 void setTextColumnOrder(int[] columnOrder)
          Store the current order of Text Segment window table columns, so the ordering can be preserved and restored.
 void setWarningsAreErrors(boolean value)
          Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.WARNINGS_ARE_ERRORS)
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXTENDED_ASSEMBLER_ENABLED

public static final int EXTENDED_ASSEMBLER_ENABLED
Flag to determine whether or not program being assembled is limited to basic MIPS instructions and formats.

See Also:
Constant Field Values

BARE_MACHINE_ENABLED

public static final int BARE_MACHINE_ENABLED
Flag to determine whether or not program being assembled is limited to using register numbers instead of names. NOTE: Its default value is false and the IDE provides no means to change it!

See Also:
Constant Field Values

ASSEMBLE_ON_OPEN_ENABLED

public static final int ASSEMBLE_ON_OPEN_ENABLED
Flag to determine whether or not a file is immediately and automatically assembled upon opening. Handy when using externa editor like mipster.

See Also:
Constant Field Values

ASSEMBLE_ALL_ENABLED

public static final int ASSEMBLE_ALL_ENABLED
Flag to determine whether only the current editor source file (enabled false) or all files in its directory (enabled true) will be assembled when assembly is selected.

See Also:
Constant Field Values

LABEL_WINDOW_VISIBILITY

public static final int LABEL_WINDOW_VISIBILITY
Default visibilty of label window (symbol table). Default only, dynamic status maintained by ExecutePane

See Also:
Constant Field Values

DISPLAY_ADDRESSES_IN_HEX

public static final int DISPLAY_ADDRESSES_IN_HEX
Default setting for displaying addresses and values in hexidecimal in the Execute pane.

See Also:
Constant Field Values

DISPLAY_VALUES_IN_HEX

public static final int DISPLAY_VALUES_IN_HEX
See Also:
Constant Field Values

EXCEPTION_HANDLER_ENABLED

public static final int EXCEPTION_HANDLER_ENABLED
Flag to determine whether the currently selected exception handler source file will be included in each assembly operation.

See Also:
Constant Field Values

DELAYED_BRANCHING_ENABLED

public static final int DELAYED_BRANCHING_ENABLED
Flag to determine whether or not delayed branching is in effect at MIPS execution. This means we simulate the pipeline and statement FOLLOWING a successful branch is executed before branch is taken. DPS 14 June 2007.

See Also:
Constant Field Values

EDITOR_LINE_NUMBERS_DISPLAYED

public static final int EDITOR_LINE_NUMBERS_DISPLAYED
Flag to determine whether or not the editor will display line numbers.

See Also:
Constant Field Values

WARNINGS_ARE_ERRORS

public static final int WARNINGS_ARE_ERRORS
Flag to determine whether or not assembler warnings are considered errors.

See Also:
Constant Field Values

PROGRAM_ARGUMENTS

public static final int PROGRAM_ARGUMENTS
Flag to determine whether or not to display and use program arguments

See Also:
Constant Field Values

DATA_SEGMENT_HIGHLIGHTING

public static final int DATA_SEGMENT_HIGHLIGHTING
Flag to control whether or not highlighting is applied to data segment window

See Also:
Constant Field Values

REGISTERS_HIGHLIGHTING

public static final int REGISTERS_HIGHLIGHTING
Flag to control whether or not highlighting is applied to register windows

See Also:
Constant Field Values

START_AT_MAIN

public static final int START_AT_MAIN
Flag to control whether or not assembler automatically initializes program counter to 'main's address

See Also:
Constant Field Values

EDITOR_CURRENT_LINE_HIGHLIGHTING

public static final int EDITOR_CURRENT_LINE_HIGHLIGHTING
Flag to control whether or not editor will highlight the line currently being edited

See Also:
Constant Field Values

POPUP_INSTRUCTION_GUIDANCE

public static final int POPUP_INSTRUCTION_GUIDANCE
Flag to control whether or not editor will provide popup instruction guidance while typing

See Also:
Constant Field Values

POPUP_SYSCALL_INPUT

public static final int POPUP_SYSCALL_INPUT
Flag to control whether or not simulator will use popup dialog for input syscalls

See Also:
Constant Field Values

GENERIC_TEXT_EDITOR

public static final int GENERIC_TEXT_EDITOR
Flag to control whether or not to use generic text editor instead of language-aware styled editor

See Also:
Constant Field Values

AUTO_INDENT

public static final int AUTO_INDENT
Flag to control whether or not language-aware editor will use auto-indent feature

See Also:
Constant Field Values

SELF_MODIFYING_CODE_ENABLED

public static final int SELF_MODIFYING_CODE_ENABLED
Flag to determine whether a program can write binary code to the text or data segment and execute that code.

See Also:
Constant Field Values

defaultBooleanSettingsValues

public static boolean[] defaultBooleanSettingsValues
Last resort default values for boolean settings; will use only if neither the Preferences nor the properties file work. If you wish to change them, do so before instantiating the Settings object. Values are matched to keys by list position.


EXCEPTION_HANDLER

public static final int EXCEPTION_HANDLER
Current specified exception handler file (a MIPS assembly source file)

See Also:
Constant Field Values

TEXT_COLUMN_ORDER

public static final int TEXT_COLUMN_ORDER
Order of text segment table columns

See Also:
Constant Field Values

LABEL_SORT_STATE

public static final int LABEL_SORT_STATE
State for sorting label window display

See Also:
Constant Field Values

MEMORY_CONFIGURATION

public static final int MEMORY_CONFIGURATION
Identifier of current memory configuration

See Also:
Constant Field Values

CARET_BLINK_RATE

public static final int CARET_BLINK_RATE
Caret blink rate in milliseconds, 0 means don't blink.

See Also:
Constant Field Values

EDITOR_TAB_SIZE

public static final int EDITOR_TAB_SIZE
Editor tab size in characters.

See Also:
Constant Field Values

EDITOR_POPUP_PREFIX_LENGTH

public static final int EDITOR_POPUP_PREFIX_LENGTH
Number of letters to be matched by editor's instruction guide before popup generated (if popup enabled)

See Also:
Constant Field Values

EDITOR_FONT

public static final int EDITOR_FONT
Font for the text editor

See Also:
Constant Field Values

EVEN_ROW_FONT

public static final int EVEN_ROW_FONT
Font for table even row background (text, data, register displays)

See Also:
Constant Field Values

ODD_ROW_FONT

public static final int ODD_ROW_FONT
Font for table odd row background (text, data, register displays)

See Also:
Constant Field Values

TEXTSEGMENT_HIGHLIGHT_FONT

public static final int TEXTSEGMENT_HIGHLIGHT_FONT
Font for table odd row foreground (text, data, register displays)

See Also:
Constant Field Values

TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_FONT

public static final int TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_FONT
Font for text segment delay slot highlighted background

See Also:
Constant Field Values

DATASEGMENT_HIGHLIGHT_FONT

public static final int DATASEGMENT_HIGHLIGHT_FONT
Font for text segment highlighted background

See Also:
Constant Field Values

REGISTER_HIGHLIGHT_FONT

public static final int REGISTER_HIGHLIGHT_FONT
Font for register highlighted background

See Also:
Constant Field Values

EVEN_ROW_BACKGROUND

public static final int EVEN_ROW_BACKGROUND
RGB color for table even row background (text, data, register displays)

See Also:
Constant Field Values

EVEN_ROW_FOREGROUND

public static final int EVEN_ROW_FOREGROUND
RGB color for table even row foreground (text, data, register displays)

See Also:
Constant Field Values

ODD_ROW_BACKGROUND

public static final int ODD_ROW_BACKGROUND
RGB color for table odd row background (text, data, register displays)

See Also:
Constant Field Values

ODD_ROW_FOREGROUND

public static final int ODD_ROW_FOREGROUND
RGB color for table odd row foreground (text, data, register displays)

See Also:
Constant Field Values

TEXTSEGMENT_HIGHLIGHT_BACKGROUND

public static final int TEXTSEGMENT_HIGHLIGHT_BACKGROUND
RGB color for text segment highlighted background

See Also:
Constant Field Values

TEXTSEGMENT_HIGHLIGHT_FOREGROUND

public static final int TEXTSEGMENT_HIGHLIGHT_FOREGROUND
RGB color for text segment highlighted foreground

See Also:
Constant Field Values

TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_BACKGROUND

public static final int TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_BACKGROUND
RGB color for text segment delay slot highlighted background

See Also:
Constant Field Values

TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_FOREGROUND

public static final int TEXTSEGMENT_DELAYSLOT_HIGHLIGHT_FOREGROUND
RGB color for text segment delay slot highlighted foreground

See Also:
Constant Field Values

DATASEGMENT_HIGHLIGHT_BACKGROUND

public static final int DATASEGMENT_HIGHLIGHT_BACKGROUND
RGB color for text segment highlighted background

See Also:
Constant Field Values

DATASEGMENT_HIGHLIGHT_FOREGROUND

public static final int DATASEGMENT_HIGHLIGHT_FOREGROUND
RGB color for text segment highlighted foreground

See Also:
Constant Field Values

REGISTER_HIGHLIGHT_BACKGROUND

public static final int REGISTER_HIGHLIGHT_BACKGROUND
RGB color for register highlighted background

See Also:
Constant Field Values

REGISTER_HIGHLIGHT_FOREGROUND

public static final int REGISTER_HIGHLIGHT_FOREGROUND
RGB color for register highlighted foreground

See Also:
Constant Field Values
Constructor Detail

Settings

public Settings()
Create Settings object and set to saved values. If saved values not found, will set based on defaults stored in Settings.properties file. If file problems, will set based on defaults stored in this class.


Settings

public Settings(boolean gui)
Create Settings object and set to saved values. If saved values not found, will set based on defaults stored in Settings.properties file. If file problems, will set based on defaults stored in this class.

Parameters:
gui - true if running the graphical IDE, false if running from command line. Ignored as of release 3.6 but retained for compatability.
Method Detail

getBackSteppingEnabled

public boolean getBackSteppingEnabled()
Return whether backstepping is permitted at this time. Backstepping is ability to undo execution steps one at a time. Available only in the IDE. This is not a persistent setting and is not under MARS user control.

Returns:
true if backstepping is permitted, false otherwise.

reset

public void reset(boolean gui)
Reset settings to default values, as described in the constructor comments.

Parameters:
gui - true if running from GUI IDE and false if running from command mode. Ignored as of release 3.6 but retained for compatibility.

setEditorSyntaxStyleByPosition

public void setEditorSyntaxStyleByPosition(int index,
                                           SyntaxStyle syntaxStyle)

getEditorSyntaxStyleByPosition

public SyntaxStyle getEditorSyntaxStyleByPosition(int index)

getDefaultEditorSyntaxStyleByPosition

public SyntaxStyle getDefaultEditorSyntaxStyleByPosition(int index)

getBooleanSetting

public boolean getBooleanSetting(int id)
Fetch value of a boolean setting given its identifier.

Parameters:
id - int containing the setting's identifier (constants listed above)
Returns:
corresponding boolean setting.
Throws:
IllegalArgumentException - if identifier is invalid.

getBareMachineEnabled

public boolean getBareMachineEnabled()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.BARE_MACHINE_ENABLED)

Setting for whether user programs limited to "bare machine" formatted basic instructions. This was added 8 Aug 2006 but is fixed at false for now, due to uncertainty as to what exactly constitutes "bare machine".

Returns:
true if only bare machine instructions allowed, false otherwise.

getExtendedAssemblerEnabled

public boolean getExtendedAssemblerEnabled()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.EXTENDED_ASSEMBLER_ENABLED)

Setting for whether user programs can use pseudo-instructions or extended addressing modes or alternative instruction formats (all are implemented as pseudo-instructions).

Returns:
true if pseudo-instructions and formats permitted, false otherwise.

getAssembleOnOpenEnabled

public boolean getAssembleOnOpenEnabled()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ON_OPEN_ENABLED)

Setting for whether selected program will be automatically assembled upon opening. This can be useful if user employs an external editor such as MIPSter.

Returns:
true if file is to be automatically assembled upon opening and false otherwise.

getDisplayAddressesInHex

public boolean getDisplayAddressesInHex()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_ADDRESSES_IN_HEX)

Setting for whether Addresses in the Execute pane will be displayed in hexadecimal.

Returns:
true if addresses are displayed in hexadecimal and false otherwise (decimal).

getDisplayValuesInHex

public boolean getDisplayValuesInHex()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_VALUES_IN_HEX)

Setting for whether values in the Execute pane will be displayed in hexadecimal.

Returns:
true if values are displayed in hexadecimal and false otherwise (decimal).

getAssembleAllEnabled

public boolean getAssembleAllEnabled()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ALL_ENABLED)

Setting for whether the assemble operation applies only to the file currently open in the editor or whether it applies to all files in that file's directory (primitive project capability). If the "assemble on open" setting is set, this "assemble all" setting will be applied as soon as the file is opened.

Returns:
true if all files are to be assembled, false if only the file open in editor.

getExceptionHandlerEnabled

public boolean getExceptionHandlerEnabled()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.EXCEPTION_HANDLER_ENABLED)

Setting for whether the currently selected exception handler (a MIPS source file) will be automatically included in each assemble operation.

Returns:
true if exception handler is to be included in assemble, false otherwise.

getDelayedBranchingEnabled

public boolean getDelayedBranchingEnabled()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DELAYED_BRANCHING_ENABLED)

Setting for whether delayed branching will be applied during MIPS program execution. If enabled, the statement following a successful branch will be executed and then the branch is taken! This simulates pipelining and all MIPS processors do it. However it is confusing to assembly language students so is disabled by default. SPIM does same thing.

Returns:
true if delayed branching is enabled, false otherwise.

getLabelWindowVisibility

public boolean getLabelWindowVisibility()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.LABEL_WINDOW_VISIBILITY)

Setting concerning whether or not to display the Labels Window -- symbol table.

Returns:
true if label window is to be displayed, false otherwise.

getEditorLineNumbersDisplayed

public boolean getEditorLineNumbersDisplayed()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.EDITOR_LINE_NUMBERS_DISPLAYED)

Setting concerning whether or not the editor will display line numbers.

Returns:
true if line numbers are to be displayed, false otherwise.

getWarningsAreErrors

public boolean getWarningsAreErrors()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.WARNINGS_ARE_ERRORS)

Setting concerning whether or not assembler will consider warnings to be errors.

Returns:
true if warnings are considered errors, false otherwise.

getProgramArguments

public boolean getProgramArguments()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.PROGRAM_ARGUMENTS)

Setting concerning whether or not program arguments can be entered and used.

Returns:
true if program arguments can be entered/used, false otherwise.

getDataSegmentHighlighting

public boolean getDataSegmentHighlighting()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.DATA_SEGMENT_HIGHLIGHTING)

Setting concerning whether or not highlighting is applied to Data Segment window.

Returns:
true if highlighting is to be applied, false otherwise.

getRegistersHighlighting

public boolean getRegistersHighlighting()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.REGISTERS_HIGHLIGHTING)

Setting concerning whether or not highlighting is applied to Registers, Coprocessor0, and Coprocessor1 windows.

Returns:
true if highlighting is to be applied, false otherwise.

getStartAtMain

public boolean getStartAtMain()
Deprecated. Use getBooleanSetting(int id) with the appropriate boolean setting ID (e.g. Settings.START_AT_MAIN)

Setting concerning whether or not assembler will automatically initialize the program counter to address of statement labeled 'main' if defined.

Returns:
true if it initializes to 'main', false otherwise.

getExceptionHandler

public String getExceptionHandler()
Name of currently selected exception handler file.

Returns:
String pathname of current exception handler file, empty if none.

getMemoryConfiguration

public String getMemoryConfiguration()
Returns identifier of current built-in memory configuration.

Returns:
String identifier of current built-in memory configuration, empty if none.

getEditorFont

public Font getEditorFont()
Current editor font. Retained for compatibility but replaced by: getFontByPosition(Settings.EDITOR_FONT)

Returns:
Font object for current editor font.

getFontByPosition

public Font getFontByPosition(int fontSettingPosition)
Retrieve a Font setting

Parameters:
fontSettingPosition - constant that identifies which item
Returns:
Font object for given item

getDefaultFontByPosition

public Font getDefaultFontByPosition(int fontSettingPosition)
Retrieve a default Font setting

Parameters:
fontSettingPosition - constant that identifies which item
Returns:
Font object for given item

getTextColumnOrder

public int[] getTextColumnOrder()
Order of text segment display columns (there are 5, numbered 0 to 4).

Returns:
Array of int indicating the order. Original order is 0 1 2 3 4.

getCaretBlinkRate

public int getCaretBlinkRate()
Retrieve the caret blink rate in milliseconds. Blink rate of 0 means do not blink.

Returns:
int blink rate in milliseconds

getEditorTabSize

public int getEditorTabSize()
Get the tab size in characters.

Returns:
tab size in characters.

getEditorPopupPrefixLength

public int getEditorPopupPrefixLength()
Get number of letters to be matched by editor's instruction guide before popup generated (if popup enabled). Should be 1 or 2. If 1, the popup will be generated after first letter typed, based on all matches; if 2, the popup will be generated after second letter typed.

Returns:
number of letters (should be 1 or 2).

getDefaultEditorTabSize

public int getDefaultEditorTabSize()
Get the text editor default tab size in characters

Returns:
tab size in characters

getLabelSortState

public String getLabelSortState()
Get the saved state of the Labels Window sorting (can sort by either label or address and either ascending or descending order). Default state is 0, by ascending addresses.

Returns:
State value 0-7, as a String.

getColorSettingByKey

public Color getColorSettingByKey(String key)
Get Color object for specified settings key. Returns null if key is not found or its value is not a valid color encoding.

Parameters:
key - the Setting key
Returns:
corresponding Color, or null if key not found or value not valid color

getDefaultColorSettingByKey

public Color getDefaultColorSettingByKey(String key)
Get default Color value for specified settings key. Returns null if key is not found or its value is not a valid color encoding.

Parameters:
key - the Setting key
Returns:
corresponding default Color, or null if key not found or value not valid color

getColorSettingByPosition

public Color getColorSettingByPosition(int position)
Get Color object for specified settings name (a static constant). Returns null if argument invalid or its value is not a valid color encoding.

Parameters:
position - the Setting name (see list of static constants)
Returns:
corresponding Color, or null if argument invalid or value not valid color

getDefaultColorSettingByPosition

public Color getDefaultColorSettingByPosition(int position)
Get default Color object for specified settings name (a static constant). Returns null if argument invalid or its value is not a valid color encoding.

Parameters:
position - the Setting name (see list of static constants)
Returns:
corresponding default Color, or null if argument invalid or value not valid color

setBooleanSetting

public void setBooleanSetting(int id,
                              boolean value)
Set value of a boolean setting given its id and the value.

Parameters:
id - int containing the setting's identifier (constants listed above)
value - boolean value to store
Throws:
IllegalArgumentException - if identifier is not valid.

setExtendedAssemblerEnabled

public void setExtendedAssemblerEnabled(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.EXTENDED_ASSEMBLER_ENABLED)

Establish setting for whether or not pseudo-instructions and formats are permitted in user programs. User can change this setting via the IDE. If setting changes, new setting will be written to properties file.

Parameters:
value - True to permit, false otherwise.

setAssembleOnOpenEnabled

public void setAssembleOnOpenEnabled(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ON_OPEN_ENABLED)

Establish setting for whether a file will be automatically assembled as soon as it is opened. This is handy for those using an external text editor such as Mipster. If setting changes, new setting will be written to properties file.

Parameters:
value - True to automatically assemble, false otherwise.

setAssembleAllEnabled

public void setAssembleAllEnabled(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.ASSEMBLE_ALL_ENABLED)

Establish setting for whether a file will be assembled by itself (false) or along with all other files in its directory (true). This permits multi-file programs and a primitive "project" capability. If setting changes, new setting will be written to properties file.

Parameters:
value - True to assemble all, false otherwise.

setDisplayAddressesInHex

public void setDisplayAddressesInHex(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_ADDRESSES_IN_HEX)

Establish setting for whether addresses in the Execute pane will be displayed in hexadecimal format.

Parameters:
value - True to display addresses in hexadecimal, false for decimal.

setDisplayValuesInHex

public void setDisplayValuesInHex(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DISPLAY_VALUES_IN_HEX)

Establish setting for whether values in the Execute pane will be displayed in hexadecimal format.

Parameters:
value - True to display values in hexadecimal, false for decimal.

setLabelWindowVisibility

public void setLabelWindowVisibility(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.LABEL_WINDOW_VISIBILITY)

Establish setting for whether the labels window (i.e. symbol table) will be displayed as part of the Text Segment display. If setting changes, new setting will be written to properties file.

Parameters:
value - True to dispay labels window, false otherwise.

setExceptionHandlerEnabled

public void setExceptionHandlerEnabled(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.EXCEPTION_HANDLER_ENABLED)

Establish setting for whether the currently selected exception handler (a MIPS source file) will be automatically included in each assemble operation. If setting changes, new setting will be written to properties file.

Parameters:
value - True to assemble exception handler, false otherwise.

setDelayedBranchingEnabled

public void setDelayedBranchingEnabled(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DELAYED_BRANCHING_ENABLED)

Establish setting for whether delayed branching will be applied during MIPS program execution. If enabled, the statement following a successful branch will be executed and then the branch is taken! This simulates pipelining and all MIPS processors do it. However it is confusing to assembly language students so is disabled by default. SPIM does same thing.

Parameters:
value - True to enable delayed branching, false otherwise.

setEditorLineNumbersDisplayed

public void setEditorLineNumbersDisplayed(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.EDITOR_LINE_NUMBERS_DISPLAYED)

Establish setting for whether line numbers will be displayed by the text editor.

Parameters:
value - True to display line numbers, false otherwise.

setWarningsAreErrors

public void setWarningsAreErrors(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.WARNINGS_ARE_ERRORS)

Establish setting for whether assembler warnings will be considered errors.

Parameters:
value - True to consider warnings to be errors, false otherwise.

setProgramArguments

public void setProgramArguments(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.PROGRAM_ARGUMENTS)

Establish setting for whether program arguments can be ented/used.

Parameters:
value - True if program arguments can be entered/used, false otherwise.

setDataSegmentHighlighting

public void setDataSegmentHighlighting(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DATA_SEGMENT_HIGHLIGHTING)

Establish setting for whether highlighting is to be applied to Data Segment window.

Parameters:
value - True if highlighting is to be applied, false otherwise.

setRegistersHighlighting

public void setRegistersHighlighting(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.REGISTERS_HIGHLIGHTING)

Establish setting for whether highlighting is to be applied to Registers, Coprocessor0 and Coprocessor1 windows.

Parameters:
value - True if highlighting is to be applied, false otherwise.

setStartAtMain

public void setStartAtMain(boolean value)
Deprecated. Use setBooleanSetting(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.START_AT_MAIN)

Establish setting for whether assembler will automatically initialize program counter to address of statement labeled 'main' if defined.

Parameters:
value - True if PC set to address of 'main', false otherwise.

setBooleanSettingNonPersistent

public void setBooleanSettingNonPersistent(int id,
                                           boolean value)
Temporarily establish boolean setting. This setting will NOT be written to persisent store! Currently this is used only when running MARS from the command line

Parameters:
id - setting identifier. These are defined for this class as static final int.
value - True to enable the setting, false otherwise.

setDelayedBranchingEnabledNonPersistent

public void setDelayedBranchingEnabledNonPersistent(boolean value)
Deprecated. Use setBooleanSettingNonPersistent(int id, boolean value) with the appropriate boolean setting ID (e.g. Settings.DELAYED_BRANCHING_ENABLED)

Establish setting for whether delayed branching will be applied during MIPS program execution. This setting will NOT be written to persisent store! This method should be called only to temporarily set this setting -- currently this is needed only when running MARS from the command line.

Parameters:
value - True to enabled delayed branching, false otherwise.

setExceptionHandler

public void setExceptionHandler(String newFilename)
Set name of exception handler file and write it to persistent storage.

Parameters:
newFilename - name of exception handler file

setMemoryConfiguration

public void setMemoryConfiguration(String config)
Store the identifier of the memory configuration.

Parameters:
config - A string that identifies the current built-in memory configuration

setCaretBlinkRate

public void setCaretBlinkRate(int rate)
Set the caret blinking rate in milliseconds. Rate of 0 means no blinking.

Parameters:
rate - blink rate in milliseconds

setEditorTabSize

public void setEditorTabSize(int size)
Set the tab size in characters.

Parameters:
size - tab size in characters.

setEditorPopupPrefixLength

public void setEditorPopupPrefixLength(int length)
Set number of letters to be matched by editor's instruction guide before popup generated (if popup enabled). Should be 1 or 2. If 1, the popup will be generated after first letter typed, based on all matches; if 2, the popup will be generated after second letter typed.

Parameters:
number - of letters (should be 1 or 2).

setEditorFont

public void setEditorFont(Font font)
Set editor font to the specified Font object and write it to persistent storage. This method retained for compatibility but replaced by: setFontByPosition(Settings.EDITOR_FONT, font)

Parameters:
font - Font object to be used by text editor.

setFontByPosition

public void setFontByPosition(int fontSettingPosition,
                              Font font)
Store a Font setting

Parameters:
fontSettingPosition - Constant that identifies the item the font goes with

setTextColumnOrder

public void setTextColumnOrder(int[] columnOrder)
Store the current order of Text Segment window table columns, so the ordering can be preserved and restored.

Parameters:
columnOrder - An array of int indicating column order.

setLabelSortState

public void setLabelSortState(String state)
Store the current state of the Labels Window sorter. There are 8 possible states as described in LabelsWindow.java

Parameters:
state - The current labels window sorting state, as a String.

setColorSettingByKey

public void setColorSettingByKey(String key,
                                 Color color)
Set Color object for specified settings key. Has no effect if key is invalid.

Parameters:
key - the Setting key
color - the Color to save

setColorSettingByPosition

public void setColorSettingByPosition(int position,
                                      Color color)
Set Color object for specified settings name (a static constant). Has no effect if invalid.

Parameters:
position - the Setting name (see list of static constants)
color - the Color to save