public class LineGutterPlugin.Column extends java.lang.Object implements GutterColumn
Modifier and Type | Class and Description |
---|---|
class |
LineGutterPlugin.Column.Mark
This is our implementation of the GutterMark interface.
|
Modifier and Type | Field and Description |
---|---|
protected GutterColumnListener |
_columnListener
The listener for notifications.
|
protected java.lang.String |
_columnName
The name of the column.
|
protected java.lang.String |
_layoutColumn
The name of the layout constraint column, or null if none.
|
protected int |
_layoutConstraint
The layout constraint.
|
protected java.util.List<LineGutterPlugin.Column.Mark> |
_marksList
The list of marks for this column.
|
protected int |
_reservedWidth
The reserved width of this column.
|
protected java.util.List<LineGutterPlugin.Column> |
group
The columns with which this column merges reserved widths, bidirectionally and recursively.
|
protected int |
groupIndex
The maximum reserved width of the columns with which this column merges reserved widths.
|
LAYOUT_MERGE_RESERVED_WIDTHS, LAYOUT_OVERLAY, LAYOUT_UNCONSTRAINED
Modifier | Constructor and Description |
---|---|
protected |
LineGutterPlugin.Column(java.lang.String columnName, GutterColumnListener columnListener)
Constructs a new Column.
|
Modifier and Type | Method and Description |
---|---|
GutterMark |
addGutterMark(int line, javax.swing.Icon icon, HighlightStyle highlightStyle, int markOrder, int markOptions)
Adds a new
GutterMark to this column for the given line. |
GutterMark |
addGutterMark(int line, javax.swing.Icon icon, HighlightStyle highlightStyle, int markOrder, int markOptions, java.awt.Color overviewColor)
Adds a new
GutterMark to this column for the given line. |
void |
attributeUpdate(int attribute)
Provides notification regarding a change to one of the buffer attributes.
|
void |
beginBlockAdd()
Begins a block add.
|
protected void |
discardAllGutterMarks()
Utility routine which discards all of the gutter marks.
|
void |
endBlockAdd()
Ends a block add.
|
protected void |
fireMarkClicked(java.awt.event.MouseEvent event, GutterMark mark, int line)
Utility routine to fire the click notification for the given mark.
|
protected void |
getAllMarks(java.util.Collection<LineGutterPlugin.Column.Mark> collection)
Fetch all the marks in this column, adding it to the specified collection.
|
java.lang.String |
getColumnName()
Fetch the name of this column.
|
Gutter |
getGutter()
Fetch the
Gutter instance that this column is associated with. |
protected java.lang.String |
getLayoutColumn()
Gets the column referenced by the layout constraint on this column, or null if
LAYOUT_UNCONSTRAINED . |
protected int |
getLayoutConstraint()
Gets the layout constraint on this column, either
GutterColumn.LAYOUT_UNCONSTRAINED , GutterColumn.LAYOUT_MERGE_RESERVED_WIDTHS , or GutterColumn.LAYOUT_OVERLAY . |
protected int |
getMarkCount()
Fetch the number of marks in this column.
|
protected void |
getMarks(java.util.Collection<LineGutterPlugin.Column.Mark> collection, int line)
Fetch all the marks in this column that are on the given line, adding it to the specified collection.
|
protected boolean |
getMarkSupportsClicks(GutterMark gutterMark)
Fetch whether the specified
GutterMark supports click behavior. |
java.lang.String |
getMarkToolTip(GutterMark mark, java.awt.event.MouseEvent event)
Fetch the tooltip associated with the given
GutterMark . |
protected int |
getReservedWidth()
Gets the width to reserve in the gutter for this column.
|
protected void |
insertUpdate(javax.swing.event.DocumentEvent event)
Gives notification that there was an insert into the document.
|
GutterMark[] |
lookupGutterMarks(int line)
Fetch the
GutterMark instances contained within this column for the specified line (if any). |
void |
removeAllGutterMarks()
Removes all marks from this column.
|
protected int |
removeAllGutterMarksImpl()
Removes all marks from this column without generating a repaint.
|
void |
removeGutterMark(GutterMark mark)
Removes the mark from this column.
|
void |
removeUpdate(javax.swing.event.DocumentEvent event)
Gives notification that a portion of the document has been removed.
|
void |
setLayoutConstraint(java.lang.String columnName, int constraint)
Sets a layout constraint on this column.
|
void |
setReservedWidth(int width)
Deprecated.
the gutter no longer uses reserved widths to determine sizing.
|
java.lang.String |
toString() |
protected void |
updateAllMarkHighlights()
Utility routine to update all of the highlights for all of the marks for our column.
|
protected java.lang.String _columnName
protected GutterColumnListener _columnListener
protected int _reservedWidth
protected java.lang.String _layoutColumn
protected int _layoutConstraint
protected java.util.List<LineGutterPlugin.Column.Mark> _marksList
protected java.util.List<LineGutterPlugin.Column> group
protected int groupIndex
protected LineGutterPlugin.Column(java.lang.String columnName, GutterColumnListener columnListener)
@Deprecated public void setReservedWidth(int width)
setReservedWidth
in interface GutterColumn
width
- the width to reserve when no icon is displayed.protected int getReservedWidth()
public void setLayoutConstraint(java.lang.String columnName, int constraint)
GutterColumn.LAYOUT_UNCONSTRAINED
.setLayoutConstraint
in interface GutterColumn
columnName
- the name of the column referenced by the constraint.constraint
- the constraint to establish, either GutterColumn.LAYOUT_UNCONSTRAINED
, GutterColumn.LAYOUT_MERGE_RESERVED_WIDTHS
, or GutterColumn.LAYOUT_OVERLAY
.protected java.lang.String getLayoutColumn()
LAYOUT_UNCONSTRAINED
.protected int getLayoutConstraint()
GutterColumn.LAYOUT_UNCONSTRAINED
, GutterColumn.LAYOUT_MERGE_RESERVED_WIDTHS
, or GutterColumn.LAYOUT_OVERLAY
.protected void updateAllMarkHighlights()
protected void discardAllGutterMarks()
protected int getMarkCount()
protected void getAllMarks(java.util.Collection<LineGutterPlugin.Column.Mark> collection)
collection
- the collection to add our marks toprotected void getMarks(java.util.Collection<LineGutterPlugin.Column.Mark> collection, int line)
collection
- the collection to add our marks toline
- the line that we are interested inprotected int removeAllGutterMarksImpl()
protected boolean getMarkSupportsClicks(GutterMark gutterMark)
GutterMark
supports click behavior.public java.lang.String getMarkToolTip(GutterMark mark, java.awt.event.MouseEvent event)
GutterMark
.protected void fireMarkClicked(java.awt.event.MouseEvent event, GutterMark mark, int line)
protected void insertUpdate(javax.swing.event.DocumentEvent event)
event
- the document eventpublic void removeUpdate(javax.swing.event.DocumentEvent event)
event
- the document eventpublic void attributeUpdate(int attribute)
attribute
- the attribute that changedpublic Gutter getGutter()
Gutter
instance that this column is associated with.getGutter
in interface GutterColumn
public java.lang.String getColumnName()
getColumnName
in interface GutterColumn
public void beginBlockAdd()
GutterColumn
beginBlockAdd
in interface GutterColumn
public void endBlockAdd()
GutterColumn
endBlockAdd
in interface GutterColumn
public GutterMark addGutterMark(int line, javax.swing.Icon icon, HighlightStyle highlightStyle, int markOrder, int markOptions)
GutterColumn
GutterMark
to this column for the given line. The provided icon will be displayed visually, and the highlight used to highlight the entire line. If there is a GutterColumnListener
associated with this column, then it will receive notifications when the mark is moved, removed, or clicked upon.addGutterMark
in interface GutterColumn
line
- the line (1-based) on which to create the GutterMarkicon
- the icon to display visually on the given line of the gutterhighlightStyle
- the highlight style to use for highlighting the line, or null for no highlightmarkOrder
- the ordering to use for this mark (in relation to other marks on the same line) for left-to-right positioningmarkOptions
- to affect user interaction with the mark, such as GutterMark.MARK_OPTION_SUPPORTS_CLICKS
GutterMark
or null if the line is invalidpublic GutterMark addGutterMark(int line, javax.swing.Icon icon, HighlightStyle highlightStyle, int markOrder, int markOptions, java.awt.Color overviewColor)
GutterMark
to this column for the given line. The provided icon will be displayed visually, and the highlight used to highlight the entire line. If there is a GutterColumnListener
associated with this column, then it will receive notifications when the mark is moved, removed, or clicked upon.addGutterMark
in interface GutterColumn
line
- the line (1-based) on which to create the GutterMarkicon
- the icon to display visually on the given line of the gutterhighlightStyle
- the highlight style to use for highlighting the line, or null for no highlightmarkOrder
- the ordering to use for this mark (in relation to other marks on the same line) for left-to-right positioningmarkOptions
- to affect user interaction with the mark, such as GutterMark.MARK_OPTION_SUPPORTS_CLICKS
overviewColor
- color of the overview mark if option GutterMark.MARK_OPTION_SHOW_IN_FILE_OVERVIEW_MARGIN
is set.GutterMark
or null if the line is invalidpublic GutterMark[] lookupGutterMarks(int line)
GutterMark
instances contained within this column for the specified line (if any).lookupGutterMarks
in interface GutterColumn
line
- the line to lookup gutter marks forpublic void removeGutterMark(GutterMark mark)
removeGutterMark
in interface GutterColumn
mark
- the gutter mark to removepublic void removeAllGutterMarks()
removeAllGutterMarks
in interface GutterColumn
public java.lang.String toString()
toString
in class java.lang.Object