예제 #1
0
파일: CmdExe.cs 프로젝트: friendgo777/EDCB
        public override SearchItem GetJumpTabItem(CtxmCode trg_code = CtxmCode.EpgView)
        {
            SearchItem retv   = null;
            var        cmdPrm = new cmdOption((s, e) => retv = mcs_GetJumpTabItem(trg_code), null, cmdExeType.SingleItem);

            GetExecute(cmdPrm)(null, null);
            return(retv);
        }
예제 #2
0
파일: CmdExe.cs 프로젝트: friendgo777/EDCB
        protected ExecutedRoutedEventHandler GetExecute(cmdOption cmdPrm)
        {
            if (cmdPrm.Exe == null)
            {
                return(null);
            }
            return(new ExecutedRoutedEventHandler((sender, e) =>
            {
                try
                {
                    IsCommandExecuted = false;

                    if (cmdPrm.ExeType == cmdExeType.SingleItem)
                    {
                        SelectSingleData();
                    }
                    if (cmdPrm.ExeType != cmdExeType.NoSetItem)
                    {
                        SetData(cmdPrm.ExeType == cmdExeType.AllItem);
                    }
                    if (cmdPrm.IsNeedClone == true)
                    {
                        CopyDataList();
                    }
                    if (cmdPrm.IsReleaseItem == true)
                    {
                        ReleaseSelectedData();
                    }

                    if (cmdPrm.Exe != null && (cmdPrm.IsNeedItem == false || this.ItemCount != 0))
                    {
                        cmdPrm.Exe(sender, e);
                        if (Settings.Instance.DisplayStatus == true && Settings.Instance.DisplayStatusNotify == true &&
                            e != null && e.Command != null)
                        {
                            StatusManager.StatusNotifySet(IsCommandExecuted, GetCmdMessage(e.Command));
                        }
                    }
                }
                catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }
                ClearData();
            }));
        }
예제 #3
0
파일: CmdExe.cs 프로젝트: nekopanda/EDCB
        public void AddReplaceCommand(ICommand icmd, ExecutedRoutedEventHandler exe, CanExecuteRoutedEventHandler canExe = null)
        {
            if (icmd == null)
            {
                return;
            }

            cmdOption cmdPrm = GetCmdParam(icmd);

            cmdPrm.Exe     = exe;
            cmdPrm.CanExe  = canExe;
            cmdPrm.ExeType = cmdExeType.Direct;

            if (cmdList.ContainsKey(icmd) == true)
            {
                cmdList[icmd] = cmdPrm;
            }
            else
            {
                cmdList.Add(icmd, cmdPrm);
            }
        }
예제 #4
0
파일: CmdExe.cs 프로젝트: nekopanda/EDCB
        public ExecutedRoutedEventHandler GetExecute(ICommand icmd)
        {
            cmdOption cmdPrm = GetCmdParam(icmd);

            return(cmdPrm.ExeType == cmdExeType.Direct ? cmdPrm.Exe : GetExecute(cmdPrm));
        }
예제 #5
0
        public void ViewChangeModeSupport()
        {
            var cmdPrm = new cmdOption((s, e) => mcs_SetBlackoutWindow(), null, cmdExeType.SingleItem, false, false);

            GetExecute(cmdPrm)(null, null);
        }