/// <summary> /// Close the specified view /// </summary> /// <param name="view"></param> internal void CloseView(ResultsViewProps view) { int vi = ResultsPage.Views.IndexOf(view); if (vi < 0) { return; } UIMisc.EnteringSetup(); ResultsPage.Views.RemoveAt(vi); // get rid of the view DockPanel dp = GetContainingDockPanel(view.RenderingControl); if (dp != null) // if in a dock panel { DockManager.RemovePanel(dp); // render the corresponding panel } else { RenderViews(); // just a single view, render empty page } if (ResultsPage.ActiveViewIndex >= ResultsPage.Views.Count) { ResultsPage.ActiveViewIndex--; // normally go to next view but keep index within range } SaveLayout(); UIMisc.LeavingSetup(); return; }
/// <summary> /// Layout and render the page in the specified layout format /// </summary> /// <param name="layout"></param> internal void CreateStandardLayoutAndRenderViews( ViewLayout layout) { XtraPanel viewPanel; // panel that contains current view control and is contained in a docking panel or directly in the views panel if single view on page ResultsPage page = ResultsPage; if (page == null) { return; } List <ResultsViewProps> views = page.Views; if (views.Count == 0) // just have a single blank panel if no views { RenderEmptyPage(); return; } UIMisc.EnteringSetup(); //Visible = false; SuspendLayout(); // suspend layout while building if (layout == ViewLayout.RowsAndCols) { CreateRowsAndColsLayoutAndRenderViews(); } else // other common type view { CreateCommonLayoutAndRenderViews(layout); } DockPanel dp = DockManager.ActivePanel; // get the active dock panel associated with current view RenderViews(); ResumeLayout(); //Visible = true; SaveLayout(); FocusActiveView(); QueryResultsControl qrc = QueryResultsControl.GetQrcThatContainsControl(this); if (qrc != null) { qrc.SetCurrentPageTabTitleAndImage(); // update the page tab } UIMisc.LeavingSetup(); return; }
/// <summary> /// SetFiltersPanelVisibility /// </summary> internal void RenderFilterPanel() { if (ResultsPage == null) { return; } if (ActiveView == null || ActiveView.Qm == null || ActiveView.Qm.Query == null) { return; } UIMisc.EnteringSetup(); QueryManager qm = ActiveView.Qm; Query q = qm.Query; if (FilterPanel.Qm != qm) // setup filter panel for current QueryManager if not done yet { FilterPanel.Qm = qm; } if (ResultsPage.ShowFilterPanel) { FilterPanel.Clear(); FiltersDockPanel.Visibility = DockVisibility.Visible; FilterPanel.Render(); } else { FiltersDockPanel.Visibility = DockVisibility.Hidden; } UIMisc.LeavingSetup(); return; }