edu.rice.cs.drjava.model.definitions
Class ColoringGlyphPainter
java.lang.Object
javax.swing.text.GlyphView.GlyphPainter
edu.rice.cs.drjava.model.definitions.ColoringGlyphPainter
- All Implemented Interfaces:
- OptionConstants
public class ColoringGlyphPainter
- extends javax.swing.text.GlyphView.GlyphPainter
- implements OptionConstants
| 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 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 |
private void |
attachOptionListeners(AbstractDJDocument doc)
|
float |
getAscent(javax.swing.text.GlyphView v)
Fetches the ascent above the baseline for the glyphs corresponding to the given range in the model. |
int |
getBoundedPosition(javax.swing.text.GlyphView v,
int start,
float x,
float len)
Determines the best location (in the model) to break the given view. |
float |
getDescent(javax.swing.text.GlyphView v)
Fetches the descent below the baseline for the glyphs corresponding to the given range in the model. |
float |
getHeight(javax.swing.text.GlyphView v)
Only runs in event thread. |
float |
getSpan(javax.swing.text.GlyphView v,
int start,
int end,
javax.swing.text.TabExpander e,
float x)
Determines the span the glyphs given a start location (for tab expansion). |
java.awt.Shape |
modelToView(javax.swing.text.GlyphView v,
int pos,
javax.swing.text.Position.Bias bias,
java.awt.Shape a)
Only runs in event thread. |
void |
paint(javax.swing.text.GlyphView v,
java.awt.Graphics g,
java.awt.Shape a,
int start,
int end)
Paints the glyphs representing the given range. |
private void |
setFormattingForState(java.awt.Graphics g,
int state)
Given a particular state, assign it a color. |
(package private) void |
sync(javax.swing.text.GlyphView v)
Only runs in event thread. |
void |
updateColors()
Called when an OptionListener perceives a change in any of the colors |
int |
viewToModel(javax.swing.text.GlyphView v,
float x,
float y,
java.awt.Shape a,
javax.swing.text.Position.Bias[] biasReturn)
Provides a mapping from the view coordinate space to the logical coordinate space of the model. |
| Methods inherited from class javax.swing.text.GlyphView.GlyphPainter |
getNextVisualPositionFrom, getPainter |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
COMMENTED_COLOR
public static java.awt.Color COMMENTED_COLOR
DOUBLE_QUOTED_COLOR
public static java.awt.Color DOUBLE_QUOTED_COLOR
SINGLE_QUOTED_COLOR
public static java.awt.Color SINGLE_QUOTED_COLOR
NORMAL_COLOR
public static java.awt.Color NORMAL_COLOR
KEYWORD_COLOR
public static java.awt.Color KEYWORD_COLOR
NUMBER_COLOR
public static java.awt.Color NUMBER_COLOR
TYPE_COLOR
public static java.awt.Color TYPE_COLOR
MAIN_FONT
public static java.awt.Font MAIN_FONT
INTERACTIONS_SYSTEM_ERR_COLOR
public static java.awt.Color INTERACTIONS_SYSTEM_ERR_COLOR
INTERACTIONS_SYSTEM_IN_COLOR
public static java.awt.Color INTERACTIONS_SYSTEM_IN_COLOR
INTERACTIONS_SYSTEM_OUT_COLOR
public static java.awt.Color INTERACTIONS_SYSTEM_OUT_COLOR
ERROR_COLOR
public static java.awt.Color ERROR_COLOR
DEBUGGER_COLOR
public static java.awt.Color DEBUGGER_COLOR
_listenersAttached
private boolean _listenersAttached
_lambdaRepaint
private java.lang.Runnable _lambdaRepaint
_metrics
private java.awt.FontMetrics _metrics
ColoringGlyphPainter
public ColoringGlyphPainter(java.lang.Runnable lambdaRepaint)
paint
public void paint(javax.swing.text.GlyphView v,
java.awt.Graphics g,
java.awt.Shape a,
int start,
int end)
- Paints the glyphs representing the given range. Only runs in the event thread.
- Specified by:
paint in class javax.swing.text.GlyphView.GlyphPainter
getSpan
public float getSpan(javax.swing.text.GlyphView v,
int start,
int end,
javax.swing.text.TabExpander e,
float x)
- Determines the span the glyphs given a start location (for tab expansion). Only runs in event thread.
- Specified by:
getSpan in class javax.swing.text.GlyphView.GlyphPainter
getHeight
public float getHeight(javax.swing.text.GlyphView v)
- Only runs in event thread.
- Specified by:
getHeight in class javax.swing.text.GlyphView.GlyphPainter
getAscent
public float getAscent(javax.swing.text.GlyphView v)
- Fetches the ascent above the baseline for the glyphs corresponding to the given range in the model. Only runs
in event thread.
- Specified by:
getAscent in class javax.swing.text.GlyphView.GlyphPainter
getDescent
public float getDescent(javax.swing.text.GlyphView v)
- Fetches the descent below the baseline for the glyphs corresponding to the given range in the model. Assumes
ReadLocak is held.
- Specified by:
getDescent in class javax.swing.text.GlyphView.GlyphPainter
modelToView
public java.awt.Shape modelToView(javax.swing.text.GlyphView v,
int pos,
javax.swing.text.Position.Bias bias,
java.awt.Shape a)
throws javax.swing.text.BadLocationException
- Only runs in event thread.
- Specified by:
modelToView in class javax.swing.text.GlyphView.GlyphPainter
- Throws:
javax.swing.text.BadLocationException
viewToModel
public int viewToModel(javax.swing.text.GlyphView v,
float x,
float y,
java.awt.Shape a,
javax.swing.text.Position.Bias[] biasReturn)
- Provides a mapping from the view coordinate space to the logical coordinate space of the model. Only runs in
event thread.
- Specified by:
viewToModel in class javax.swing.text.GlyphView.GlyphPainter
- Parameters:
v - the view containing the view coordinatesx - the X coordinatey - the Y coordinatea - the allocated region to render intobiasReturn - always returns Position.Bias.Forward as the zero-th element of this array
- Returns:
- the location within the model that best represents the given point in the view
- See Also:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
getBoundedPosition
public int getBoundedPosition(javax.swing.text.GlyphView v,
int start,
float x,
float len)
- Determines the best location (in the model) to break the given view. This method attempts to break on a
whitespace location. If a whitespace location can't be found, the nearest character location is returned.
Only runs in event thread.
- Specified by:
getBoundedPosition in class javax.swing.text.GlyphView.GlyphPainter
- Parameters:
v - The viewstart - The location in the model where the fragment should start its representation >= 0x - The graphic location along the axis that the broken view would occupy >= 0; this may be useful for
things like tab calculationslen - Specifies the distance into the view where a potential break is desired >= 0
- Returns:
- The model location desired for a break
- See Also:
View.breakView(int, int, float, float)
sync
void sync(javax.swing.text.GlyphView v)
- Only runs in event thread.
setFormattingForState
private void setFormattingForState(java.awt.Graphics g,
int state)
- Given a particular state, assign it a color.
- Parameters:
g - Graphics objectstate - a given state
attachOptionListeners
private void attachOptionListeners(AbstractDJDocument doc)
updateColors
public void updateColors()
- Called when an OptionListener perceives a change in any of the colors