Пример #1
0
        private static Control RestoreAnalysisServerResultsControl(ScriptAndResultsEditorControl scriptEditorControl, bool showOriginalControls)
        {
            Control displayResultsControl = null;

            foreach (Control control1 in scriptEditorControl.Controls)
            {
                if (control1 is Splitter)
                {
                    control1.Show();
                }

                foreach (Control control2 in control1.Controls)
                {
                    if (control2 is Splitter)
                    {
                        control2.Show();
                    }

                    if (control2.GetType().FullName == "Microsoft.SqlServer.Management.UI.VSIntegration.Editors.DisplayAnalysisServerResultsControl")
                    {
                        displayResultsControl = control2;

                        // These are the objects that a default MDX Query window shows: "Messages" and "Results" tab
                        foreach (var control3 in displayResultsControl.Controls.Cast <Control>().Where((c) => c is AnalysisServicesExecutionControl))
                        {
                            control3.Visible = showOriginalControls;
                        }

                        for (var i = displayResultsControl.Controls.Count - 1; i >= 0; i--)
                        {
                            var control = displayResultsControl.Controls[i];
                            if (control is ResultPresenterControl || control is CustomErrorControl)
                            {
                                displayResultsControl.Controls.RemoveAt(i);
                                control.Dispose();
                            }
                        }

                        break;
                    }

                    if (displayResultsControl != null)
                    {
                        displayResultsControl.Show();
                    }
                }
            }

            return(displayResultsControl);
        }
Пример #2
0
        public static void Create(ScriptAndResultsEditorControl scriptEditorControl)
        {
            var metadataHolder = FindParent(scriptEditorControl);

            if (metadataHolder == null)
            {
                return;
            }

            metadataHolder.Controls.Add(new LogoPanel()
            {
                Name = LogoPanelControlName
            });
            metadataHolder.Parent.Width = 155;
        }
Пример #3
0
        public static void SetMode(ScriptAndResultsEditorControl scriptEditorControl, PanelMode panelMode)
        {
            var metadataHolder = FindParent(scriptEditorControl);

            if (metadataHolder == null)
            {
                return;
            }

            var logoPanel = Find(metadataHolder);

            if (logoPanel != null)
            {
                logoPanel.UpdateMode(panelMode);
            }
        }
Пример #4
0
        public static void SetValues(ScriptAndResultsEditorControl scriptEditorControl, int columns, int rows)
        {
            var metadataHolder = FindParent(scriptEditorControl);

            if (metadataHolder == null)
            {
                return;
            }

            var logoPanel = Find(metadataHolder);

            if (logoPanel != null)
            {
                logoPanel.UpdateValues(columns, rows);
            }
        }
Пример #5
0
        private static Control FindParent(ScriptAndResultsEditorControl scriptEditorControl)
        {
            var analysisServerMetaDataHost = scriptEditorControl.Controls.Cast <Control>().FirstOrDefault((c) => c.Name == "AnalysisServerMetaDataHost");

            if (analysisServerMetaDataHost == null)
            {
                return(null);
            }

            var metadataHolder = analysisServerMetaDataHost.Controls.Cast <Control>().FirstOrDefault((c) => c is Panel && c.Name == "metadataHolder");

            if (metadataHolder != null)
            {
                return(metadataHolder);
            }

            return(null);
        }