private void ReportViewControl_RefreshViewsToolbarEvent() { AbstractFormInput.ActionHashtable actions = UserToolbarStateManager.ReportActionsState[this.ReportViewControl.ClientReportContext.GetReportId()]; NetAction viewAcs = actions["View"] as NetAction; viewAcs.Actions.Clear(); StateButtons buttons = UserToolbarStateManager.ReportButtonState[this.ReportViewControl.ClientReportContext.GetReportId()]; StateButton viewSbs = buttons["View"]; IActionDelegate actionDelegate = new ReportActionDelegate(this.ReportViewControl); foreach (StateButton subButton in viewSbs.Buttons) { if (subButton.Key == string.Empty) { return; } NetAction subAction = new NetAction(subButton.Key, subButton.Key == "ViewStyle" ? null : actionDelegate); subAction.Text = subButton.Caption; subAction.IsEnabled = subButton.IsEnable; subAction.IsVisible = subButton.Visible; subAction.ToolTipText = subButton.ToolTip; subAction.Image = subButton.Image; subAction.SetGroup = subButton.SetGroup; subAction.Catalog = subButton.Category; subAction.Style = subButton.ButtonStyle; subAction.IsChecked = subButton.IsChecked; subAction.Tag = subButton; subButton.VisibleChanged -= new VisibleChangedHandler(StateButtonVisibleChanged); subButton.VisibleChanged += new VisibleChangedHandler(StateButtonVisibleChanged); viewAcs.Actions.Add(subAction); } }
protected void OnDeselect() { stateButton = StateButtons.Deselected; OnDeselected?.Invoke(); #if NODE_CANVAS if (useFSM && FSM) { FSM.CheckForceTransitionsAfterChangeLabel(deselectableLabel); } #endif }
protected void OnSelect() { if (selectable && selectable.interactable) { stateButton = StateButtons.Selected; OnSelected?.Invoke(); #if NODE_CANVAS if (useFSM && FSM) { FSM.CheckForceTransitionsAfterChangeLabel(selectableLabel); } #endif } }
protected void OnHighlight() { if (selectable && selectable.interactable) { stateButton = StateButtons.Highlighted; if (isFocusWhenHighlighted && selectable) { EventSystemManager.SetNewSelection(selectable.gameObject); } else { OnHighlighted?.Invoke(); } } }
/// <summary> /// 处理分组的互斥 /// </summary> /// <param name="action"></param> private void HandleGroup(IAction action) { StateButtons buttons = UserToolbarStateManager.ReportButtonState[this.ReportViewControl.ClientReportContext.GetReportId()]; StateButton groupAndCross = buttons["GroupAndCross"]; foreach (StateButton bt in groupAndCross.Buttons) { if (bt.Key == action.Id) { bt.IsChecked = true; } else { bt.IsChecked = false; } } }
/// <summary> /// 处理分组的样式的互斥 /// </summary> /// <param name="action"></param> private void HangleGroupsStyle(IAction action) { StateButtons buttons = UserToolbarStateManager.ReportButtonState[this.ReportViewControl.ClientReportContext.GetReportId()]; StateButton groupAndCross = buttons["GroupAndCross"]; foreach (StateButton bt in groupAndCross.Buttons) { if (action.Id == bt.Key) { bt.IsChecked = true; continue; } else if (bt.Key == "PlanStyle" || bt.Key == "Collapse") { bt.IsChecked = false; } } }
protected void OnClicked() { if (doubleClick) { float delta = TimeExtend.GetTime(TimeType.Unscaled) - _auxForDoubleClick; if (delta < timeForDoubleSelected) { if (selectable && selectable.interactable) { stateButton = StateButtons.Selected; OnClick?.Invoke(); } } else { _auxForDoubleClick = TimeExtend.GetTime(TimeType.Unscaled); } } else { OnClick?.Invoke(); } }
private void HandleTopCheckBoxButton(IAction action) { StateButtons buttons = UserToolbarStateManager.ReportButtonState[this.ReportViewControl.ClientReportContext.GetReportId()]; buttons[action.Id].IsChecked = action.IsChecked; }
/// <summary> /// 处理布局按钮的样式 /// </summary> /// <param name="action"></param> private void HandleLayoutStyle(IAction action) { try { StateButtons buttons = UserToolbarStateManager.ReportButtonState[this.ReportViewControl.ClientReportContext.GetReportId()]; StateButton layouts = buttons["Layouts"]; //foreach (StateButton bt in groupAndCross.Buttons) //{ //StateButton Layouts = new StateButton("Layouts", "布局", true, "布局", Properties.Resources.filterFormat, "Layouts"); //StateButton FixFilter = new StateButton("FixFilter", "显示固定条件", true, "显示固定条件", null, "Layouts"); //StateButton QuickFilter = new StateButton("QuickFilter", "显示快捷条件", true, "显示固定条件", null, "Layouts"); //StateButton line1 = new StateButton("line1", "-", true, "", null, "Layouts"); //StateButton OcxShowSchema = new StateButton("OcxShowSchema", "显示查询方案", true, "显示查询方案", null, "Layouts"); //StateButton OcxShowFilter = new StateButton("OcxShowFilter", "显示查询条件", true, "显示查询条件", null, "Layouts"); //StateButton line2 = new StateButton("line2", "-", true, "", null, "Layouts"); //StateButton LeftRightLayout = new StateButton("LeftRightLayout", "左右布局", true, "左右布局", null, "Layouts"); //StateButton TopBottomLayout = new StateButton("TopBottomLayout", "上下布局", true, "上下布局", null, "Layouts"); string reportId = this.ReportViewControl.ClientReportContext.GetReportId(); AbstractFormInput.ActionHashtable actions = UserToolbarStateManager.ReportActionsState[reportId]; NetAction layoutsbuttons = actions["Layouts"] as NetAction; IAction btnFixFilter = UserToolbarStateManager.FindActionByKey(reportId, "FixFilter"); IAction btnQuickFilter = UserToolbarStateManager.FindActionByKey(reportId, "QuickFilter"); IAction btnOcxShowSchema = UserToolbarStateManager.FindActionByKey(reportId, "OcxShowSchema"); IAction btnOcxShowFilter = UserToolbarStateManager.FindActionByKey(reportId, "OcxShowFilter"); IAction btnLeftRightLayout = UserToolbarStateManager.FindActionByKey(reportId, "LeftRightLayout"); IAction btnTopBottomLayout = UserToolbarStateManager.FindActionByKey(reportId, "TopBottomLayout"); //显示固定条件 if (action.Id == "FixFilter") { btnFixFilter.IsChecked = true; btnFixFilter.IsEnabled = true; this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.FilterFlag = FilterType.FixFilter; btnQuickFilter.IsChecked = false; btnQuickFilter.IsEnabled = true; btnOcxShowSchema.IsChecked = false; btnOcxShowSchema.IsEnabled = false; //this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.SolutionVisible = false; btnOcxShowFilter.IsChecked = false; btnOcxShowFilter.IsEnabled = false; //this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.ConditionVisible = false; btnLeftRightLayout.IsChecked = false; btnLeftRightLayout.IsEnabled = false; //this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.QuickFilterLayoutFlag = QuickFilterLayout.LeftRight; btnTopBottomLayout.IsChecked = false; btnTopBottomLayout.IsEnabled = false; } else if (action.Id == "QuickFilter") { btnQuickFilter.IsChecked = true; btnQuickFilter.IsEnabled = true; this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.FilterFlag = FilterType.QuickFilter; btnFixFilter.IsChecked = false; btnFixFilter.IsEnabled = true; btnQuickFilter.IsEnabled = true; btnOcxShowSchema.IsEnabled = true; //默认应该显示一个,现在默认显示solution //btnOcxShowSchema.IsChecked = this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.SolutionVisible; btnOcxShowSchema.IsChecked = true; btnOcxShowFilter.IsEnabled = true; btnOcxShowFilter.IsChecked = this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.ConditionVisible; btnLeftRightLayout.IsEnabled = true; btnTopBottomLayout.IsEnabled = true; if (this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.QuickFilterLayoutFlag == QuickFilterLayout.LeftRight) { btnLeftRightLayout.IsChecked = true; } else { btnTopBottomLayout.IsChecked = true; } if (this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.ConditionVisible == false && this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.SolutionVisible == false) { this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.SolutionVisible = true; } } else if (action.Id == "OcxShowSchema") { this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.SolutionVisible = action.IsChecked; } else if (action.Id == "OcxShowFilter") { this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.ConditionVisible = action.IsChecked; } else if (action.Id == "LeftRightLayout") { btnLeftRightLayout.IsChecked = true; btnTopBottomLayout.IsChecked = false; this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.QuickFilterLayoutFlag = QuickFilterLayout.LeftRight; this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.LayoutIsSetted = true; } else if (action.Id == "TopBottomLayout") { btnTopBottomLayout.IsChecked = true; btnLeftRightLayout.IsChecked = false; this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.QuickFilterLayoutFlag = QuickFilterLayout.TopBottom; this.ReportViewControl.ClientReportContext.ReportUIUserStateInfo.LayoutIsSetted = true; } this.ReportViewControl.HandlerLayout(action.Id, action.IsChecked); } catch (Exception ex) { Logger logger = Logger.GetLogger("ReportFacade"); logger.Error(ex); } }