edu.rice.cs.drjava.model.repl
Class InteractionsDJDocument
java.lang.Object
javax.swing.text.AbstractDocument
javax.swing.text.DefaultStyledDocument
edu.rice.cs.util.text.SwingDocument
edu.rice.cs.drjava.model.AbstractDJDocument
edu.rice.cs.drjava.model.repl.InteractionsDJDocument
- All Implemented Interfaces:
- OptionConstants, DJDocument, AbstractDocumentInterface, ConsoleDocumentInterface, EditDocumentInterface, SwingDocumentInterface, java.io.Serializable, javax.swing.text.Document, javax.swing.text.StyledDocument
public class InteractionsDJDocument
- extends AbstractDJDocument
- implements ConsoleDocumentInterface
Represents a Swing-based InteractionsDocument. Extends AbstractDJDocument which contains code shared by
the Swing interactions and definitions documents.
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from class javax.swing.text.DefaultStyledDocument |
javax.swing.text.DefaultStyledDocument.AttributeUndoableEdit, javax.swing.text.DefaultStyledDocument.ElementBuffer, javax.swing.text.DefaultStyledDocument.ElementSpec, javax.swing.text.DefaultStyledDocument.SectionElement |
| Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument |
javax.swing.text.AbstractDocument.AbstractElement, javax.swing.text.AbstractDocument.AttributeContext, javax.swing.text.AbstractDocument.BranchElement, javax.swing.text.AbstractDocument.Content, javax.swing.text.AbstractDocument.DefaultDocumentEvent, javax.swing.text.AbstractDocument.ElementEdit, javax.swing.text.AbstractDocument.LeafElement |
| Nested classes/interfaces inherited from interface edu.rice.cs.drjava.config.OptionConstants |
OptionConstants.AccessLevelChoices, OptionConstants.COMPILER_PREFERENCE_CONTROL, OptionConstants.ConcJUnitCheckChoices, OptionConstants.DefaultFont, OptionConstants.DeleteLLClassFileChoices, OptionConstants.DynamicJavaAccessControlChoices, OptionConstants.FileExtRegistrationChoices, OptionConstants.HeapSizeChoices, OptionConstants.LookAndFeels, OptionConstants.PlasticThemes, OptionConstants.to, OptionConstants.VersionNotificationChoices |
| Fields inherited from class javax.swing.text.DefaultStyledDocument |
buffer, BUFFER_SIZE_DEFAULT |
| Fields inherited from class javax.swing.text.AbstractDocument |
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName |
| Fields inherited from interface javax.swing.text.Document |
StreamDescriptionProperty, TitleProperty |
| Fields inherited from interface edu.rice.cs.drjava.config.OptionConstants |
accessLevelChoices, ADVANCED_LEVEL, ALLOW_PRIVATE_ACCESS, ALWAYS_COMPILE_BEFORE_JAVADOC, ALWAYS_COMPILE_BEFORE_JUNIT, ALWAYS_SAVE_BEFORE_COMPILE, ALWAYS_SAVE_BEFORE_DEBUG, ALWAYS_SAVE_BEFORE_JAVADOC, ALWAYS_SAVE_BEFORE_RUN, apiJavadocChoices, apiJavadocDeprecated, apiJavadocVersionChoices, apiJavadocVersionDeprecated, AUTO_CLOSE_COMMENTS, AUTO_STEP_RATE, BACKUP_FILES, BOOKMARK_COLOR, BROWSER_FILE, BROWSER_HISTORY_MAX_SIZE, BROWSER_STRING, CLIPBOARD_HISTORY_SIZE, COMPILER_ERROR_COLOR, CONCJUNIT_CHECKS_ENABLED, concJUnitCheckChoices, CUSTOM_DRJAVA_JAR_VERSION_SUFFIX, DEBUG_AUTO_IMPORT, DEBUG_BREAKPOINT_COLOR, DEBUG_BREAKPOINT_DISABLED_COLOR, DEBUG_EXPRESSIONS_AND_METHODS_IN_WATCHES, DEBUG_MESSAGE_COLOR, DEBUG_PANEL_HEIGHT, DEBUG_SOURCEPATH, DEBUG_STEP_DRJAVA, DEBUG_STEP_EXCLUDE, DEBUG_STEP_INTERPRETER, DEBUG_STEP_JAVA, DEBUG_THREAD_COLOR, DEFAULT_COMPILER_PREFERENCE, DEFINITIONS_BACKGROUND_COLOR, DEFINITIONS_COMMENT_COLOR, DEFINITIONS_DOUBLE_QUOTED_COLOR, DEFINITIONS_KEYWORD_COLOR, DEFINITIONS_LINE_NUMBER_BACKGROUND_COLOR, DEFINITIONS_LINE_NUMBER_COLOR, DEFINITIONS_MATCH_COLOR, DEFINITIONS_NORMAL_COLOR, DEFINITIONS_NUMBER_COLOR, DEFINITIONS_SINGLE_QUOTED_COLOR, DEFINITIONS_TYPE_COLOR, DELETE_LL_CLASS_FILES, DELETE_LL_CLASS_FILES_CHOICES, DETACH_DEBUGGER, DETACH_TABBEDPANES, DIALOG_AUTOIMPORT_ENABLED, DIALOG_AUTOIMPORT_STATE, DIALOG_AUTOIMPORT_STORE_POSITION, DIALOG_CLIPBOARD_HISTORY_STATE, DIALOG_CLIPBOARD_HISTORY_STORE_POSITION, DIALOG_COMPLETE_JAVAAPI, DIALOG_COMPLETE_SCAN_CLASS_FILES, DIALOG_COMPLETE_WORD_STATE, DIALOG_COMPLETE_WORD_STORE_POSITION, DIALOG_DEBUGFRAME_STATE, DIALOG_DEBUGFRAME_STORE_POSITION, DIALOG_DRJAVA_ERROR_POPUP_ENABLED, DIALOG_DRJAVA_SURVEY_ENABLED, DIALOG_EDITEXTERNALPROCESS_STATE, DIALOG_EDITEXTERNALPROCESS_STORE_POSITION, DIALOG_EXTERNALPROCESS_STATE, DIALOG_EXTERNALPROCESS_STORE_POSITION, DIALOG_GOTOFILE_FULLY_QUALIFIED, DIALOG_GOTOFILE_STATE, DIALOG_GOTOFILE_STORE_POSITION, DIALOG_JAROPTIONS_STATE, DIALOG_JAROPTIONS_STORE_POSITION, DIALOG_LIGHTWEIGHT_PARSING_DELAY, DIALOG_OPENJAVADOC_STATE, DIALOG_OPENJAVADOC_STORE_POSITION, DIALOG_TABBEDPANES_STATE, DIALOG_TABBEDPANES_STORE_POSITION, DISPLAY_ALL_COMPILER_VERSIONS, DISPLAY_RIGHT_MARGIN, DJ_FILE_EXTENSION, DOC_LIST_WIDTH, DRJAVA_ERRORS_BUTTON_COLOR, DRJAVA_SURVEY_DAYS, DRJAVA_USE_FORCE_QUIT, DYNAMICJAVA_ACCESS_CONTROL, DYNAMICJAVA_ACCESS_CONTROL_CHOICES, DYNAMICJAVA_REQUIRE_SEMICOLON, DYNAMICJAVA_REQUIRE_VARIABLE_TYPE, ELEMENTARY_LEVEL, EXTERNAL_SAVED_CMDLINES, EXTERNAL_SAVED_COUNT, EXTERNAL_SAVED_ENCLOSING_DJAPP_FILES, EXTERNAL_SAVED_NAMES, EXTERNAL_SAVED_PREFIX, EXTERNAL_SAVED_WORKDIRS, EXTPROCESS_FILE_EXTENSION, EXTPROCESS_FILE_NAME_INSIDE_JAR, EXTRA_CLASSPATH, EXTRA_COMPILERS, FILE_EXT_REGISTRATION, FILE_EXT_REGISTRATION_CHOICES, FIND_ALL_DOCUMENTS, FIND_MATCH_CASE, FIND_NO_COMMENTS_STRINGS, FIND_NO_TEST_CASES, FIND_ONLY_SELECTION, FIND_REPLACE_FOCUS_IN_DEFPANE, FIND_RESULTS_COLOR1, FIND_RESULTS_COLOR2, FIND_RESULTS_COLOR3, FIND_RESULTS_COLOR4, FIND_RESULTS_COLOR5, FIND_RESULTS_COLOR6, FIND_RESULTS_COLOR7, FIND_RESULTS_COLOR8, FIND_RESULTS_COLORS, FIND_SEARCH_BACKWARDS, FIND_WHOLE_WORD, FIXED_INTERACTIONS_DIRECTORY, FOLLOW_FILE_DELAY, FOLLOW_FILE_LINES, FONT_DOCLIST, FONT_LINE_NUMBERS, FONT_MAIN, FONT_TOOLBAR, FORCE_TEST_SUFFIX, FULL_JAVA, FUNCTIONAL_JAVA_LEVEL, heapSizeChoices, HISTORY_MAX_SIZE, INDENT_LEVEL, INTERACTIONS_AUTO_IMPORT_CLASSES, INTERACTIONS_ERROR_COLOR, INTERACTIONS_EXIT_PROMPT, INTERACTIONS_RESET_PROMPT, INTERMEDIATE_LEVEL, JAVA_FILE_EXTENSION, JAVAC_LOCATION, JAVADOC_1_3_LINK, JAVADOC_1_3_TEXT, JAVADOC_1_4_LINK, JAVADOC_1_4_TEXT, JAVADOC_1_5_LINK, JAVADOC_1_5_TEXT, JAVADOC_1_6_LINK, JAVADOC_1_6_TEXT, JAVADOC_1_7_LINK, JAVADOC_1_7_TEXT, JAVADOC_ACCESS_LEVEL, JAVADOC_ADDITIONAL_LINKS, JAVADOC_API_REF_VERSION, JAVADOC_AUTO_TEXT, JAVADOC_CUSTOM_PARAMS, JAVADOC_DESTINATION, JAVADOC_FROM_ROOTS, JAVADOC_LINK_VERSION, JAVADOC_NONE_TEXT, JAVADOC_PROMPT_FOR_DESTINATION, JUNIT_LINK, JUNIT_LOCATION, JUNIT_LOCATION_ENABLED, KEY_ABOUT, KEY_AUTO_REFRESH_PROJECT, KEY_BACKWARD, KEY_BACKWARD_SELECT, KEY_BEGIN_DOCUMENT, KEY_BEGIN_DOCUMENT_SELECT, KEY_BEGIN_LINE, KEY_BEGIN_LINE_SELECT, KEY_BOOKMARKS_PANEL, KEY_BOOKMARKS_TOGGLE, KEY_BROWSE_BACK, KEY_BROWSE_FORWARD, KEY_CHECK_NEW_VERSION, KEY_CLEAN_PROJECT, KEY_CLEAR_CONSOLE, KEY_CLEAR_HISTORY, KEY_CLEAR_LINE, KEY_CLOSE_ALL_FILES, KEY_CLOSE_FILE, KEY_CLOSE_PROJECT, KEY_CLOSE_SYSTEM_IN, KEY_CLOSING_BRACE, KEY_COMMENT_LINES, KEY_COMPILE, KEY_COMPILE_ALL, KEY_COMPILE_PROJECT, KEY_COMPLETE_FILE, KEY_COPY, KEY_CUT, KEY_CUT_LINE, KEY_DEBUG_AUTOMATIC_TRACE, KEY_DEBUG_BREAKPOINT_PANEL, KEY_DEBUG_BREAKPOINT_TOGGLE, KEY_DEBUG_CLEAR_ALL_BREAKPOINTS, KEY_DEBUG_MODE_TOGGLE, KEY_DEBUG_RESUME, KEY_DEBUG_STEP_INTO, KEY_DEBUG_STEP_OUT, KEY_DEBUG_STEP_OVER, KEY_DELETE_NEXT, KEY_DELETE_PREVIOUS, KEY_DETACH_DEBUGGER, KEY_DETACH_TABBEDPANES, KEY_DOWN, KEY_DOWN_SELECT, KEY_DRJAVA_ERRORS, KEY_DRJAVA_SURVEY, KEY_END_DOCUMENT, KEY_END_DOCUMENT_SELECT, KEY_END_LINE, KEY_END_LINE_SELECT, KEY_EXEC_PROCESS, KEY_EXECUTE_HISTORY, KEY_EXPORT_OLD, KEY_FIND_NEXT, KEY_FIND_PREV, KEY_FIND_REPLACE, KEY_FOLLOW_FILE, KEY_FOR_UNIT_TESTS_ONLY, KEY_FORCE_QUIT, KEY_FORWARD, KEY_FORWARD_SELECT, KEY_GENERATE_CUSTOM_DRJAVA, KEY_GOTO_FILE, KEY_GOTO_FILE_UNDER_CURSOR, KEY_GOTO_LINE, KEY_HELP, KEY_JAR_PROJECT, KEY_JAVADOC_ALL, KEY_JAVADOC_CURRENT, KEY_JUNIT_PROJECT, KEY_LIFT_CURRENT_INTERACTION, KEY_LOAD_HISTORY_SCRIPT, KEY_NEW_CLASS_FILE, KEY_NEW_DRJAVA_INSTANCE, KEY_NEW_FILE, KEY_NEW_PROJECT, KEY_NEW_TEST, KEY_NEXT_DOCUMENT, KEY_NEXT_PANE, KEY_NEXT_WORD, KEY_NEXT_WORD_SELECT, KEY_OPEN_FILE, KEY_OPEN_FOLDER, KEY_OPEN_JAVADOC, KEY_OPEN_JAVADOC_UNDER_CURSOR, KEY_OPEN_PROJECT, KEY_OPENING_BRACE, KEY_PAGE_DOWN, KEY_PAGE_SETUP, KEY_PAGE_UP, KEY_PASTE, KEY_PASTE_FROM_HISTORY, KEY_PREFERENCES, KEY_PREVIOUS_DOCUMENT, KEY_PREVIOUS_PANE, KEY_PREVIOUS_WORD, KEY_PREVIOUS_WORD_SELECT, KEY_PRINT, KEY_PRINT_CONSOLE, KEY_PRINT_INTERACTIONS, KEY_PRINT_PREVIEW, KEY_PROJECT_PROPERTIES, KEY_QUICKSTART, KEY_QUIT, KEY_REDO, KEY_RENAME_FILE, KEY_RESET_INTERACTIONS, KEY_REVERT_FILE, KEY_RUN, KEY_RUN_APPLET, KEY_RUN_PROJECT, KEY_SAVE_ALL_FILES, KEY_SAVE_AS_PROJECT, KEY_SAVE_CONSOLE_COPY, KEY_SAVE_FILE, KEY_SAVE_FILE_AS, KEY_SAVE_FILE_COPY, KEY_SAVE_HISTORY, KEY_SAVE_INTERACTIONS_COPY, KEY_SAVE_PROJECT, KEY_SELECT_ALL, KEY_SHIFT_DELETE_NEXT, KEY_SHIFT_DELETE_PREVIOUS, KEY_TABBED_NEXT_REGION, KEY_TABBED_PREV_REGION, KEY_TEST, KEY_TEST_ALL, KEY_UNCOMMENT_LINES, KEY_UNDO, KEY_UP, KEY_UP_SELECT, KEY_VIEW_INTERACTIONS_CLASSPATH, LANGUAGE_LEVEL, LANGUAGE_LEVEL_EXTENSIONS, LAST_DIRECTORY, LAST_DRJAVA_SURVEY, LAST_DRJAVA_SURVEY_RESULT, LAST_INTERACTIONS_DIRECTORY, LAST_NEW_VERSION_NOTIFICATION, LIGHTWEIGHT_PARSING_ENABLED, LINEENUM_ENABLED, linkChoices, linkDeprecated, linkVersionChoices, linkVersionDeprecated, LOOK_AND_FEEL, MASK, MASTER_JVM_ARGS, MASTER_JVM_XMX, NEW_VERSION_ALLOWED, NEW_VERSION_NOTIFICATION, NEW_VERSION_NOTIFICATION_CHOICES, NEW_VERSION_NOTIFICATION_DAYS, OLD_DJ0_FILE_EXTENSION, OLD_DJ1_FILE_EXTENSION, OLD_DJ2_FILE_EXTENSION, OLD_PROJECT_FILE_EXTENSION, OPEN_FOLDER_RECURSIVE, PLASTIC_THEMES, PROJECT_FILE_EXTENSION, PROJECT_FILE_EXTENSION2, PROMPT_BEFORE_CLEAN, PROMPT_RENAME_LL_FILES, QUIT_PROMPT, RECENT_FILES, RECENT_FILES_MAX_SIZE, RECENT_PROJECTS, REMOTE_CONTROL_ENABLED, REMOTE_CONTROL_PORT, RESET_CLEAR_CONSOLE, RIGHT_MARGIN_COLOR, RIGHT_MARGIN_COLUMNS, RT_CONCJUNIT_LOCATION, RUN_WITH_ASSERT, SHOW_CODE_PREVIEW_POPUPS, SHOW_DEBUG_CONSOLE, SHOW_DEPRECATION_WARNINGS, SHOW_FALLTHROUGH_WARNINGS, SHOW_FINALLY_WARNINGS, SHOW_PATH_WARNINGS, SHOW_SERIAL_WARNINGS, SHOW_SOURCE_WHEN_SWITCHING, SHOW_UNCHECKED_WARNINGS, SLAVE_JVM_ARGS, SLAVE_JVM_XMX, SMART_RUN_FOR_APPLETS_AND_PROGRAMS, STICKY_INTERACTIONS_DIRECTORY, SYSTEM_ERR_COLOR, SYSTEM_IN_COLOR, SYSTEM_OUT_COLOR, TABS_HEIGHT, TEXT_ANTIALIAS, TEXT_FILE_EXTENSION, TOOLBAR_ENABLED, TOOLBAR_ICONS_ENABLED, TOOLBAR_TEXT_ENABLED, WARN_BREAKPOINT_OUT_OF_SYNC, WARN_CHANGE_DCP, WARN_CHANGE_INTERACTIONS, WARN_CHANGE_LAF, WARN_CHANGE_MISC, WARN_CHANGE_THEME, WARN_DEBUG_MODIFIED_FILE, WARN_IF_COMPIZ, WARN_PATH_CONTAINS_POUND, WINDOW_HEIGHT, WINDOW_STATE, WINDOW_STORE_POSITION, WINDOW_WIDTH, WINDOW_X, WINDOW_Y |
|
Method Summary |
boolean |
_inBlockComment()
|
private void |
_setModifiedSinceSave()
Sets the modification state of this document to true and updates the state of the associated _odd. |
protected void |
_styleChanged()
Fire event that styles changed from current location to the end. |
void |
addColoring(int start,
int end,
java.lang.String style)
Adds the given coloring style to the styles list. |
protected void |
addUndoRedo(javax.swing.text.AbstractDocument.DefaultDocumentEvent chng,
java.lang.Runnable undoCommand,
java.lang.Runnable doCommand)
|
void |
appendExceptionResult(java.lang.String message,
java.lang.String styleName)
Inserts the given exception data into the document with the given style. |
void |
clearColoring()
Called when the Interactions pane is reset. |
void |
documentSaved()
Informs this document's undo manager that the document has been saved. |
protected void |
endCompoundEdit(int key)
|
protected void |
endLastCompoundEdit()
|
javax.swing.undo.UndoableEdit |
getNextRedo()
Public accessor for the next undo action. |
javax.swing.undo.UndoableEdit |
getNextUndo()
Public accessor for the next undo action. |
Pair<Pair<java.lang.Integer,java.lang.Integer>,java.lang.String>[] |
getStyles()
Accessor method used to copy contents of _stylesList to an array. |
CompoundUndoManager |
getUndoManager()
Getter method for CompoundUndoManager |
boolean |
hasPrompt()
|
boolean |
isModifiedSinceSave()
Determines if the document has been modified since the last save. |
protected Indenter |
makeNewIndenter(int indentLevel)
Returns a new indenter. |
void |
resetModification()
Resets the modification state of this document. |
void |
resetUndoManager()
Resets the undo manager. |
void |
setBoldFonts(int point,
java.awt.Graphics g)
Attempts to set the font on the graphics context based upon the styles held in the styles list. |
boolean |
setColoring(int point,
java.awt.Graphics g)
Attempts to set the coloring on the graphics based upon the content of the styles list
returns false if the point is not in the list. |
void |
setHasPrompt(boolean val)
Sets the _hasPrompt property. |
protected int |
startCompoundEdit()
|
boolean |
undoManagerCanRedo()
|
boolean |
undoManagerCanUndo()
|
void |
updateModifiedSinceSave()
|
| Methods inherited from class edu.rice.cs.drjava.model.AbstractDJDocument |
_checkCache, _clearCache, _findPrevCharPos, _findPrevNonWSCharPos, _getEnclosingBrace, _getIndentOfCurrStmt, _getIndentOfCurrStmt, _getIndentOfCurrStmt, _getLineEnclosingBrace, _getLineEndPos, _getLineFirstCharPos, _getLineStartPos, _inBlockComment, _indentLine, _inParenPhrase, _isStartOfComment, _makeNormEndings, _makePrimTypes, _removeIndenter, _storeInCache, balanceBackward, balanceForward, clear, findCharInStmtBeforePos, findCharOnLine, findNextEnclosingBrace, findPrevDelimiter, findPrevDelimiter, findPrevEnclosingBrace, getAndResetNumLinesChangedAfter, getBytes, getCurrentLocation, getFirstNonWSCharPos, getFirstNonWSCharPos, getFirstNonWSCharPos, getHighlightStatus, getIndent, getIntelligentBeginLinePos, getReduced, getStateAtCurrent, hasOnlySpaces, indentLines, indentLines, insertUpdate, isShadowed, isShadowed, move, notInBlock, removeUpdate, resetReducedModelLocation, setCurrentLocation, setIndent, setKeywords, setTab, setTab, stateAtRelLocation |
| Methods inherited from class edu.rice.cs.util.text.SwingDocument |
_getText, append, append, append, createUnwrappedPosition, forceInsertText, forceRemoveText, getDefaultStyle, getDocStyle, getDocText, getEditCondition, getPageable, getText, insertString, insertText, print, remove, removeText, setDocStyle, setEditCondition |
| Methods inherited from class javax.swing.text.DefaultStyledDocument |
addDocumentListener, addStyle, create, createDefaultRoot, getBackground, getCharacterElement, getDefaultRootElement, getFont, getForeground, getLogicalStyle, getParagraphElement, getStyle, getStyleNames, insert, removeDocumentListener, removeStyle, setCharacterAttributes, setLogicalStyle, setParagraphAttributes, styleChanged |
| Methods inherited from class javax.swing.text.AbstractDocument |
addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface edu.rice.cs.util.text.EditDocumentInterface |
append, forceInsertText, forceRemoveText, getDefaultStyle, getDocText, getEditCondition, getLength, getPageable, insertText, print, removeText, setEditCondition |
| Methods inherited from interface javax.swing.text.StyledDocument |
addStyle, getBackground, getCharacterElement, getFont, getForeground, getLogicalStyle, getParagraphElement, getStyle, removeStyle, setCharacterAttributes, setLogicalStyle, setParagraphAttributes |
| Methods inherited from interface javax.swing.text.Document |
addDocumentListener, addUndoableEditListener, createPosition, getDefaultRootElement, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, putProperty, removeDocumentListener, removeUndoableEditListener, render |
_hasPrompt
private volatile boolean _hasPrompt
- Whether the document currently has a prompt and is ready to accept input.
_toClear
private volatile boolean _toClear
- A flag indicating that the interpreter was recently reset, and to reset the styles list
the next time a style is added. Cannot reset immediately because then the styles would be lost while
the interactions pane is resetting.
UNDO_LIMIT
private static final int UNDO_LIMIT
- See Also:
- Constant Field Values
_undoManager
private volatile CompoundUndoManager _undoManager
_isModifiedSinceSave
private volatile boolean _isModifiedSinceSave
_notifier
private volatile GlobalEventNotifier _notifier
_stylesList
private java.util.List<Pair<Pair<java.lang.Integer,java.lang.Integer>,java.lang.String>> _stylesList
- A list of styles and their locations augmenting this document. This augmentation is NOT part of the reduced
model; it a separate extension that uses itself as a mutual exclusion lock. This list holds pairs of location
intervals and strings (identifying styles). In essence it maps regions to colors (??).
in the document and styles, which is basically a map of regions where the coloring view that is now attached to
the Interactions Pane. It is not allowed to use the reduced model to determine the color settings when
rendering text. (Why not? -- Corky) We keep a list of all places where styles not considered by the reduced
are being used, such as System.out, System.err, and the various return styles for Strings and other Objects.
Since the LinkedList class is not thread safe, we have to synchronized all methods that access pointers in
_stylesList and the associated boolean _toClear.
InteractionsDJDocument
public InteractionsDJDocument()
- Standard constructor.
InteractionsDJDocument
public InteractionsDJDocument(GlobalEventNotifier notifier)
hasPrompt
public boolean hasPrompt()
- Specified by:
hasPrompt in interface ConsoleDocumentInterface
- Returns:
- true iff this document has a prompt and is ready to accept input.
setHasPrompt
public void setHasPrompt(boolean val)
- Sets the _hasPrompt property.
- Specified by:
setHasPrompt in interface ConsoleDocumentInterface
- Parameters:
val - new boolean value for _hasPrompt.
_styleChanged
protected void _styleChanged()
- Description copied from class:
AbstractDJDocument
- Fire event that styles changed from current location to the end.
Right now we do this every time there is an insertion or removal.
Two possible future optimizations:
- Only fire changed event if text other than that which was inserted
or removed *actually* changed status. If we didn't changed the status
of other text (by inserting or deleting unmatched pair of quote or
comment chars), no change need be fired.
- If a change must be fired, we could figure out the exact end
of what has been changed. Right now we fire the event saying that
everything changed to the end of the document.
I don't think we'll need to do either one since it's still fast now.
I think this is because the UI only actually paints the things on the screen anyway.
- Specified by:
_styleChanged in class AbstractDJDocument
getUndoManager
public CompoundUndoManager getUndoManager()
- Getter method for CompoundUndoManager
- Returns:
- _undoManager
resetUndoManager
public void resetUndoManager()
- Resets the undo manager.
getNextUndo
public javax.swing.undo.UndoableEdit getNextUndo()
- Public accessor for the next undo action.
getNextRedo
public javax.swing.undo.UndoableEdit getNextRedo()
- Public accessor for the next undo action.
documentSaved
public void documentSaved()
- Informs this document's undo manager that the document has been saved.
startCompoundEdit
protected int startCompoundEdit()
- Specified by:
startCompoundEdit in class AbstractDJDocument
endCompoundEdit
protected void endCompoundEdit(int key)
- Specified by:
endCompoundEdit in class AbstractDJDocument
endLastCompoundEdit
protected void endLastCompoundEdit()
- Specified by:
endLastCompoundEdit in class AbstractDJDocument
addUndoRedo
protected void addUndoRedo(javax.swing.text.AbstractDocument.DefaultDocumentEvent chng,
java.lang.Runnable undoCommand,
java.lang.Runnable doCommand)
- Specified by:
addUndoRedo in class AbstractDJDocument
undoManagerCanUndo
public boolean undoManagerCanUndo()
undoManagerCanRedo
public boolean undoManagerCanRedo()
updateModifiedSinceSave
public void updateModifiedSinceSave()
_setModifiedSinceSave
private void _setModifiedSinceSave()
- Sets the modification state of this document to true and updates the state of the associated _odd.
Assumes that write lock is already held.
resetModification
public void resetModification()
- Resets the modification state of this document. Used after a document has been saved or reverted.
isModifiedSinceSave
public boolean isModifiedSinceSave()
- Determines if the document has been modified since the last save.
- Returns:
- true if the document has been modified
makeNewIndenter
protected Indenter makeNewIndenter(int indentLevel)
- Returns a new indenter. Eventually to be used to return an interactions indenter
addColoring
public void addColoring(int start,
int end,
java.lang.String style)
- Adds the given coloring style to the styles list. Only runs in event thread.
- Overrides:
addColoring in class SwingDocument
getStyles
public Pair<Pair<java.lang.Integer,java.lang.Integer>,java.lang.String>[] getStyles()
- Accessor method used to copy contents of _stylesList to an array. Used in test cases.
setColoring
public boolean setColoring(int point,
java.awt.Graphics g)
- Attempts to set the coloring on the graphics based upon the content of the styles list
returns false if the point is not in the list. Only runs in event thread.
setBoldFonts
public void setBoldFonts(int point,
java.awt.Graphics g)
- Attempts to set the font on the graphics context based upon the styles held in the styles list. Only runs in
event thread.
clearColoring
public void clearColoring()
- Called when the Interactions pane is reset. Only runs in event thread.
_inBlockComment
public boolean _inBlockComment()
- Returns:
- true iff the end of the current interaction is an open comment block
appendExceptionResult
public void appendExceptionResult(java.lang.String message,
java.lang.String styleName)
- Inserts the given exception data into the document with the given style.
- Parameters:
message - Message contained in the exceptionstyleName - name of the style for formatting the exception