Exemple #1
0
        private void TreeQueryObjects_ValidateItemContextMenu(object sender, MetadataStructureItemMenuEventArgs e)
        {
            var metadataItem = e.MetadataStructureItem.MetadataItem;
            var mappedObject = _mapTreeItems.ContainsKey(e.MetadataStructureItem) ? _mapTreeItems[e.MetadataStructureItem] : null;
            var lng          = ActiveQueryBuilder.View.WPF.Helpers.ConvertLanguageFromNative(Language);

            if (metadataItem == null)
            {
                var dataSource = mappedObject as DataSource;
                if (dataSource != null)
                {
                    if (dataSource.AliasAST != null)
                    {
                        e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertAlias", lng, LocalizableConstantsUI.strInsertAlias), MenuItem_Clicked, false, true, null, dataSource.NameInQuery);
                        e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertName", lng, LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null,
                                       dataSource.GetObjectNameInQuery(SQLGenerationOptions));
                    }
                    else
                    {
                        e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertName", lng, LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null, dataSource.NameInQuery);
                    }
                }

                var field = mappedObject as MetadataField;

                if (field != null)
                {
                    e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertName", lng, LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null, field.Name);
                }
            }
            else
            {
                if (mappedObject == null)
                {
                    e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertName", lng, LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null, GetNameMetadataItem(metadataItem, false));
                }
                else
                {
                    var dataSource = mappedObject as DataSource;
                    if (dataSource != null)
                    {
                        if (dataSource.AliasAST != null)
                        {
                            e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertAlias", lng, LocalizableConstantsUI.strInsertAlias), MenuItem_Clicked, false, true, null, dataSource.NameInQuery);
                        }

                        e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertName", lng, LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null, GetNameMetadataItem(metadataItem, false));
                    }

                    var field = mappedObject as MetadataField;

                    if (field != null)
                    {
                        e.Menu.AddItem(ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertName", lng, LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null, GetNameMetadataItem(field, false));
                    }
                }
            }
        }
Exemple #2
0
        private void userQueriesView1_ValidateItemContextMenu(object sender, MetadataStructureItemMenuEventArgs e)
        {
            var metadataObject = e.MetadataStructureItem.MetadataItem as MetadataObject;

            if (metadataObject == null)
            {
                return;
            }

            e.Menu.InsertItem(2, "Copy SQL", Execute_SqlExpression, false, true, null,
                              metadataObject.Expression);
        }
        private void OnTreeObjectsValidateItemContextMenu(object sender, MetadataStructureItemMenuEventArgs e)
        {
            var metadataItem = e.MetadataStructureItem.MetadataItem;

            if (metadataItem == null)
            {
                return;
            }

            e.Menu.AddItem(ActiveQueryBuilder.View.Helpers.Localizer.GetString("strInsertName", LocalizableConstantsUI.strInsertName), MenuItem_Clicked, false, true, null, GetNameMetadataItem(metadataItem, false));
            e.Menu.AddItem(ActiveQueryBuilder.View.Helpers.Localizer.GetString("strInsertFullName", LocalizableConstantsUI.strInsertFullName), MenuItem_Clicked, false, true, null, GetNameMetadataItem(metadataItem, true));
        }
        private void QueriesView_OnValidateItemContextMenu(object sender, MetadataStructureItemMenuEventArgs e)
        {
            if (e.MetadataStructureItem == null)
            {
                return;
            }

            var obj = e.MetadataStructureItem.MetadataItem as MetadataObject;

            if (obj == null)
            {
                return;
            }

            e.Menu.AddItem("Copy SQL", Execute_SqlExpression, false, true, null, obj.Expression);
        }
Exemple #5
0
        private void MetadataStructureTree_OnValidateItemContextMenu(object sender, MetadataStructureItemMenuEventArgs e)
        {
            _contextMenuSubscriptions = new CompositeDisposable();

            var menu = e.Menu;

            menu.ClearItems();

            var contextMenuItemStructureAddItem = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemStructureAddItem, _controller.AddStructureItemCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddStructureItem,
                                                  x => contextMenuItemStructureAddItem.IsEnabled = x));

            var contextMenuItemStructureDelete = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemStructureDelete,
                                                  _controller.DeleteStructureItemCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.DeleteStructureItem,
                                                  x => contextMenuItemStructureDelete.IsEnabled = x));

            var contextMenuItemStructureCreateChild = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemStructureCreateChild,
                                                  _controller.CreateStructureChildsCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.CreateChildStructure,
                                                  x => contextMenuItemStructureCreateChild.IsEnabled = x));

            var contextMenuItemStructureClearChild = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemStructureClearChild, _controller.ClearStructureCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.ClearChildItems,
                                                  x => contextMenuItemStructureClearChild.IsEnabled = x));

            var contextSubMenuItemStructureSort = (MenuItem)menu.AddSubMenu("");

            _subscriptions.Add(
                ActiveQueryBuilder.Core.Localization.MetadataEditor.Sort.Subscribe(x => contextSubMenuItemStructureSort.Header = x));

            var contextSubMenuItemStructureSortByName =
                (MenuItem)((ICustomSubMenu)contextSubMenuItemStructureSort).AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextSubMenuItemStructureSortByName,
                                                  _controller.SortStructureByNameCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.SortByName,
                                                  x => contextSubMenuItemStructureSortByName.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextSubMenuItemStructureSortByTypeAndName =
                (MenuItem)((ICustomSubMenu)contextSubMenuItemStructureSort).AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextSubMenuItemStructureSortByTypeAndName,
                                                  _controller.SortStructureByTypeCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.SortByType,
                                                  x => contextSubMenuItemStructureSortByTypeAndName.Visibility =
                                                      x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemStructureMoveToTop = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemStructureMoveToTop, _controller.MoveUpStructureCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.MoveToTop,
                                                  x => contextMenuItemStructureMoveToTop.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemStructureMoveToBottom = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemStructureMoveToBottom,
                                                  _controller.MoveDownStructureCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.MoveToBottom,
                                                  x => contextMenuItemStructureMoveToBottom.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            menu.Closing += Menu_Closing;
        }
Exemple #6
0
        private void DatabaseSchemaTree_OnValidateItemContextMenu(object sender, MetadataStructureItemMenuEventArgs e)
        {
            _contextMenuSubscriptions = new CompositeDisposable();

            var menu = e.Menu;

            menu.ClearItems();

            if (OpenContainerLoadFormIfNotConnected &&
                (_sqlContext.MetadataProvider == null || !_sqlContext.MetadataProvider.Connected))
            {
                var contextMenuItemSchemaConnectAndLoad = (MenuItem)menu.AddItem("", null, false, false, null, null);

                _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaConnectAndLoad,
                                                      _controller.ConnectAndLoadCommand,
                                                      ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.ConnectAndLoadChilds,
                                                      x => contextMenuItemSchemaConnectAndLoad.IsEnabled = x));
            }

            if (!(OpenContainerLoadFormIfNotConnected &&
                  (_sqlContext.MetadataProvider == null || !_sqlContext.MetadataProvider.Connected)))
            {
                var contextMenuItemSchemaLoadChildDatabase =
                    (MenuItem)menu.AddItem("", null, false, false, null, null);

                _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaLoadChildDatabase,
                                                      _controller.LoadSchemaChildsCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.LoadChildItems,
                                                      x => contextMenuItemSchemaLoadChildDatabase.IsEnabled = x));
            }

            var contextMenuItemSchemaDelete = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaDelete, _controller.DeleteMetadataItemCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.DeleteMetadataItem,
                                                  x => contextMenuItemSchemaDelete.IsEnabled = x));

            var contextMenuItemSchemaClearChild = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaClearChild, _controller.ClearSchemaCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.ClearChildItems,
                                                  x => contextMenuItemSchemaClearChild.IsEnabled = x));

            menu.AddSeparator();

            var contextMenuItemSchemaAddLinkedServer = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddLinkedServer,
                                                  _controller.AddLinkedServerCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddServer,
                                                  x => contextMenuItemSchemaAddLinkedServer.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddDatabase = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddDatabase, _controller.AddDatabaseCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddDatabase,
                                                  x => contextMenuItemSchemaAddDatabase.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddSchema = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddSchema, _controller.AddSchemaCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddSchema,
                                                  x => contextMenuItemSchemaAddSchema.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddPackage = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddPackage, _controller.AddPackageCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddPackage,
                                                  x => contextMenuItemSchemaAddPackage.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddTable = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddTable, _controller.AddTableCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddTable,
                                                  x => contextMenuItemSchemaAddTable.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddView = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddView, _controller.AddViewCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddView,
                                                  x => contextMenuItemSchemaAddView.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddProcedure = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddProcedure, _controller.AddProcedureCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddProcedure,
                                                  x => contextMenuItemSchemaAddProcedure.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddSynonym = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddSynonym, _controller.AddSynonymCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddSynonym,
                                                  x => contextMenuItemSchemaAddSynonym.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddField = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddField, _controller.AddFieldCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddField,
                                                  x => contextMenuItemSchemaAddField.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaAddForeignKey = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaAddForeignKey, _controller.AddForeignKeyCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.AddForeignKey,
                                                  x => contextMenuItemSchemaAddForeignKey.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextSubMenuItemSchemaSort = (MenuItem)menu.AddSubMenu("");

            _subscriptions.Add(
                ActiveQueryBuilder.Core.Localization.MetadataEditor.Sort.Subscribe(x => contextSubMenuItemSchemaSort.Header = x));

            var contextSubMenuItemSchemaSortByName =
                (MenuItem)((ICustomSubMenu)contextSubMenuItemSchemaSort).AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextSubMenuItemSchemaSortByName,
                                                  _controller.SortSchemaByNameCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.SortByName,
                                                  x => contextSubMenuItemSchemaSortByName.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextSubMenuItemSchemaSortByTypeAndName =
                (MenuItem)((ICustomSubMenu)contextSubMenuItemSchemaSort).AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextSubMenuItemSchemaSortByTypeAndName,
                                                  _controller.SortSchemaByTypeCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.SortByType,
                                                  x => contextSubMenuItemSchemaSortByTypeAndName.Visibility =
                                                      x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaMoveToTop = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaMoveToTop, _controller.MoveUpSchemaCommand,
                                                  ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.MoveToTop,
                                                  x => contextMenuItemSchemaMoveToTop.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            var contextMenuItemSchemaMoveToBottom = (MenuItem)menu.AddItem("", null, false, false, null, null);

            _subscriptions.Add(CommandBinder.Bind(contextMenuItemSchemaMoveToBottom,
                                                  _controller.MoveDownSchemaCommand, ActiveQueryBuilder.View.WPF.Commands.Descriptions.MetadataEditor.MoveToBottom,
                                                  x => contextMenuItemSchemaMoveToBottom.Visibility = x ? Visibility.Visible : Visibility.Collapsed));

            _controller.UpdateContainerCommands();
            menu.Closing += Menu_Closing;
        }