Example #1
0
        internal ContextMenu GetMenu(TreeItemArgs args)
        {
            ContextMenu rtMenu = null;

            Debug.Assert(currentMenuCreator != null);

            currentMenuCreator.X_CurItemArgs = args;
            if (args == null)
            {
                args = new TreeItemArgs()
                {
                    ItemType = TreeItemType.NotDefined,
                };
            }

            switch (args.ItemType)
            {
            case TreeItemType.Database:
                rtMenu = currentMenuCreator.CreateMenuForDataBase();
                break;

            case TreeItemType.Table:
                rtMenu = currentMenuCreator.CreateMenuForTable();
                break;

            case TreeItemType.Column:
                rtMenu = currentMenuCreator.CreateMenuForColumn();
                break;

            case TreeItemType.Index:
                rtMenu = currentMenuCreator.CreateMenuForIndex();
                break;

            case TreeItemType.ColumnParentNode:
                rtMenu = currentMenuCreator.CreateMenuForColumnParentNode();
                break;

            case TreeItemType.IndexParentNode:
                rtMenu = currentMenuCreator.CreateMenuForIndexParentNode();
                break;

            case TreeItemType.StoredProcedure:
                rtMenu = currentMenuCreator.CreateMenuForStoredProducers();
                break;

            case TreeItemType.StoredProcedureParentNode:
                rtMenu = currentMenuCreator.CreateMenuForSPParentNode();
                break;

            case TreeItemType.SystemViewNode:
                rtMenu = currentMenuCreator.CreateMenuForSViewNode();
                break;

            case TreeItemType.SystemView_SchemaNode:
                rtMenu = currentMenuCreator.CreateMenuForSV_SchemaNode();
                break;

            case TreeItemType.SystemView_Schema_ColumnNode:
                rtMenu = currentMenuCreator.CreateMenuForSV_Schema_ColumnNode();
                break;

            case TreeItemType.NotDefined:
                rtMenu = currentMenuCreator.CreateMenuForNotDefined();
                break;

            case TreeItemType.ViewParent:
                rtMenu = currentMenuCreator.CreateMenuForNotDefined();
                break;

            case TreeItemType.View:
                rtMenu = currentMenuCreator.CreateMenuForView();
                break;

            case TreeItemType.TriggersParent:
                rtMenu = currentMenuCreator.CreateMenuForNotDefined();
                break;

            case TreeItemType.Triggers:
                rtMenu = currentMenuCreator.CreateMenuForNotDefined();
                break;

            default:
                rtMenu = currentMenuCreator.CreateMenuForNotDefined();
                break;
            }

            if (rtMenu != null)
            {
                rtMenu.Tag = currentMenuCreator;
            }
            return(rtMenu);
        }