public QueryDocumentControl(string name, NotebookManager manager, IWin32Window mainForm, Slot <bool> operationInProgress) { InitializeComponent(); ItemName = name; _manager = manager; _notebook = manager.Notebook; _mainForm = mainForm; _operationInProgress = operationInProgress; _resultToolStrip.SetMenuAppearance(); _grid.EnableDoubleBuffering(); _textCtl = new SqlTextControl(false) { Dock = DockStyle.Fill, Padding = new Padding(4, 0, 0, 0) }; _sqlPanel.Controls.Add(_textCtl); // if this tool window has been pulled off into a floating window, then the MainForm's key handler won't // trigger on F5, so catch it here. _textCtl.Scintilla.KeyDown += async(sender, e) => { if (e.KeyCode == Keys.F5) { await Execute(); } }; Load += (sender, e) => { string initialText = _manager.GetItemData(ItemName); if (initialText != null) { _textCtl.SqlText = initialText; } _textCtl.SqlTextChanged += (sender2, e2) => _manager.SetDirty(); ShowResult(0); }; }
private void Server_Request(object sender, HttpRequestEventArgs e) { var consolePrefix = "/console"; var executePrefix = "/execute_"; if (e.Url.StartsWith(consolePrefix)) { var html = Resources.ConsoleHtml.Replace("SAVED_HISTORY_GOES_HERE", HttpUtility.JavaScriptStringEncode(_manager.GetItemData(ConsoleName))); e.Result = Encoding.UTF8.GetBytes(html); } else if (e.Url.StartsWith(executePrefix)) { var sql = e.Url.Substring(executePrefix.Length); var html = Execute(sql); e.Result = Encoding.UTF8.GetBytes(html); return; } else if (e.Url == "/simple-console.js") { e.ContentType = HttpContentType.JavaScript; e.Result = Resources.SimpleConsoleJs; } else if (e.Url == "/simple-console.css") { e.ContentType = HttpContentType.Css; e.Result = Resources.SimpleConsoleCss; } else { e.ResultCode = 404; e.Result = new byte[] { 78, 79 }; // 'NO' } }
public NoteDocumentControl(string name, NotebookManager manager) { InitializeComponent(); ItemName = name; _manager = manager; _toolStrip.SetMenuAppearance(); _contextMenuStrip.SetMenuAppearance(); _browser.PreviewKeyDown += (sender, e) => { if (e.KeyData == (Keys.Control | Keys.C)) { EnableDisableContextMenu(); _copyMnu.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.X)) { EnableDisableContextMenu(); _cutMnu.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.V)) { EnableDisableContextMenu(); _pasteMnu.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.A)) { _selectAllMnu.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.B)) { _boldBtn.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.I)) { _italicBtn.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.U)) { _underlineBtn.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.L)) { _alignLeftBtn.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.E)) { _alignCenterBtn.PerformClick(); } else if (e.KeyData == (Keys.Control | Keys.R)) { _alignRightBtn.PerformClick(); } else if (e.KeyData == Keys.Delete) { _browser.Document.ExecCommand("delete", false, null); } else { manager.HandleAppHotkeys(e.KeyData); } }; using (var fonts = new InstalledFontCollection()) { foreach (var family in fonts.Families.OrderBy(x => x.Name)) { _fontNameCmb.Items.Add(family.Name); } } _browser.DocumentText = "<html><body></body></html>"; ((IHTMLDocument2)_browser.Document.DomDocument).designMode = "On"; var doc = (IHTMLDocument2)_browser.Document.DomDocument; doc.write(_manager.GetItemData(ItemName)); var markupContainer = (IMarkupContainer2)doc; markupContainer.RegisterForDirtyRange(_sink, out _sinkCookie); _sink.Change += (sender2, e2) => _manager.SetDirty(); _timer.Start(); Load += (sender, e) => { _browser.Focus(); _browser.Select(); }; }