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 |
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
GutterColumn.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 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()
GutterColumn.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