void CommentOutLinesCommand_ExecuteCommand() { string comment = "//"; OpenedFile file = fileService.Value.GetActiveFile(); if (file != null && file is SbqlOpenedFile) { SbqlOpenedFile sbqlFile = file as SbqlOpenedFile; TextEditor editor = (sbqlFile.Document as ISourceEditor).TextEditor; var selection = editor.TextArea.Selection as Selection; editor.Document.UndoStack.StartUndoGroup(); if (selection.IsMultiline /*(editor.Document)*/) { int startOffset = editor.TextArea.Document.GetOffset(selection.StartPosition.Location); int endOffset = editor.TextArea.Document.GetOffset(selection.EndPosition.Location); DocumentLine startline; DocumentLine endline; if (startOffset < endOffset) { startline = editor.Document.GetLineByOffset(startOffset); endline = editor.Document.GetLineByOffset(endOffset); } else { startline = editor.Document.GetLineByOffset(endOffset); endline = editor.Document.GetLineByOffset(startOffset); } DocumentLine currentLine = startline; do { CommentLine(currentLine, editor, comment); currentLine = currentLine.NextLine; } while (currentLine != null && currentLine.LineNumber != (endline.LineNumber + 1)); } else { DocumentLine line = editor.Document.GetLineByOffset(editor.CaretOffset); CommentLine(line, editor, comment); } editor.Document.UndoStack.EndUndoGroup(); } }
private void ExecuteQuery() { OpenedFile file = fileService.Value.GetActiveFile(); if (file is SbqlOpenedFile) { string dbName = databasesComboBox.SelectedItem as string; SbqlOpenedFile sbqlFile = file as SbqlOpenedFile; string query = sbqlFile.Query; this.m_lastQuery = query; if (!string.IsNullOrEmpty(dbName) && !string.IsNullOrEmpty(query)) { SetEnableCondition(false); resultsService.Clear(); applicationStatus.SetStatus("Executing query...", true); m_SelectedFileName = file.FileName; connectionService.ExecuteQuery(new DatabaseInfo { Name = dbName }, new SbqlQuery(query), ExecuteQueryCompleted); } } }
private string GetSelectedQuery(out FileName filename, out int line, out int column) { OpenedFile file = fileService.Value.GetActiveFile(); if (file != null && file is SbqlOpenedFile) { SbqlOpenedFile sbqlFile = file as SbqlOpenedFile; int selectionLength = (sbqlFile.Document as ISourceEditor).TextEditor.TextArea.Selection.Length; int caretColumn = (sbqlFile.Document as ISourceEditor).TextEditor.TextArea.Caret.Column; line = (sbqlFile.Document as ISourceEditor).TextEditor.TextArea.Caret.Line; int col1 = caretColumn - selectionLength; column = Math.Min(col1 >= 1 ? col1 : caretColumn, caretColumn); filename = sbqlFile.FileName; return(sbqlFile.SelectedQuery); } line = 0; column = 0; filename = null; return(null); }