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 GlyphView.GlyphPainter
- implements OptionConstants
Fields inherited from interface edu.rice.cs.drjava.config.OptionConstants |
accessLevelChoices, ALLOW_PRIVATE_ACCESS, ALWAYS_COMPILE_BEFORE_JUNIT, ALWAYS_SAVE_BEFORE_COMPILE, ALWAYS_SAVE_BEFORE_DEBUG, ALWAYS_SAVE_BEFORE_JAVADOC, ALWAYS_SAVE_BEFORE_RUN, apiJavadocChoices, apiJavadocVersionChoices, AUTO_CLOSE_COMMENTS, BACKUP_FILES, BOOKMARK_COLOR, BROWSER_FILE, BROWSER_HISTORY_MAX_SIZE, BROWSER_STRING, choices, CLIPBOARD_HISTORY_SIZE, COMPILER_ERROR_COLOR, DEBUG_BREAKPOINT_COLOR, DEBUG_BREAKPOINT_DISABLED_COLOR, DEBUG_MESSAGE_COLOR, DEBUG_PANEL_HEIGHT, DEBUG_SOURCEPATH, DEBUG_STEP_DRJAVA, DEBUG_STEP_EXCLUDE, DEBUG_STEP_INTERPRETER, DEBUG_STEP_JAVA, DEBUG_THREAD_COLOR, DEFINITIONS_BACKGROUND_COLOR, DEFINITIONS_COMMENT_COLOR, DEFINITIONS_DOUBLE_QUOTED_COLOR, DEFINITIONS_KEYWORD_COLOR, DEFINITIONS_MATCH_COLOR, DEFINITIONS_NORMAL_COLOR, DEFINITIONS_NUMBER_COLOR, DEFINITIONS_SINGLE_QUOTED_COLOR, DEFINITIONS_TYPE_COLOR, 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, DOC_LIST_WIDTH, DRJAVA_ERRORS_BUTTON_COLOR, DRJAVA_SURVEY_DAYS, DRJAVA_USE_FORCE_QUIT, 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, FIND_ALL_DOCUMENTS, FIND_MATCH_CASE, FIND_NO_COMMENTS_STRINGS, FIND_NO_TEST_CASES, 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, FOLLOW_FILE_DELAY, FOLLOW_FILE_LINES, FONT_DOCLIST, FONT_LINE_NUMBERS, FONT_MAIN, FONT_TOOLBAR, FORCE_TEST_SUFFIX, heapSizeChoices, HISTORY_MAX_SIZE, INDENT_LEVEL, INTERACTIONS_ERROR_COLOR, INTERACTIONS_EXIT_PROMPT, INTERACTIONS_RESET_PROMPT, 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_ACCESS_LEVEL, 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, KEY_ABOUT, KEY_BACKWARD, KEY_BEGIN_DOCUMENT, KEY_BEGIN_LINE, KEY_BOOKMARKS_PANEL, KEY_BOOKMARKS_TOGGLE, KEY_BROWSE_BACK, KEY_BROWSE_FORWARD, KEY_CHECK_NEW_VERSION, KEY_CLEAR_CONSOLE, KEY_CLEAR_HISTORY, KEY_CLEAR_LINE, KEY_CLOSE_ALL_FILES, KEY_CLOSE_FILE, KEY_CLOSE_PROJECT, KEY_CLOSING_BRACE, KEY_COMMENT_LINES, KEY_COMPILE, KEY_COMPILE_ALL, KEY_COMPLETE_FILE, KEY_COPY, KEY_CUT, KEY_CUT_LINE, 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_DRJAVA_ERRORS, KEY_DRJAVA_SURVEY, KEY_END_DOCUMENT, KEY_END_LINE, KEY_EXEC_PROCESS, KEY_EXECUTE_HISTORY, KEY_EXPORT_OLD, KEY_FIND_NEXT, KEY_FIND_PREV, KEY_FIND_REPLACE, KEY_FOLLOW_FILE, KEY_FORCE_QUIT, KEY_FORWARD, KEY_GOTO_FILE, KEY_GOTO_FILE_UNDER_CURSOR, KEY_GOTO_LINE, KEY_HELP, KEY_JAVADOC_ALL, KEY_JAVADOC_CURRENT, KEY_LIFT_CURRENT_INTERACTION, KEY_LOAD_HISTORY_SCRIPT, KEY_NEW_FILE, KEY_NEW_TEST, KEY_NEXT_DOCUMENT, KEY_NEXT_PANE, KEY_NEXT_WORD, 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_PRINT, KEY_PRINT_CONSOLE, KEY_PRINT_INTERACTIONS, KEY_PRINT_PREVIEW, KEY_QUICKSTART, KEY_QUIT, KEY_REDO, KEY_RENAME_FILE, KEY_RESET_INTERACTIONS, KEY_REVERT_FILE, KEY_RUN, KEY_RUN_MAIN, KEY_SAVE_ALL_FILES, KEY_SAVE_FILE, KEY_SAVE_FILE_AS, KEY_SAVE_HISTORY, KEY_SELECT_ALL, KEY_SHIFT_DELETE_NEXT, KEY_SHIFT_DELETE_PREVIOUS, KEY_TEST, KEY_TEST_ALL, KEY_UNCOMMENT_LINES, KEY_UNDO, KEY_UP, KEY_VIEW_INTERACTIONS_CLASSPATH, LANGUAGE_LEVEL, LAST_DIRECTORY, LAST_DRJAVA_SURVEY, LAST_DRJAVA_SURVEY_RESULT, LAST_INTERACTIONS_DIRECTORY, LAST_NEW_VERSION_NOTIFICATION, LIGHTWEIGHT_PARSING_ENABLED, LINEENUM_ENABLED, linkVersionChoices, LOOK_AND_FEEL, MASK, MASTER_JVM_ARGS, MASTER_JVM_XMX, NEW_VERSION_NOTIFICATION, NEW_VERSION_NOTIFICATION_CHOICES, NEW_VERSION_NOTIFICATION_DAYS, OLD_PROJECT_FILE_EXTENSION, OPEN_FOLDER_RECURSIVE, PLASTIC_THEMES, PROJECT_FILE_EXTENSION, PROMPT_BEFORE_CLEAN, QUIT_PROMPT, RECENT_FILES, RECENT_FILES_MAX_SIZE, RECENT_PROJECTS, REMOTE_CONTROL_ENABLED, REMOTE_CONTROL_PORT, RESET_CLEAR_CONSOLE, 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, STICKY_INTERACTIONS_DIRECTORY, SYSTEM_ERR_COLOR, SYSTEM_IN_COLOR, SYSTEM_OUT_COLOR, TABS_HEIGHT, TEXT_ANTIALIAS, TOOLBAR_ENABLED, TOOLBAR_ICONS_ENABLED, TOOLBAR_TEXT_ENABLED, WARN_BREAKPOINT_OUT_OF_SYNC, WARN_CHANGE_LAF, WARN_CHANGE_THEME, WARN_DEBUG_MODIFIED_FILE, WARN_PATH_CONTAINS_POUND, WINDOW_HEIGHT, WINDOW_STATE, WINDOW_STORE_POSITION, WINDOW_WIDTH, WINDOW_X, WINDOW_Y |
Method Summary |
float |
getAscent(GlyphView v)
Fetches the ascent above the baseline for the glyphs corresponding to the given range in the model. |
int |
getBoundedPosition(GlyphView v,
int start,
float x,
float len)
Determines the best location (in the model) to break the given view. |
float |
getDescent(GlyphView v)
Fetches the descent below the baseline for the glyphs corresponding to the given range in the model. |
float |
getHeight(GlyphView v)
Only runs in event thread. |
float |
getSpan(GlyphView v,
int start,
int end,
TabExpander e,
float x)
Determines the span the glyphs given a start location (for tab expansion). |
Shape |
modelToView(GlyphView v,
int pos,
Position.Bias bias,
Shape a)
Only runs in event thread. |
void |
paint(GlyphView v,
Graphics g,
Shape a,
int start,
int end)
Paints the glyphs representing the given range. |
void |
updateColors()
Called when an OptionListener perceives a change in any of the colors |
int |
viewToModel(GlyphView v,
float x,
float y,
Shape a,
Position.Bias[] biasReturn)
Provides a mapping from the view coordinate space to the logical coordinate space of the model. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
COMMENTED_COLOR
public static Color COMMENTED_COLOR
DOUBLE_QUOTED_COLOR
public static Color DOUBLE_QUOTED_COLOR
SINGLE_QUOTED_COLOR
public static Color SINGLE_QUOTED_COLOR
NORMAL_COLOR
public static Color NORMAL_COLOR
KEYWORD_COLOR
public static Color KEYWORD_COLOR
NUMBER_COLOR
public static Color NUMBER_COLOR
TYPE_COLOR
public static Color TYPE_COLOR
MAIN_FONT
public static Font MAIN_FONT
INTERACTIONS_SYSTEM_ERR_COLOR
public static Color INTERACTIONS_SYSTEM_ERR_COLOR
INTERACTIONS_SYSTEM_IN_COLOR
public static Color INTERACTIONS_SYSTEM_IN_COLOR
INTERACTIONS_SYSTEM_OUT_COLOR
public static Color INTERACTIONS_SYSTEM_OUT_COLOR
ERROR_COLOR
public static Color ERROR_COLOR
DEBUGGER_COLOR
public static Color DEBUGGER_COLOR
ColoringGlyphPainter
public ColoringGlyphPainter(Runnable lambdaRepaint)
paint
public void paint(GlyphView v,
Graphics g,
Shape a,
int start,
int end)
- Paints the glyphs representing the given range. Only runs in the event thread.
- Specified by:
paint
in class GlyphView.GlyphPainter
getSpan
public float getSpan(GlyphView v,
int start,
int end,
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 GlyphView.GlyphPainter
getHeight
public float getHeight(GlyphView v)
- Only runs in event thread.
- Specified by:
getHeight
in class GlyphView.GlyphPainter
getAscent
public float getAscent(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 GlyphView.GlyphPainter
getDescent
public float getDescent(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 GlyphView.GlyphPainter
modelToView
public Shape modelToView(GlyphView v,
int pos,
Position.Bias bias,
Shape a)
throws BadLocationException
- Only runs in event thread.
- Specified by:
modelToView
in class GlyphView.GlyphPainter
- Throws:
BadLocationException
viewToModel
public int viewToModel(GlyphView v,
float x,
float y,
Shape a,
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 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(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 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)
updateColors
public void updateColors()
- Called when an OptionListener perceives a change in any of the colors