Libraries.Interface.Selections.TextBoxSelection Documentation

A selection represents what would be interacted with if the parent is used. The general idea of selection is common across user interface elements. For example, trees have a selection, which represents the item in the tree that the user is interacting with if the tree itself has a focus. Similarly, text boxes have a very different kind of selection, which represents which region of the text is being interacted with. Selection represents a generic way to get the name of the selection. In the case of TextBoxSelection, this selection is very different from the Tree or Menu Selections. Instead, this selection allows us to obtain information about the location of the Caret or, If multiple characters are selected, the begin and end of the selection region.

Inherits from: Libraries.Interface.Selections.Selection, Libraries.Language.Object

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Empty()

This action empties the selection.

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetDisplayName()

This action gets the name that would be shown to the user.

Return

text: The display name to be given to the user.

Example

action SelectionChanged(Selection selection)
    output selection:GetDisplayName()
end

GetEndIndex()

This action obtains the ending index of the selection, which may cross multiple lines.

Return

integer: The index

GetFirstLine()

The GetFirstLine action returns the first line that the selection starts at. For example, if the selection started at index 5 on line 2 and ended on index 10 on line 3, this action would return 2.

Return

integer: The first line

GetFirstLineIndex()

The GetFirstLineIndex action returns the first index that the selection starts at on the line (not globally). For example, if the selection started at index 5 on line 2 and ended on index 10 on line 3, this action would return 5.

Return

integer: The first index

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetItem()

This action returns the item that contains the selection. It is not the selection itself.

Return

Libraries.Interface.Item:

Example

action SelectionChanged(Selection selection)
    Item theParentItem = selection:GetItem()
end

GetLastLine()

The GetLastLine action returns the first line that the selection starts at. For example, if the selection started at index 5 on line 2 and ended on index 10 on line 3, this action would return 3.

Return

integer: The last line.

GetLastLineIndex()

The GetFirstLineIndex action returns the first index that the selection starts at on the line (not globally). For example, if the selection started at index 5 on line 2 and ended on index 10 on line 3, this action would return 10.

Return

integer: The last index.

GetLockEnd()

This action returns the end of the lock region. If the selection isn't locked, this will return the maximum positive integer value.

Return

integer:

GetLockStart()

This action returns the beginning of the lock region. If the selection isn't locked, this will return -1.

Return

integer:

GetStartIndex()

This action obtains the starting index of the selection, which may cross multiple lines.

Return

integer: The index

GetText()

This action uses the start and end indices to obtain the text selection.

Return

text:

GetTextBox()

This action is a helper to obtain the text box without casting.

Return

Libraries.Interface.Controls.TextBox: The text box

Initialize(Libraries.Interface.Item item, text displayName)

This action sets up the component with default attributes.

Parameters

IsCaretAtEnd()

This action returns true if the caret is at the end of the text value.

Return

boolean: Whether the caret is at the end.

IsEmpty()

This action returns true if there is no selection. In the case of the textbox, there is considered to be no selection if the indices are the same.

Return

boolean: True if there is no selection.

IsLocked()

This action returns true if the selection is locked between two indices, or false if the selection is unlocked.

Return

boolean:

IsTextChanging()

This action returns true if the current selection was the result of insertion or deletion into the TextBox, or false if the selection moved without changing the text.

Return

boolean: Whether this selection was the result of TextBox insertion or deletion.

LockSelection(integer startIndex, integer endIndex)

This action locks the selection between the two indices. The selection cannot select an index less than the locked start index or greater than the locked end index.

Parameters

  • integer startIndex
  • integer endIndex

NotifySelectionListeners()

This action sends information that the selection was changed to all listeners.

Set(integer startIndex, integer endIndex, boolean caretAtEnd, boolean textChanged)

This action is used internally to set the path on the Selection. It should generally not needed by a programmer not working in Quorum's standard library.

Parameters

  • integer startIndex: The start index
  • integer endIndex: The end index
  • boolean caretAtEnd: Whether the caret is at the end of the text value.
  • boolean textChanged

SetDisplayName(text name)

This action sets the name that would be shown to the user. It also changes the selection, triggering a SelectionEvent.

Parameters

  • text name: The name to display.

Example

action SelectionChanged(Selection selection)
    selection:SetDisplayName("A new name I want to change to")
end

UnlockSelection()

This action unlocks the selection, allowing any indices to be selected within the range of the TextBox.