Catrobat.IDE.WindowsPhone.Controls.MultiModeEditorCommandBar.SetMode C# (CSharp) Метод

SetMode() приватный Метод

private SetMode ( MultiModeEditorCommandBarMode newMode ) : void
newMode MultiModeEditorCommandBarMode
Результат void
        private void SetMode(MultiModeEditorCommandBarMode newMode)
        {
            switch (_currentMode)
            {
                case MultiModeEditorCommandBarMode.Normal:
                    PrimaryCommands.Remove(_newButton);
                    PrimaryCommands.Remove(_selectButton);
                    PrimaryCommands.Remove(_reorderButton);
                    PrimaryCommands.Remove(_playButton);
                    break;
                case MultiModeEditorCommandBarMode.Reorder:
                    PrimaryCommands.Remove(_finishedReorderingButton);
                    break;
                case MultiModeEditorCommandBarMode.Select:
                    PrimaryCommands.Remove(_deleteButton);
                    PrimaryCommands.Remove(_copyButton);
                    PrimaryCommands.Remove(_cancelSelectionButton);
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }
            
            switch (newMode)
            {
                case MultiModeEditorCommandBarMode.Normal:
                    PrimaryCommands.Add(_newButton);
                    PrimaryCommands.Add(_selectButton);

                    if (TargetType == AppBarTargetType.Object)
                        PrimaryCommands.Add(_reorderButton);
                    
                    PrimaryCommands.Add(_playButton);
                    _playButton.IsEnabled = true;
                    break;
                case MultiModeEditorCommandBarMode.Reorder:
                    PrimaryCommands.Add(_finishedReorderingButton);
                    _playButton.IsEnabled = false;
                    break;
                case MultiModeEditorCommandBarMode.Select:
                    PrimaryCommands.Add(_deleteButton);
                    PrimaryCommands.Add(_copyButton);
                    PrimaryCommands.Add(_cancelSelectionButton);
                    _playButton.IsEnabled = false;
                    break;
                default:
                    throw new ArgumentOutOfRangeException("newMode");
            }

            
            _currentMode = newMode;

            if (ModeChanged != null)
            {
                Mode = newMode;
                ModeChanged.Invoke(newMode);
            }  
        }