public static DatabaseTreeViewItem CreateTreeViewItemWithImage(string name, string imageName, bool showExpander, string toolTip = null, bool isRefreshable = false) { var stackpanel = new StackPanel { Orientation = Orientation.Horizontal, Margin = new System.Windows.Thickness(2) }; stackpanel.Children.Add(ImageHelper.GetImageFromResource(imageName)); stackpanel.Children.Add(new TextBlock { Text = " " + name }); var databaseTreeViewItem = new DatabaseTreeViewItem { Header = stackpanel, MetaData = name, IsRefreshable = isRefreshable }; databaseTreeViewItem.MouseRightButtonDown += DatabaseTreeViewItemMouseRightButtonDown; databaseTreeViewItem.ContextMenu = new ContextMenu { Visibility = Visibility.Hidden }; if (!string.IsNullOrWhiteSpace(toolTip)) { databaseTreeViewItem.ToolTip = toolTip; } if (showExpander) { databaseTreeViewItem.AddLoadingChildNode(databaseTreeViewItem); } return(databaseTreeViewItem); }
public static DatabaseTreeViewItem CreateTreeViewItemWithImageAndTooltip(string name, string imageName, bool showExpander, string toolTip) { var stackpanel = new StackPanel { Orientation = Orientation.Horizontal, Margin = new System.Windows.Thickness(2) }; stackpanel.Children.Add(ImageHelper.GetImageFromResource(imageName)); // stackpanel.Children.Add(new TextBlock { Text = " " + name, Foreground = Helpers.VSThemes.GetWindowText() }); var databaseTreeViewItem = new DatabaseTreeViewItem { Header = stackpanel, MetaData = name }; databaseTreeViewItem.MouseRightButtonDown += DatabaseTreeViewItemMouseRightButtonDown; databaseTreeViewItem.ContextMenu = new ContextMenu { Visibility = Visibility.Hidden }; if (!string.IsNullOrWhiteSpace(toolTip)) { databaseTreeViewItem.ToolTip = toolTip; } if (showExpander) { databaseTreeViewItem.Items.Add("Loading..."); } return(databaseTreeViewItem); }
public static DatabaseTreeViewItem CreateTreeViewItemWithImageAndTooltip(string name, string imageName, bool showExpander, string toolTip) { var stackpanel = new StackPanel { Orientation = Orientation.Horizontal, Margin = new System.Windows.Thickness(2) }; stackpanel.Children.Add(ImageHelper.GetImageFromResource(imageName)); // stackpanel.Children.Add(new TextBlock { Text = " " + name, Foreground = Helpers.VSThemes.GetWindowText()}); var databaseTreeViewItem = new DatabaseTreeViewItem { Header = stackpanel, MetaData = name }; databaseTreeViewItem.MouseRightButtonDown += DatabaseTreeViewItemMouseRightButtonDown; databaseTreeViewItem.ContextMenu = new ContextMenu { Visibility = Visibility.Hidden }; if (!string.IsNullOrWhiteSpace(toolTip)) { databaseTreeViewItem.ToolTip = toolTip; } if (showExpander) databaseTreeViewItem.Items.Add("Loading..."); return databaseTreeViewItem; }
public static DatabaseTreeViewItem CreateTreeViewItemWithImage(string name, string imageName, bool showExpander, string toolTip = null, bool isRefreshable = false) { var stackpanel = new StackPanel { Orientation = Orientation.Horizontal, Margin = new System.Windows.Thickness(2) }; stackpanel.Children.Add(ImageHelper.GetImageFromResource(imageName)); stackpanel.Children.Add(new TextBlock { Text = " " + name }); var databaseTreeViewItem = new DatabaseTreeViewItem { Header = stackpanel, MetaData = name, IsRefreshable = isRefreshable }; databaseTreeViewItem.MouseRightButtonDown += DatabaseTreeViewItemMouseRightButtonDown; databaseTreeViewItem.ContextMenu = new ContextMenu { Visibility = Visibility.Hidden }; if (!string.IsNullOrWhiteSpace(toolTip)) databaseTreeViewItem.ToolTip = toolTip; if (showExpander) databaseTreeViewItem.AddLoadingChildNode(databaseTreeViewItem); return databaseTreeViewItem; }
private void FillTableItems(KeyValuePair<string, string> database, DatabaseTreeViewItem parentItem, IList<string> nameList) { parentItem.Items.Clear(); if (DescriptionCache != null) { var dbdesc = DescriptionCache.Where(dc => dc.Parent == null && dc.Object == null).Select(dc => dc.Description).SingleOrDefault(); if (!string.IsNullOrWhiteSpace(dbdesc)) { if (parentItem.Parent is DatabaseTreeViewItem) { var dbItem = (DatabaseTreeViewItem)parentItem.Parent; dbItem.ToolTip = dbItem.ToolTip.ToString() + Environment.NewLine + dbdesc; } } } using (var _repository = RepoHelper.CreateRepository(database.Value)) { var columns = _repository.GetAllColumns(); foreach (var table in nameList) { if (!Properties.Settings.Default.DisplayDescriptionTable && table.Equals("__ExtendedProperties")) { continue; } var item = TreeViewHelper.CreateTreeViewItemWithImage(table, "../Resources/table.png", true, null, true); item.ContextMenu = new TableContextMenu(new MenuCommandParameters { Connectionstring = database.Value, Name = table, MenuItemType = MenuCommandParameters.MenuType.Table, Caption = database.Key }, this); item.ToolTip = table; if (DescriptionCache != null) { var desc = DescriptionCache.Where(dc => dc.Parent == null && dc.Object == table).Select(dc => dc.Description).SingleOrDefault(); if (!string.IsNullOrWhiteSpace(desc)) { item.ToolTip = desc; } } var tableColumns = (from col in columns where col.TableName == table select col).ToList<Column>(); parentItem.Items.Add(item); item.Expanded += (s, e) => GetTableColumns(s, e, tableColumns, database); } } }
private void FillSubItems(KeyValuePair<string, string> database, DatabaseTreeViewItem parentItem, IList<string> nameList) { parentItem.Items.Clear(); foreach (var sub in nameList) { var item = TreeViewHelper.CreateTreeViewItemWithImage(sub, "../Resources/subs.png", false); item.ContextMenu = new SubscriptionsContextMenu(new MenuCommandParameters { Connectionstring = database.Value, Name = sub, MenuItemType = MenuCommandParameters.MenuType.Manage, Caption = database.Key }, this); parentItem.Items.Add(item); } }
private void FillTableItems(KeyValuePair<string, DatabaseInfo> database, DatabaseTreeViewItem parentItem, Exception ex, RoutedEventArgs args) { if (ex != null) { string error = Helpers.DataConnectionHelper.CreateEngineHelper(database.Value.DatabaseType).FormatError(ex); if (error.Contains("Minor Err.: 25028")) { PasswordDialog pwd = new PasswordDialog(); pwd.ShowModal(); if (pwd.DialogResult.HasValue && pwd.DialogResult.Value == true && !string.IsNullOrWhiteSpace(pwd.Password)) { database.Value.ConnectionString = database.Value.ConnectionString + ";Password="******"locale identifier") dbInfo.LCID = int.Parse(values.Value); if (values.Key.ToLowerInvariant() == "encryption mode") dbInfo.EncryptionMode = values.Value; if (string.IsNullOrWhiteSpace(dbInfo.EncryptionMode)) dbInfo.EncryptionMode = "None"; if (values.Key.ToLowerInvariant() == "case sensitive") dbInfo.CaseSensitive = bool.Parse(values.Value); if (values.Key == "DatabaseSize") dbInfo.Size = values.Value; if (values.Key == "SpaceAvailable") dbInfo.SpaceAvailable = values.Value; if (values.Key == "Created") dbInfo.Created = values.Value; if (values.Key == "ServerVersion") dbInfo.ServerVersion = values.Value; } TrackSelection(dbInfo); } } var tables = _repository.GetAllTableNames(); var columns = _repository.GetAllColumns(); var primaryKeys = _repository.GetAllPrimaryKeys(); var foreignKeys = _repository.GetAllForeignKeys(); var indexes = _repository.GetAllIndexes(); foreach (var table in tables) { if (!Properties.Settings.Default.DisplayDescriptionTable && table.Equals("__ExtendedProperties")) { continue; } var item = TreeViewHelper.CreateTreeViewItemWithImage(table, "../Resources/table_16xLG.png", true); item.ContextMenu = new TableContextMenu(new MenuCommandParameters { DatabaseInfo = database.Value, Name = table, MenuItemType = MenuType.Table }, _parentWindow); item.ToolTip = table; item.Tag = new TableInfo { Name = table, RowCount = _repository.GetRowCount(table) }; if (DescriptionCache != null) { var desc = DescriptionCache.Where(dc => dc.Parent == null && dc.Object == table).Select(dc => dc.Description).SingleOrDefault(); if (!string.IsNullOrWhiteSpace(desc)) { item.ToolTip = desc; } } var tableColumns = (from col in columns where col.TableName == table select col).ToList<Column>(); var tablePrimaryKeys = primaryKeys.Where(pk => pk.TableName == table).ToList(); var tableForeignKeys = foreignKeys.Where(fk => fk.ConstraintTableName == table).ToList(); var tableIndexes = indexes.Where(i => i.TableName == table).ToList(); parentItem.Items.Add(item); item.Expanded += (s, e) => GetTableColumns(s, e, tableColumns, tableForeignKeys, tablePrimaryKeys, tableIndexes, database); } } } catch (Exception ex2) { Helpers.DataConnectionHelper.SendError(ex2, database.Value.DatabaseType, false); } }
private static void FillTriggerItems(KeyValuePair<string, DatabaseInfo> database, DatabaseTreeViewItem parentItem, IList<ErikEJ.SqlCeScripting.Trigger> triggerList) { parentItem.Items.Clear(); foreach (var trigger in triggerList) { var item = TreeViewHelper.CreateTreeViewItemWithImage(trigger.TriggerName, "../Resources/RunOutline.png", false); item.ContextMenu = new TriggerContextMenu(new MenuCommandParameters { DatabaseInfo = database.Value, Name = trigger.TriggerName, MenuItemType = MenuType.Manage, Description = trigger.Definition }, _parentWindow); parentItem.Items.Add(item); } }
private static void FillViewItems(KeyValuePair<string, DatabaseInfo> database, DatabaseTreeViewItem parentItem, IList<View> viewList) { parentItem.Items.Clear(); foreach (var view in viewList) { var item = TreeViewHelper.CreateTreeViewItemWithImage(view.ViewName, "../Resources/table_16xLG.png", false); item.ContextMenu = new ViewContextMenu(new MenuCommandParameters { DatabaseInfo = database.Value, Name = view.ViewName, MenuItemType = MenuType.Manage, Description = view.Definition }, _parentWindow); parentItem.Items.Add(item); } }
private static void FillScopeItems(KeyValuePair<string, DatabaseInfo> database, DatabaseTreeViewItem parentItem, IList<string> scopeList) { parentItem.Items.Clear(); foreach (var scope in scopeList) { var item = TreeViewHelper.CreateTreeViewItemWithImage(scope, "../Resources/Synchronize_16xLG.png", true); item.ContextMenu = new ScopesContextMenu(new MenuCommandParameters { DatabaseInfo = database.Value, Name = scope, MenuItemType = MenuType.Manage }, _parentWindow); parentItem.Items.Add(item); var tables = SyncFxHelper.GetSqlCeScopeDefinition(database.Value.ConnectionString, scope).Select(s => s.TableName).Distinct(); item.Expanded += (s, e) => GetScopeTables(s, e, tables, database); } }
private static void FillSubItems(KeyValuePair<string, DatabaseInfo> database, DatabaseTreeViewItem parentItem, IList<string> nameList) { parentItem.Items.Clear(); foreach (var sub in nameList) { var item = TreeViewHelper.CreateTreeViewItemWithImage(sub, "../Resources/arrow_Sync_16xLG.png", false); item.ContextMenu = new SubscriptionsContextMenu(new MenuCommandParameters { DatabaseInfo = database.Value, Name = sub, MenuItemType = MenuType.Manage }, _parentWindow); parentItem.Items.Add(item); } }