Search in sources :

Example 1 with DocumentSelection

use of org.rstudio.studio.client.events.GetEditorContextEvent.DocumentSelection in project rstudio by rstudio.

the class Source method getEditorContext.

private void getEditorContext(String id, String path, DocDisplay docDisplay) {
    AceEditor editor = (AceEditor) docDisplay;
    Selection selection = editor.getNativeSelection();
    Range[] ranges = selection.getAllRanges();
    JsArray<DocumentSelection> docSelections = JavaScriptObject.createArray().cast();
    for (int i = 0; i < ranges.length; i++) {
        docSelections.push(DocumentSelection.create(ranges[i], editor.getTextForRange(ranges[i])));
    }
    id = StringUtil.notNull(id);
    path = StringUtil.notNull(path);
    GetEditorContextEvent.SelectionData data = GetEditorContextEvent.SelectionData.create(id, path, editor.getCode(), docSelections);
    server_.getEditorContextCompleted(data, new VoidServerRequestCallback());
}
Also used : GetEditorContextEvent(org.rstudio.studio.client.events.GetEditorContextEvent) DocumentSelection(org.rstudio.studio.client.events.GetEditorContextEvent.DocumentSelection) Selection(org.rstudio.studio.client.workbench.views.source.editors.text.ace.Selection) VoidServerRequestCallback(org.rstudio.studio.client.server.VoidServerRequestCallback) AceEditor(org.rstudio.studio.client.workbench.views.source.editors.text.AceEditor) Range(org.rstudio.studio.client.workbench.views.source.editors.text.ace.Range) DocumentSelection(org.rstudio.studio.client.events.GetEditorContextEvent.DocumentSelection)

Aggregations

GetEditorContextEvent (org.rstudio.studio.client.events.GetEditorContextEvent)1 DocumentSelection (org.rstudio.studio.client.events.GetEditorContextEvent.DocumentSelection)1 VoidServerRequestCallback (org.rstudio.studio.client.server.VoidServerRequestCallback)1 AceEditor (org.rstudio.studio.client.workbench.views.source.editors.text.AceEditor)1 Range (org.rstudio.studio.client.workbench.views.source.editors.text.ace.Range)1 Selection (org.rstudio.studio.client.workbench.views.source.editors.text.ace.Selection)1