/// <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); }
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"); }; }