Exemple #1
0
        /// <summary>
        /// Handle custom buttons on tabbed view panel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void TabDockPanel_CustomButtonClick(object sender, ButtonEventArgs e)
        {
            DockPanel dp, pp;

            dp = sender as DockPanel;
            CustomHeaderButton chb = e.Button as CustomHeaderButton;

            if (dp == null || chb == null)
            {
                return;
            }
            string buttonName = (chb.Tag != null) ? chb.Tag.ToString() : "";

            if (buttonName == "Restore")             // convert from tabbed form back to previous form
            {
                ResultsPage.TabbedLayout = false;    // no longer in tabbed layout
                LayoutAndRenderViews();              // restore previous layout
                QueryResultsControl qrc = QueryResultsControl.GetQrcThatContainsControl(this);
                if (qrc != null)
                {
                    qrc.SetCurrentPageTabTitleAndImage();                              // update the page tab
                }
            }

            else if (buttonName == "Close")
            {
                ViewDockPanel_CustomButtonClick(dp, e);
            }

            else
            {
                return;
            }
        }
Exemple #2
0
        /// <summary>
        /// Filter type selected, may be the same or different
        /// </summary>
        /// <param name="ft"></param>

        void FilterTypeSelected(FilterType ft)
        {
            ColumnInfo ci = Qm.ResultsFormat.GetColumnInfo(ActiveQueryColumn);

            QueryResultsControl.GetQrcThatContainsControl(this).ChangeFilterType(ci, ft);

            Render();
        }
Exemple #3
0
        /// <summary>
        /// Get the QueryResultsControl associated with the view rendering control
        /// </summary>
        /// <returns></returns>

        QueryResultsControl GetQrc()
        {
            if (Qm != null && Qm.QueryResultsControl != null)
            {
                return(Qm.QueryResultsControl);
            }

            return(QueryResultsControl.GetQrcThatContainsControl(RenderingControl));
        }
Exemple #4
0
        /// <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;
        }
Exemple #5
0
        private void RemoveFilterMenuItem_Click(object sender, EventArgs e)
        {
            ActiveQueryColumn.SecondaryFilterType = FilterType.Unknown;
            ActiveQueryColumn.SecondaryCriteria   = ActiveQueryColumn.SecondaryCriteriaDisplay = "";
            if (QueryResultsControl.GetQrcThatContainsControl(this) != null)
            {
                ColumnInfo colInfo = ResultsFormat.GetColumnInfo(Qm, ActiveQueryColumn);
                QueryResultsControl.GetQrcThatContainsControl(this).UpdateFiltering(colInfo);
            }

            FilterBasicCriteriaControl.SyncBaseQuerySecondaryCriteria(ActiveQueryColumn);             // sync any base query

            Render();
        }
Exemple #6
0
/// <summary>
/// Process input
/// </summary>

        void ProcessInput()
        {
            CfSummaryView view = null;             // todo...

            QueryResultsControl qrc = QueryResultsControl.GetQrcThatContainsControl(view.RenderingControl);

            RootQm = Qrc.CrvQm;
            Query rootQuery = RootQm.Query;

            Query subQuery = BuildQuery();

            RootQm.Query.Subqueries.Add(subQuery); // add subquery to Parent
            subQuery.Parent = rootQuery;           // link subquery to parent query
            view.BaseQuery  = subQuery;            // link view to subquery
        }
Exemple #7
0
/// <summary>
/// Show the dialog and create and display the chart
/// </summary>
/// <param name="chartEx"></param>
/// <param name="tabName"></param>
/// <returns></returns>

        public static DialogResult ShowDialog(
            ResultsViewProps view,
            string tabName)
        {
            DialogResult dr;

            if (Instance == null)
            {
                Instance = new AssayResultsHeatMapDialog();
            }
            AssayResultsHeatMapDialog i = Instance;

            i.View = view as AssayResultsHeatMapView;
            i.Qrc  = QueryResultsControl.GetQrcThatContainsControl(view.RenderingControl);

            if (!view.IsDefined)             // initialize first time
            {
                i.Initializing = true;
                dr             = i.InitializeChart();
                if (dr == DialogResult.Cancel)
                {
                    return(dr);
                }
            }

            else
            {
                i.Initializing = false;
            }

            i.Qm1 = view.BaseQuery.Parent.QueryManager as QueryManager;      // root Qm
            i.Qm2 = view.BaseQuery.QueryManager as QueryManager;             // Qm for summarized data
            i.SetupForm();
            dr = i.ShowDialog(SessionManager.ActiveForm);
            return(dr);
        }
Exemple #8
0
/// <summary>
/// Add a new filter
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>

        private void AddFilterButton_Click(object sender, EventArgs e)
        {
            QueryColumn qc = null;

            FieldSelectorControl fieldSelector = new FieldSelectorControl();
            Point p = new Point(AddFilterButton.Left, AddFilterButton.Bottom);

            p = this.PointToScreen(p);

            SelectColumnOptions flags = new SelectColumnOptions();

            flags.SearchableOnly      = true;
            flags.FirstTableKeyOnly   = true;
            flags.SelectFromQueryOnly = true;
            DialogResult dr = fieldSelector.SelectColumnFromQuery(Qm.Query, null, flags, p.X, p.Y, out qc);

            if (dr != DialogResult.OK)
            {
                return;
            }

            if (qc.SecondaryFilterType != FilterType.Unknown)
            {
            }                                                                 // already have a filter
            if (qc.MetaColumn.DataType == MetaColumnType.Structure)
            {
                qc.SecondaryFilterType = FilterType.StructureSearch;
            }

            else
            {
                ColumnStatistics stats = null;
                if (Qm != null && Qm.DataTableManager != null)
                {
                    stats = Qm.DataTableManager.GetStats(qc);
                }
                if (stats != null && stats.DistinctValueList.Count <= 10)
                {
                    qc.SecondaryFilterType = FilterType.CheckBoxList;
                }
                else if (qc.MetaColumn.IsNumeric)
                {
                    qc.SecondaryFilterType = FilterType.RangeSlider;
                }
                else
                {
                    qc.SecondaryFilterType = FilterType.BasicCriteria;
                }
            }

            ActiveQueryColumn = qc;

            if (!Qm.DataTableManager.FiltersEnabled)             // be sure filters are enabled & view also
            {
                Qm.DataTableManager.FiltersEnabled = true;
                Qm.DataTableManager.ApplyFilters();
                Qm.DataTableManager.UpdateFilterState();
                QueryResultsControl.GetQrcThatContainsControl(this).UpdateFilteredViews();
            }

            Render();
        }