public void SetCurrent(UiEncodingWindowSource source, IList <int> mainIndices, IList <int> additionalIndices)
        {
            CurrentSource            = source;
            CurrentMainIndices       = mainIndices;
            CurrentAdditionalIndices = additionalIndices;

            for (int i = mainIndices.Count; i < _mainControls.Count; i++)
            {
                _mainControls[i].Visibility = Visibility.Collapsed;
            }
            for (int i = additionalIndices.Count; i < _additionalControls.Count; i++)
            {
                _additionalControls[i].Visibility = Visibility.Collapsed;
            }

            if (CurrentSource == null)
            {
                return;
            }

            for (int i = 0; i < mainIndices.Count; i++)
            {
                _mainControls[i].Load(source, mainIndices[i]);
                _mainControls[i].Visibility = Visibility.Visible;
            }

            for (int i = 0; i < additionalIndices.Count; i++)
            {
                _additionalControls[i].Load(source, additionalIndices[i]);
                _additionalControls[i].Visibility = Visibility.Visible;
            }

            _drawEvent.NullSafeSet();
        }
 private void OnCurrentPaletteBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     _currentPalette = ((ComboBox)sender).SelectedIndex;
     _drawEvent.NullSafeSet();
 }