private void ListErrorCellMouseClick(object sender, LayoutHitTestEventArgs e) { LayoutList list = sender as LayoutList; if (list.SelectedItem is System.CodeDom.Compiler.CompilerError error) { string code = System.IO.Path.GetFileNameWithoutExtension(error.FileName); DBProcedure p = DBService.Schems.ParseProcedure(code); if (GuiService.Main == null) { Select(error.Column, error.Line); } else if (p != null) { string name = GetName(p); if (!(GuiService.Main.DockPanel.Find(name) is ProcedureEditor editor)) { editor = new ProcedureEditor { Procedure = p }; } GuiService.Main.DockPanel.Put(editor); editor.Select(error.Column, error.Line); } } }
private void DataTreeOnDoubleClick(object sender, LayoutHitTestEventArgs e) { if (dataTree.SelectedDBItem is DBTable table) { EditTableData(table); } else if (dataTree.SelectedDBItem is DBProcedure procedure) { if (!(GuiService.Main.DockPanel.Find(ProcedureEditor.GetName(procedure)) is ProcedureEditor editor)) { editor = new ProcedureEditor() { Procedure = procedure } } ; GuiService.Main.DockPanel.Put(editor, DockType.Content); } }