scide + lang: add *new method for Document in SCIDE

This also adds a *getQUuid method to ScIDE, which is used to generate the document's mID in the lang at creation time

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang: Add *executeAsyncResponse method to ScIDEDocument

This provides a generic interface for callbacks for asynchronous Document requests to the IDE. Callback functions are stored in a dict held in a classvar using a uuid as a key.

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang + scide: Add getText and getChar methods to ScIDEDocument

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang + scide: Add methods to set text in an ScIDEDocument

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide: Add missing checks in get and set text methods

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang + scide: sync document list at library compile

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide: make ide call closed for manually closed documents

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide: IDE informs lang when a document is opened by a user

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang + scide: Keep current Document synced

This should also take care of setting the doc envir and firing actions

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang + scide: Sync Text and Title of ScIDEDocuments when opened

Signed-off-by: Scott Wilson <i@scottwilson.ca>
lang + scide: Change ide send text methods to convert to a literal ascii array, and sync document changes with lang objects

Sending doc text as a literal string caused problems, due to possible multiple layers of nesting and escapes. Also fixed a few typos and added some safety checks

Signed-off-by: Scott Wilson <i@scottwilson.ca>
class library: add textChangedAction

Thanks to Jacob for the suggestion

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide + class library: Add keyActions for ScIDEDocument

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide + class library: Add mouse actions for ScIDEDocument

Signed-off-by: Scott Wilson <i@scottwilson.ca>
class library: Remove out of date comment

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide: Make small adjustment to mouse events for Documents in order to avoid odd cursor behaviour

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide: Add Main::evaluateIfCompiled method, change Document key and mouse actions to use it

Documents should not queue up key and mouse actions while waiting for the lang to compile

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide + class library: Add Document front method, slightly rework some of the lang-side code for making docs current

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide + class library:  Add prclose functionality to ide Document

Signed-off-by: Scott Wilson <i@scottwilson.ca>
scide + class library: Derive char from unicode in Document key events to avoid having to do escapes

Signed-off-by: Scott Wilson <i@scottwilson.ca>