MarkdownEditorController class
Controller for Markdown source editing.
The controller wraps a TextEditingController, keeps a synchronized MarkdownDocumentEditor, and adds Markdown-aware editing commands used by SmoothMarkdownEditor.
- Inheritance
-
- Object
- ChangeNotifier
- MarkdownEditorController
Constructors
- MarkdownEditorController({String text = '', TextEditingController? textController, ParserPluginRegistry? plugins, int historyLimit = _defaultHistoryLimit})
- Creates a Markdown editor controller.
Properties
- canRedo → bool
-
Whether a redo step is available.
no setter
- canUndo → bool
-
Whether an undo step is available.
no setter
- document ↔ MarkdownDocument
-
Current semantic Markdown document.
getter/setter pair
- documentEditor ↔ MarkdownDocumentEditor
-
Semantic editable document state synchronized with textController.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- isDirty → bool
-
Whether the current source differs from savedText.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- savedText → String
-
Source text snapshot last marked as persisted by host code.
no setter
- selectedText → String
-
Currently selected Markdown source text.
no setter
- selection → TextSelection
-
Current text selection.
no setter
- text ↔ String
-
Current Markdown source text.
getter/setter pair
- textController → TextEditingController
-
The underlying text editing controller.
final
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
applyBlockCommand(
String blockId, MarkdownEditorCommand command) → void -
Applies a semantic block command to
blockId. -
applyBlockCommandToDocumentSelection(
MarkdownDocumentSelection selection, MarkdownEditorCommand command) → bool - Applies a block command to a semantic document selection.
-
applyCommand(
MarkdownEditorCommand command, {String? argument}) → void -
Applies a Markdown editing
command. -
applyInlineCommand(
String blockId, TextRange range, MarkdownEditorCommand command, {String? argument}) → void -
Applies a semantic inline command to
rangeinsideblockId. -
applyInlineCommandToDocumentSelection(
MarkdownDocumentSelection selection, MarkdownEditorCommand command, {String? argument}) → bool - Applies an inline command to a semantic document selection.
-
applyInlineCommandToListItemSelection(
MarkdownListItemSelection selection, MarkdownEditorCommand command, {String? argument}) → bool - Applies a basic inline command to a semantic list item selection.
-
applyInlineCommandToTableSelection(
MarkdownTableCellSelection selection, MarkdownEditorCommand command, {String? argument}) → bool - Applies a basic inline command to a semantic table cell selection.
-
canMoveBlock(
String blockId, {required bool upward}) → bool -
Whether the top-level block containing
blockIdcan move up or down. -
canMoveBlockToIndex(
String blockId, {required int targetIndex}) → bool -
Whether the top-level block containing
blockIdcan move totargetIndex. -
clearHistory(
) → void - Clears source undo and redo history.
-
clearTableSelection(
MarkdownTableCellSelection selection) → bool - Clears a semantic table cell selection without deleting rows or columns.
-
copyDocumentSelectionAsMarkdown(
MarkdownDocumentSelection selection) → String? - Serializes a semantic document selection as Markdown.
-
copyListItemSelectionAsMarkdown(
MarkdownListItemSelection selection) → String? - Serializes a semantic list item selection as Markdown.
-
copyTableSelectionAsTsv(
MarkdownTableCellSelection selection) → String? - Serializes a semantic table cell selection as TSV.
-
deleteDocumentSelection(
MarkdownDocumentSelection selection) → MarkdownSelectionTransactionResult? - Deletes a semantic document selection.
-
deleteListItemSelection(
MarkdownListItemSelection selection) → MarkdownSelectionTransactionResult? - Deletes a semantic list item selection.
-
deleteTable(
String tableId) → bool - Deletes a table block.
-
deleteTableColumn(
String tableId, int columnIndex) → bool - Deletes a table column.
-
deleteTableRow(
String tableId, int rowIndex) → bool - Deletes a table row.
-
dispose(
) → void -
Discards any resources used by the object.
override
-
findMatches(
String query, {bool caseSensitive = false}) → List< TextRange> -
Finds all text ranges matching
query. -
getSelectionMarkdown(
) → String? - Returns the selected Markdown source, or null when the selection is empty.
-
insertMarkdown(
String markdown) → void -
Inserts
markdownat the current selection. -
insertMarkdownBlock(
String markdown) → void -
Inserts
markdownas a separated block at the current selection. -
insertTable(
{int rows = 3, int columns = 3}) → void - Inserts a table at the current source selection.
-
insertTableColumnAfter(
String tableId, int columnIndex) → bool -
Inserts a table column after
columnIndex. -
insertTableColumnBefore(
String tableId, int columnIndex) → bool -
Inserts a table column before
columnIndex. -
insertTableRowAfter(
String tableId, int rowIndex) → bool -
Inserts a table row after
rowIndex. -
insertTableRowBefore(
String tableId, int rowIndex) → bool -
Inserts a table row before
rowIndex. -
markSaved(
[String? savedText]) → void -
Marks the current source, or
savedTextwhen provided, as persisted. -
moveBlock(
String blockId, {required bool upward, int selectionOffset = 0}) → MarkdownSelectionTransactionResult? -
Moves the top-level block containing
blockIdup or down. -
moveBlockToIndex(
String blockId, {required int targetIndex, int selectionOffset = 0}) → MarkdownSelectionTransactionResult? -
Moves the top-level block containing
blockIdtotargetIndex. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
redo(
) → bool - Reapplies the most recently undone source snapshot.
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
replaceBlockWithMarkdown(
String blockId, String markdown) → MarkdownDocument? - Replaces a block with parsed Markdown blocks.
-
replaceDocumentSelectionWithMarkdown(
MarkdownDocumentSelection selection, String markdown) → MarkdownSelectionTransactionResult? - Replaces a semantic document selection with parsed Markdown.
-
replaceRange(
TextRange range, String replacement, {TextSelection? selection}) → void -
Replaces an arbitrary source
rangewithreplacement. -
replaceSelection(
String replacement, {int? selectionStart, int? selectionEnd}) → void -
Replaces the current selection with
replacement. -
replaceTableCellText(
{required String tableId, required int rowIndex, required int columnIndex, required String text}) → bool - Replaces a table cell's plain text.
-
runTransaction<
T> (T transaction()) → T - Runs several source edits as one undoable transaction.
-
selectNextMatch(
String query, {bool caseSensitive = false}) → TextRange? -
Selects the next match for
queryand returns it. -
setTableColumnAlignment(
{required String tableId, required int columnIndex, required MarkdownTableAlignment? alignment}) → bool - Sets a table column alignment.
-
toggleTableHeaderColumn(
String tableId) → bool - Toggles whether the first table column is a header.
-
toggleTableHeaderRow(
String tableId) → bool - Toggles whether the first table row is a header.
-
toString(
) → String -
A string representation of this object.
inherited
-
undo(
) → bool - Restores the previous source snapshot.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited