コード例 #1
0
        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);
            }
        }
コード例 #2
0
        protected void OnDeselect()
        {
            stateButton = StateButtons.Deselected;
            OnDeselected?.Invoke();

#if NODE_CANVAS
            if (useFSM && FSM)
            {
                FSM.CheckForceTransitionsAfterChangeLabel(deselectableLabel);
            }
#endif
        }
コード例 #3
0
        protected void OnSelect()
        {
            if (selectable && selectable.interactable)
            {
                stateButton = StateButtons.Selected;
                OnSelected?.Invoke();

#if NODE_CANVAS
                if (useFSM && FSM)
                {
                    FSM.CheckForceTransitionsAfterChangeLabel(selectableLabel);
                }
#endif
            }
        }
コード例 #4
0
 protected void OnHighlight()
 {
     if (selectable && selectable.interactable)
     {
         stateButton = StateButtons.Highlighted;
         if (isFocusWhenHighlighted && selectable)
         {
             EventSystemManager.SetNewSelection(selectable.gameObject);
         }
         else
         {
             OnHighlighted?.Invoke();
         }
     }
 }
コード例 #5
0
        /// <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;
                }
            }
        }
コード例 #6
0
        /// <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;
                }
            }
        }
コード例 #7
0
 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();
     }
 }
コード例 #8
0
        private void HandleTopCheckBoxButton(IAction action)
        {
            StateButtons buttons = UserToolbarStateManager.ReportButtonState[this.ReportViewControl.ClientReportContext.GetReportId()];

            buttons[action.Id].IsChecked = action.IsChecked;
        }
コード例 #9
0
        /// <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);
            }
        }