private ChildWindow CreateChildWindow(string caption = "") { if (_sqlContext == null) { return(null); } var title = string.IsNullOrEmpty(caption) ? "New Query" : caption; if (MdiContainer1.Children.Any(x => x.Title == title)) { for (var i = 1; i < 1000; i++) { if (MdiContainer1.Children.Any(x => x.Title == title + " (" + i + ")")) { continue; } title += " (" + i + ")"; break; } } var window = new ChildWindow(_sqlContext, DatabaseSchemaView1) { State = StateWindow.Maximized, Title = title, SqlFormattingOptions = _sqlFormattingOptions, SqlGenerationOptions = _sqlGenerationOptions }; window.Closing += Window_Closing; window.SaveQueryEvent += Window_SaveQueryEvent; window.SaveAsInFileEvent += Window_SaveAsInFileEvent; window.SaveAsNewUserQueryEvent += Window_SaveAsNewUserQueryEvent; if (_options != null) { window.SetOptions(_options); } return(window); }
private void SaveUserQuery(ChildWindow childWindow) { if (!childWindow.IsModified) { return; } if (childWindow.UserMetadataStructureItem == null) { return; } if (!UserQueries.IsUserQueryExist(childWindow.SqlQuery.SQLContext.MetadataContainer, childWindow.UserMetadataStructureItem.MetadataName)) { return; } UserQueries.SaveUserQuery(childWindow.SqlQuery.SQLContext.MetadataContainer, childWindow.UserMetadataStructureItem, childWindow.FormattedQueryText, ActiveQueryBuilder.View.Helpers.GetLayout(childWindow.SqlQuery.QueryRoot)); childWindow.IsModified = false; SaveSettings(); }