D2Editor:setExpression

From Inspired-Lua Wiki
Jump to navigation Jump to search


D2Editor:setExpression is a function that is part of the D2Editor Library.


This function sets the contents of a D2Editor, and is a synonym of setText.

Syntax

D2Editor:setExpression(text, [cursor], [selection])
Sets the content to text, or appends it to a certain position if cursor is set. If selection is -1, no text is selected (?).

Example

function on.create()
	editor = D2Editor.newRichText()
	editor:move(0,0)
	editor:resize(200,100)
end

function on.charIn(char)
	currentText = editor:getExpression() -- or editor:getText()
	editor:setExpression(currentText .. char) -- or editor:setText(...)
	--Add char to the editor
end

function on.enterKey()
	on.charIn(string.char(10))
	--Add a new line
end

A very simple text editor (its actually more complicated, but it shows the basics).

Tips & Tricks

In order to insert some special template like MathBoxes, vectors shapes, angles etc., you have to put these in the setExpression argument :

  • \\1angle : The text rendered inside is will be displayed under the "angle" shape
  • \\1circle : Symbol for circle
  • \\1keyword :
  • \\1line : Symbol for line (parenthesis)
  • \\1lineseg : Symbol for line segment
  • \\1ray :
  • \\1rtri :
  • \\1subhead :
  • \\1subscrp : Subscript text
  • \\1supersc : Superscript text
  • \\1title :
  • \\1tri : Triangle symbol
  • \\1vector : The text rendered inside is will be displayed under the vector arrow.
  • \\1word :
  • \\0el {content} : Inserts a MathBox with the content inside it.

For example, editor:setExpression("\\1vector AB") will render as : http://i.imgur.com/aqVd8.jpg

See also