export function showVariables() { var localVariables: ThreadVariables = ThreadManager.focusedThreadVariables(); var evaluationVariables: ThreadVariables = ThreadManager.focusedThreadEvaluation(); showVariablesGrid(localVariables, 'variables', false); showVariablesGrid(evaluationVariables, 'evaluation', true); }
export function evaluateExpression() { var threadScope = ThreadManager.focusedThread(); if (threadScope != null) { var selectedText = FileEditor.getSelectedText(); DialogBuilder.evaluateExpressionDialog(selectedText); } }
export function browseScriptVariables(variables) { var threadScope: ThreadScope = ThreadManager.focusedThread(); if(threadScope != null) { var message = { thread: threadScope.getThread(), expand: variables }; EventBus.sendEvent("BROWSE", message); } }
export function resumeScript() { var threadScope: ThreadScope = ThreadManager.focusedThread(); if(threadScope != null) { var message = { thread: threadScope.getThread(), type: "RUN" }; FileEditor.clearEditorHighlights(); EventBus.sendEvent("STEP", message); } }
export function browseScriptEvaluation(variables, expression, refresh) { var threadScope: ThreadScope = ThreadManager.focusedThread(); if (threadScope != null) { var message = { thread: threadScope.getThread(), expression: expression, expand: variables, refresh: refresh }; EventBus.sendEvent("EVALUATE", message); } }
function expandVariableTree(name, variableHistory) { var threadScope: ThreadScope = ThreadManager.focusedThread(); var expandPath = name + ".*"; // this ensures they sort in sequence with '.' notation, e.g blah.foo.* var removePrefix = name + "."; if(threadScope != null) { var variablePaths = variableHistory[threadScope.getThread()]; if(variablePaths == null) { variablePaths = []; variableHistory[threadScope.getThread()] = variablePaths; } var removePaths = []; for(var i = 0; i< variablePaths.length; i++) { var currentPath = variablePaths[i]; if(currentPath.indexOf(removePrefix) == 0) { removePaths.push(currentPath); // remove variable } } for(var i = 0; i< removePaths.length; i++) { var removePath = removePaths[i]; var removeIndex = variablePaths.indexOf(removePath); if(removeIndex != -1) { variablePaths.splice(removeIndex, 1); // remove variable } } if(removePaths.length == 0) { variablePaths.push(expandPath); // add variablePaths} } return variablePaths; } return null; }