示例#1
0
        /// <summary>
        /// Gets the current filter from all the inputs on the filter panel
        /// </summary>
        /// <returns>The current filter from all the inputs on the filter panel</returns>
        public string GetCurrentFilter(bool AIsCollapsed,
                                       TUcoFilterAndFind.FilterContext AKeepFilterOnButtonDepressedContext,
                                       TUcoFilterAndFind.FilterContext AFilterAlwaysOnLabelContext)
        {
            // Start with the base filter
            string filter = FBaseFilter;

            bool bIgnoreStandardFilter = (AIsCollapsed &&
                                          (AKeepFilterOnButtonDepressedContext == TUcoFilterAndFind.FilterContext.None ||
                                           AKeepFilterOnButtonDepressedContext == TUcoFilterAndFind.FilterContext.ExtraFilterOnly) /*
                                                                                                                                    * && (AFilterAlwaysOnLabelContext == TUcoFilterAndFind.FilterContext.None
                                                                                                                                    || AFilterAlwaysOnLabelContext == TUcoFilterAndFind.FilterContext.ExtraFilterOnly)*/);
            string stdFilter = (bIgnoreStandardFilter) ? String.Empty : GetCurrentFilter(FStandardFilterPanels);

            bool bIgnoreExtraFilter = (AIsCollapsed &&
                                       (AKeepFilterOnButtonDepressedContext == TUcoFilterAndFind.FilterContext.None ||
                                        AKeepFilterOnButtonDepressedContext == TUcoFilterAndFind.FilterContext.StandardFilterOnly) &&
                                       (AFilterAlwaysOnLabelContext == TUcoFilterAndFind.FilterContext.None ||
                                        AFilterAlwaysOnLabelContext == TUcoFilterAndFind.FilterContext.StandardFilterOnly));
            string extFilter = (bIgnoreExtraFilter) ? String.Empty : GetCurrentFilter(FExtraFilterPanels);

            if ((filter.Length > 0) && (stdFilter.Length > 0))
            {
                filter += " AND ";
            }

            filter += stdFilter;

            if ((filter.Length > 0) && (extFilter.Length > 0))
            {
                filter += " AND ";
            }

            filter += extFilter;
            return(filter);
        }
 /// <summary>
 /// Switches the 'Keep Filter Turned On' Button to the 'on'/'depressed' state.
 /// </summary>
 /// <param name="AFilterContext">Filter Context in which to switch the Button on.</param>
 public void SwitchOnKeepFilterTurnedOn(TUcoFilterAndFind.FilterContext AFilterContext)
 {
     FucoFilterAndFind.SwitchOnKeepFilterTurnedOn(AFilterContext);
 }
示例#3
0
        void TestFullConstructor(object sender, EventArgs e)
        {
            TUcoFilterAndFind FilterAndFind;

            List <Panel> FilterControls      = new List <Panel>();
            List <Panel> ExtraFilterControls = new List <Panel>();
            List <Panel> FindControls        = new List <Panel>();

            bool ShowExtraFilter               = rbtTwoFilterPanels.Checked;
            bool ApplyFilterButtonStd          = btnApplyFilterButtonStd.Checked;
            bool ApplyFilterButtonExtra        = btnApplyFilterButtonExtra.Checked;
            bool KeepFilterTurnedOnButtonStd   = btnKeepFilterTurnedOnButtonStd.Checked;
            bool KeepFilterTurnedOnButtonExtra = btnKeepFilterTurnedOnButtonExtra.Checked;
            bool FilterIsAlwaysOnLabelStd      = btnFilterIsAlwaysOnLabelStd.Checked;
            bool FilterIsAlwaysOnLabelExtra    = btnFilterIsAlwaysOnLabelExtra.Checked;

            TUcoFilterAndFind.FilterContext ApplyFilterButtonContext            = TUcoFilterAndFind.FilterContext.None;
            TUcoFilterAndFind.FilterContext ShowKeepFilterTurnedOnButtonContext = TUcoFilterAndFind.FilterContext.None;
            TUcoFilterAndFind.FilterContext ShowFilterIsAlwaysOnLabelContext    = TUcoFilterAndFind.FilterContext.None;


            // Build Control Lists

            #region Panel Instances

            if (chkCurrencyCodeStd.Checked)
            {
                FilterControls.Add(pnlCurrencyCode);
            }

            if (chkCurrencyCodeExtra.Checked)
            {
                ExtraFilterControls.Add(pnlCurrencyCode);
            }

            if (chkCurrencyCodeFind.Checked)
            {
                FindControls.Add(pnlCurrencyCode);
            }

            if (chkCurrencyNameStd.Checked)
            {
                FilterControls.Add(pnlCurrencyName);
            }

            if (chkCurrencyNameExtra.Checked)
            {
                ExtraFilterControls.Add(pnlCurrencyName);
            }

            if (chkCurrencyNameFind.Checked)
            {
                FindControls.Add(pnlCurrencyName);
            }

            if (chkYearStd.Checked)
            {
                FilterControls.Add(pnlYear);
            }

            if (chkYearExtra.Checked)
            {
                ExtraFilterControls.Add(pnlYear);
            }

            if (chkYearFind.Checked)
            {
                FindControls.Add(pnlYear);
            }

            if (btnApplyFilterButtonStd.Checked)
            {
                if (rbtTwoFilterPanels.Checked)
                {
                    if (btnApplyFilterButtonExtra.Checked)
                    {
                        ApplyFilterButtonContext = TUcoFilterAndFind.FilterContext.StandardAndExtraFilter;
                    }
                    else
                    {
                        ApplyFilterButtonContext = TUcoFilterAndFind.FilterContext.StandardFilterOnly;
                    }
                }
                else
                {
                    ApplyFilterButtonContext = TUcoFilterAndFind.FilterContext.StandardFilterOnly;
                }
            }
            else
            {
                if (rbtTwoFilterPanels.Checked)
                {
                    if (btnApplyFilterButtonExtra.Checked)
                    {
                        ApplyFilterButtonContext = TUcoFilterAndFind.FilterContext.ExtraFilterOnly;
                    }
                }
            }

            if (btnKeepFilterTurnedOnButtonStd.Checked)
            {
                if (rbtTwoFilterPanels.Checked)
                {
                    if (btnKeepFilterTurnedOnButtonExtra.Checked)
                    {
                        ShowKeepFilterTurnedOnButtonContext = TUcoFilterAndFind.FilterContext.StandardAndExtraFilter;
                    }
                    else
                    {
                        ShowKeepFilterTurnedOnButtonContext = TUcoFilterAndFind.FilterContext.StandardFilterOnly;
                    }
                }
                else
                {
                    ShowKeepFilterTurnedOnButtonContext = TUcoFilterAndFind.FilterContext.StandardFilterOnly;
                }
            }
            else
            {
                if (rbtTwoFilterPanels.Checked)
                {
                    if (btnKeepFilterTurnedOnButtonExtra.Checked)
                    {
                        ShowKeepFilterTurnedOnButtonContext = TUcoFilterAndFind.FilterContext.ExtraFilterOnly;
                    }
                }
            }

            if (btnFilterIsAlwaysOnLabelStd.Checked)
            {
                if (rbtTwoFilterPanels.Checked)
                {
                    if (btnFilterIsAlwaysOnLabelExtra.Checked)
                    {
                        ShowFilterIsAlwaysOnLabelContext = TUcoFilterAndFind.FilterContext.StandardAndExtraFilter;
                    }
                    else
                    {
                        ShowFilterIsAlwaysOnLabelContext = TUcoFilterAndFind.FilterContext.StandardFilterOnly;
                    }
                }
                else
                {
                    ShowFilterIsAlwaysOnLabelContext = TUcoFilterAndFind.FilterContext.StandardFilterOnly;
                }
            }
            else
            {
                if (rbtTwoFilterPanels.Checked)
                {
                    if (btnFilterIsAlwaysOnLabelExtra.Checked)
                    {
                        ShowFilterIsAlwaysOnLabelContext = TUcoFilterAndFind.FilterContext.ExtraFilterOnly;
                    }
                }
            }

            #endregion


            #region Control Instances

            if (chkDynamicCtrl1Std.Checked)
            {
                FilterControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(lblDynCtrl1, txtDynCtrl1));
            }

            if (chkDynamicCtrl1Extra.Checked)
            {
                ExtraFilterControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(lblDynCtrl1, txtDynCtrl1));
            }

            if (chkDynamicCtrl1Find.Checked)
            {
                FindControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(lblDynCtrl1, txtDynCtrl1));;
            }

            if (chkDynamicCtrl2Std.Checked)
            {
                FilterControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(txtLblDynCtrl2.Text, chkDynCtrl2));
            }

            if (chkDynamicCtrl2Extra.Checked)
            {
                ExtraFilterControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(txtLblDynCtrl2.Text, chkDynCtrl2));
            }

            if (chkDynamicCtrl2Find.Checked)
            {
                FindControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(txtLblDynCtrl2.Text, chkDynCtrl2));
            }

            if (chkDynamicCtrl3Std.Checked)
            {
                FilterControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(lblDynCtrl3.Text, cmbDynCtrl3));
            }

            if (chkDynamicCtrl3Extra.Checked)
            {
                ExtraFilterControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(lblDynCtrl3.Text, cmbDynCtrl3));
            }

            if (chkDynamicCtrl3Find.Checked)
            {
                FindControls.Add(TUcoFilterAndFind.ArgumentPanelHelper.CreateArgumentPanel(lblDynCtrl3.Text, cmbDynCtrl3));
            }

            #endregion

            FilterAndFind = new TUcoFilterAndFind(FilterControls, ExtraFilterControls, FindControls,
                                                  ApplyFilterButtonContext, ShowKeepFilterTurnedOnButtonContext, ShowFilterIsAlwaysOnLabelContext,
                                                  System.Int32.Parse(txtControlWidth.Text));

            this.Controls.Remove(FUcoFilterAndFind);
            FUcoFilterAndFind      = FilterAndFind;
            FUcoFilterAndFind.Dock = System.Windows.Forms.DockStyle.Left;

            this.Controls.Add(FilterAndFind);

            FUcoFilterAndFind.Expanded += delegate(object UcoEventSender, EventArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "Expanded");
            };
            FUcoFilterAndFind.Collapsed += delegate(object UcoEventSender, EventArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "Collapsed");
            };
            FUcoFilterAndFind.FindTabDisplayed += delegate(object UcoEventSender, EventArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "FindTabDisplayed");
            };
            FUcoFilterAndFind.ApplyFilterClicked += delegate(object UcoEventSender, TUcoFilterAndFind.TContextEventExtControlArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "ApplyFilterClicked");
            };
            FUcoFilterAndFind.KeepFilterTurnedOnClicked +=
                delegate(object UcoEventSender, TUcoFilterAndFind.TContextEventExtButtonDepressedArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "KeepFilterTurnedOnClicked");
            };
            FUcoFilterAndFind.FindNextClicked +=
                delegate(object UcoEventSender, TUcoFilterAndFind.TContextEventExtSearchDirectionArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "FindNextClicked");
            };
            FUcoFilterAndFind.ClearArgumentCtrlButtonClicked +=
                delegate(object UcoEventSender, TUcoFilterAndFind.TContextEventExtControlArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "ClearArgumentCtrlButtonClicked");
            };
            FUcoFilterAndFind.TabSwitched += delegate(object UcoEventSender, TUcoFilterAndFind.TContextEventArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "TabSwitched");
            };
            FUcoFilterAndFind.ArgumentCtrlValueChanged +=
                delegate(object UcoEventSender, TUcoFilterAndFind.TContextEventExtControlValueArgs UcoEventArgs) {
                MultiEventHandler(UcoEventSender, UcoEventArgs, "ArgumentCtrlValueChanged");
            };
        }