コード例 #1
0
ファイル: ScannerHelper.cs プロジェクト: yvesc/acat
        public bool CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = false;

            if (arg.Command == "CmdUndoLastEditChange")
            {
                arg.Enabled = (Context.AppAgentMgr.CurrentEditingMode == EditingMode.TextEntry && TextController.LastEditChange != TextController.LastAction.Unknown);
                arg.Handled = true;
                return(true);
            }

            if (DialogMode)
            {
                switch (arg.Command)
                {
                case "CmdTalkWindowToggle":
                case "CmdMainMenu":
                case "CmdMouseScanner":
                case "CmdContextMenu":
                case "CmdToolsMenu":
                case "CmdWindowPosSizeMenu":
                    arg.Enabled = false;
                    arg.Handled = true;
                    break;
                }
            }

            return(true);
        }
コード例 #2
0
ファイル: AbbreviationsAgent.cs プロジェクト: zezo010/acat
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = true;

            switch (arg.Command)
            {
            case "CmdPunctuationScanner":
            case "CmdNumberScanner":
                arg.Enabled = true;
                break;

            default:

                if (_abbrForm != null && !Windows.GetVisible(_abbrForm))
                {
                    arg.Handled = false;
                    return;
                }

                if (_abbrForm != null && Windows.GetVisible(_abbrForm))
                {
                    _abbrForm.CheckCommandEnabled(arg);
                }

                if (!arg.Handled)
                {
                    arg.Enabled = false;
                    arg.Handled = true;
                }
                break;
            }
        }
コード例 #3
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = true;

            switch (arg.Command)
            {
            case "CmdPunctuationScanner":
            case "CmdNumberScanner":
            case "CmdCursorScanner":
                arg.Enabled = true;
                break;

            default:
                if (EvtCommandEnabled != null)
                {
                    EvtCommandEnabled(arg);
                }

                if (!arg.Handled)
                {
                    arg.Enabled = false;
                    arg.Handled = true;
                }
                break;
            }
        }
コード例 #4
0
 /// <summary>
 /// Checks if the command should to be enabled or not. Check
 /// our supported features list.
 /// </summary>
 /// <param name="arg">widget info</param>
 public virtual void CheckCommandEnabled(CommandEnabledArg arg)
 {
     if (_supportedCommands.Contains(arg.Command))
     {
         arg.Handled = true;
         arg.Enabled = true;
     }
 }
コード例 #5
0
 /// <summary>
 /// Check to see if the widget should be enabled or not based
 /// on contextual information
 /// </summary>
 /// <param name="supportedCommands"></param>
 /// <param name="arg"></param>
 protected void checkCommandEnabled(String[] supportedCommands, CommandEnabledArg arg)
 {
     if (supportedCommands.Contains(arg.Command))
     {
         arg.Handled = true;
         arg.Enabled = true;
     }
 }
コード例 #6
0
 /// <summary>
 /// Returns whether the widget associated with a feature
 /// should be enabled or not.
 /// </summary>
 /// <param name="arg">widget info</param>
 public override void CheckCommandEnabled(CommandEnabledArg arg)
 {
     // support only if this is a navigation feature
     if (_supportedCommands.Contains(arg.Command))
     {
         arg.Handled = true;
         arg.Enabled = true;
     }
 }
コード例 #7
0
ファイル: AnimationManager.cs プロジェクト: zezo010/acat
        /// <summary>
        /// Runds the command mapped to the specified switch. Checks
        /// the command permissions if it CAN be executed.
        /// </summary>
        /// <param name="switchObj">The switch object</param>
        private void runSwitchMappedCommand(IActuatorSwitch switchObj)
        {
            bool   runCommand = true;
            String onTrigger  = switchObj.Command;

            var form = _currentPanel.UIControl;

            if (form is IScannerPanel)
            {
                var panelCommon = (form as IScannerPanel).PanelCommon;
                var arg         = new CommandEnabledArg(null, onTrigger);
                panelCommon.CheckCommandEnabled(new CommandEnabledArg(null, onTrigger));

                if (arg.Handled)
                {
                    if (!arg.Enabled)
                    {
                        Log.Debug("Command " + onTrigger + " is not currently enabled");
                        return;
                    }
                    else
                    {
                        Log.Debug("Command " + onTrigger + " IS ENABLED");
                    }
                }
                else
                {
                    Log.Debug("arg.handled is false for " + onTrigger);

                    var cmdDescriptor = CommandManager.Instance.AppCommandTable.Get(onTrigger);
                    if (cmdDescriptor != null && !cmdDescriptor.EnableSwitchMap)
                    {
                        Log.Debug("EnableswitchMap is not enabled for " + onTrigger);
                        runCommand = false;
                    }
                }
            }
            else
            {
                Log.Debug("Dialog is active. Will not handle");
                runCommand = false;
            }

            if (runCommand)
            {
                Log.Debug("Executing OnTrigger command " + onTrigger + " for panel..." + _currentPanel.Name);
                PCode pcode = new PCode {
                    Script = "run(" + onTrigger + ")"
                };
                var parser = new Parser();
                if (parser.Parse(pcode.Script, ref pcode))
                {
                    _interpreter.Execute(pcode);
                }
            }
        }
コード例 #8
0
ファイル: DialogCommon.cs プロジェクト: zezo010/acat
        /// <summary>
        /// Check to see if a command should be enabled or not.
        /// This depends on the context.   The arg parameter
        /// contains the widget/command object in question.
        /// </summary>
        /// <param name="arg">Argument</param>
        public void CheckCommandEnabled(CommandEnabledArg arg)
        {
            if (_syncLock.IsClosing())
            {
                return;
            }

            arg.Handled = true;
            arg.Enabled = false;
        }
コード例 #9
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public bool CheckCommandEnabled(CommandEnabledArg arg)
        {
            if (arg.Command == "CmdGoBack")
            {
                arg.Handled = true;
                arg.Enabled = (Parent != null || Owner != null);
                return(true);
            }

            return(_alphabetScannerCommon.CheckCommandEnabled(arg));
        }
コード例 #10
0
 /// <summary>
 /// Invoked to set the 'enabled' state of a widget.  This
 /// will depend on the current context.
 /// </summary>
 /// <param name="arg">contains info about the widget</param>
 public override void CheckCommandEnabled(CommandEnabledArg arg)
 {
     if (arg.Command == "StartMenu")
     {
         arg.Enabled = (_osVersion != Windows.WindowsVersion.Win8);
         arg.Handled = true;
     }
     else
     {
         checkCommandEnabled(_supportedCommands, arg);
     }
 }
コード例 #11
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        /// <returns>true on success</returns>
        public bool CheckCommandEnabled(CommandEnabledArg arg)
        {
            switch (arg.Command)
            {
            default:
                arg.Enabled = true;
                arg.Handled = true;
                break;
            }

            return(true);
        }
コード例 #12
0
        /// <summary>
        /// Invoked to set the 'enabled' state of a widget.  This
        /// will depend on the current context.
        /// </summary>
        /// <param name="arg">contains info about the widget</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = true;
            switch (arg.Command)
            {
            case "CmdContextMenu":
                arg.Enabled = false;
                return;

            default:
                arg.Handled = false;
                break;
            }
        }
コード例 #13
0
ファイル: PhraseSpeakScanner.cs プロジェクト: zezo010/acat
        /// <summary>
        /// Event handler to check if widget is to be enabled
        /// </summary>
        /// <param name="arg">event args</param>
        private void OnCommandEnabled(CommandEnabledArg arg)
        {
            if (!Windows.GetVisible(this))
            {
                arg.Handled = false;
                return;
            }

            arg.Handled = true;

            switch (arg.Command)
            {
            case "CmdPunctuationScanner":
            case "CmdNumberScanner":
            case "CmdCursorScanner":
                arg.Enabled = true;
                break;

            case "CmdPrevPage":
                arg.Enabled = (_pageNumber != 0);
                break;

            case "CmdNextPage":
                arg.Enabled = (_numPages != 0 && (_pageNumber + 1) != _numPages);
                break;

            case "Back":
            case "CmdDeletePrevWord":
            case "CmdPrevChar":
            case "CmdNextChar":
            case "PhraseListClearFilter":
                arg.Handled = true;
                arg.Enabled = !IsFilterEmpty();
                break;

            case "PhraseListSort":
                arg.Handled = true;
                arg.Enabled = (_phrasesList != null && _phrasesList.Any());
                break;

            case "PhraseListSearch":
                arg.Handled = true;
                arg.Enabled = (_searchButtonVisible && _phrasesList != null && _phrasesList.Any());
                break;

            default:
                arg.Handled = false;
                break;
            }
        }
コード例 #14
0
        /// <summary>
        /// Invoked to set the 'enabled' state of a widget.  This
        /// will depend on the current context.
        /// </summary>
        /// <param name="arg">contains info about the widget</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = true;
            switch (arg.Command)
            {
            case "CmdTalkWindowClear":
                arg.Enabled = textBoxControl != null && (textBoxControl.Text.Length != 0);
                break;

            default:
                arg.Handled = false;
                break;
            }
        }
コード例 #15
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public bool CheckCommandEnabled(CommandEnabledArg arg)
        {
            switch (arg.Command)
            {
            case "CmdTalkWindowClear":
                arg.Handled = true;
                arg.Enabled = TextBoxTalkWindow.Text.Length != 0;
                break;

            default:
                _alphabetScannerCommon.CheckCommandEnabled(arg);
                break;
            }

            return(true);
        }
コード例 #16
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            switch (arg.Command)
            {
            case "CmdToolsMenu":
            case "CmdMainMenu":
            case "CmdMouseScanner":
            case "CmdCursorScanner":
            case "Tab":
            case "CmdAltKey":
            case "CmdCtrlKey":
            case "CmdContextMenu":
            case "CmdPrevPage":
            case "CmdNextPage":
            case "CmdFunctionKeyScanner":
            case "CmdWindowPosSizeMenu":
            case "CmdTalkWindowToggle":
                arg.Handled = true;
                arg.Enabled = false;
                break;

            case "Back":
            case "CmdDeletePrevWord":
                arg.Handled = true;
                arg.Enabled = _newFileNameForm != null && !String.IsNullOrEmpty(_newFileNameForm.FileNameEntered);
                return;

            case "CmdEnterKey":
                arg.Handled = true;
                arg.Enabled = _newFileNameForm != null && _newFileNameForm.ValidNameSpecified();
                return;

            case "WordDoc":
                arg.Enabled = _isWordInstalled;
                arg.Handled = true;
                break;

            case "TextFile":
                arg.Enabled = true;
                arg.Handled = true;
                break;
            }

            checkCommandEnabled(_supportedCommands, arg);
        }
コード例 #17
0
        /// <summary>
        /// Invoked to set the 'enabled' state of a widget.  This
        /// will depend on the current context.
        /// </summary>
        /// <param name="arg">contains info about the widget</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            switch (arg.Command)
            {
            case "SwitchTo":
                arg.Enabled = isTopLevelWindow(outlookWindowType);
                arg.Handled = true;
                break;

            case "ApptAppointment":
                arg.Enabled = (outlookWindowType != OutlookWindowTypes.OpenAppointment);
                arg.Handled = true;
                break;

            case "ApptAttendees":
                arg.Enabled = (outlookWindowType != OutlookWindowTypes.AppointmentScheduling);
                arg.Handled = true;
                break;
            }
        }
コード例 #18
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public bool CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = true;

            switch (arg.Command)
            {
            case "CmdPrevPage":
                arg.Enabled = (_pageNumber != 0);
                break;

            case "CmdNextPage":
                arg.Enabled = (_numPages != 0 && (_pageNumber + 1) != _numPages);
                break;

            default:
                arg.Handled = false;
                break;
            }

            return(false);
        }
コード例 #19
0
ファイル: LaunchAppScanner.cs プロジェクト: zezo010/acat
        /// <summary>
        /// Sets the states of the buttons in the button bar
        /// and in the companion scanner (if any) depending
        /// on the current state.
        /// </summary>
        /// <param name="arg">widget information</param>
        /// <returns>true on success</returns>
        public bool CheckCommandEnabled(CommandEnabledArg arg)
        {
            arg.Handled = true;

            switch (arg.Command)
            {
            case "CmdPrevPage":
                arg.Enabled = (_pageNumber != 0);
                break;

            case "CmdNextPage":
                arg.Enabled = (_numPages != 0 && (_pageNumber + 1) != _numPages);
                break;

            case "Back":
            case "CmdDeletePrevWord":
            case "AppListClearFilter":
                arg.Handled = true;
                arg.Enabled = !IsFilterEmpty();
                break;

            case "AppListSort":
            case "AppListSearch":
                arg.Handled = true;
                arg.Enabled = (_appsList != null && _appsList.Any());
                break;

            case "CmdPrevChar":
            case "CmdNextChar":
                arg.Handled = true;
                arg.Enabled = true;
                break;

            default:
                arg.Handled = false;
                break;
            }

            return(false);
        }
コード例 #20
0
 /// <summary>
 /// Checks which of the widgets should be enabled depending
 /// on the context
 /// </summary>
 /// <param name="arg">widget info</param>
 /// <returns>true on success</returns>
 public bool CheckCommandEnabled(CommandEnabledArg arg)
 {
     return(_scannerHelper.CheckCommandEnabled(arg));
 }
コード例 #21
0
 /// <summary>
 /// Invoked to set the 'enabled' state of a widget.  This
 /// will depend on the current context.
 /// </summary>
 /// <param name="arg">contains info about the widget</param>
 public override void CheckCommandEnabled(CommandEnabledArg arg)
 {
     checkCommandEnabled(_supportedCommands, arg);
 }
コード例 #22
0
ファイル: MenuPanelBase.cs プロジェクト: yvesc/acat
 /// <summary>
 /// Called to check if the specified widget in arg should
 /// be enabled or not.  This function is called perfiodically
 /// because application context may change any time. Set
 /// the handled property in arg to true if this is handled.
 /// </summary>
 /// <param name="arg">argument</param>
 /// <returns>true on success</returns>
 public bool CheckCommandEnabled(CommandEnabledArg arg)
 {
     return(false);
 }
コード例 #23
0
ファイル: PhraseSpeakScanner.cs プロジェクト: zezo010/acat
 /// <summary>
 /// Invoked to check if a widget on a scanner needs to
 /// be enabled or not.  This depends on the context.
 /// We are going to handle this in the EvtCommandEnabled handler
 /// </summary>
 /// <param name="arg">Contextual information</param>
 /// <returns>true on success</returns>
 public bool CheckCommandEnabled(CommandEnabledArg arg)
 {
     OnCommandEnabled(arg);
     return(true);
 }
コード例 #24
0
        /// <summary>
        /// Invoked to check if a scanner button should be enabled.  Uses context
        /// to determine the 'enabled' state.
        /// </summary>
        /// <param name="arg">info about the scanner button</param>
        public override void CheckCommandEnabled(CommandEnabledArg arg)
        {
            if (arg.Command == "SpeakAll" || arg.Command == "SpeakNext")
            {
                if (!isMainFormActive() || !_lectureMgrForm.FileLoaded)
                {
                    return;
                }

                if (_lectureMgrForm.Mode == LectureManagerMainForm.SpeechMode.All)
                {
                    if (_lectureMgrForm.Speaking)
                    {
                        if (isContextMenuText(arg.Widget))
                        {
                            if (arg.Widget.GetText() != R.GetString("LMPause"))
                            {
                                arg.Widget.SetText(R.GetString("LMPause"));
                            }
                        }
                        else if (isContextMenuIcon(arg.Widget))
                        {
                            String text = arg.Widget.GetText();
                            if (text[0] != 0x127)
                            {
                                const string s = "\u0127";
                                arg.Widget.SetText(s);
                            }
                        }
                    }
                    else if (arg.Widget.GetText() != R.GetString("LMNext"))
                    {
                        if (isContextMenuText(arg.Widget))
                        {
                            arg.Widget.SetText(R.GetString("LMNext"));
                        }
                        else if (isContextMenuIcon(arg.Widget))
                        {
                            arg.Widget.SetText("F");
                        }
                    }

                    arg.Enabled = true;
                    arg.Handled = true;
                }
                else
                {
                    arg.Handled = true;
                    arg.Enabled = !_lectureMgrForm.Speaking;
                }

                return;
            }

            if (arg.Command.Equals("SpeakMenu", StringComparison.InvariantCultureIgnoreCase))
            {
                if (isMainFormActive())
                {
                    arg.Enabled = _lectureMgrForm.FileLoaded;
                    arg.Handled = true;
                }
            }
            else
            {
                checkCommandEnabled(_supportedCommands, arg);
            }
        }
コード例 #25
0
ファイル: VolumeSettingsAgent.cs プロジェクト: zezo010/acat
 /// <summary>
 /// Invoked to check if a scanner button should be enabled.  Uses context
 /// to determine the 'enabled' state.
 /// </summary>
 /// <param name="arg">info about the scanner button</param>
 public override void CheckCommandEnabled(CommandEnabledArg arg)
 {
     _volumeSettingsScanner.CheckCommandEnabled(arg);
 }