示例#1
0
 private void ResultOnColourChanged(PaletteEntryViewModel vm)
 {
     if (vm.IsNew && Value.Contains(vm.Value))
     {
         return;                          // Don't want to overwrite any existing values.
     }
     Value.MapValue(vm.Value, vm.Colour); // Doesn't matter if it's new or not, MapValue should overwrite the existing colour.
 }
示例#2
0
        private void OnAdd()
        {
            var value = Value.MaxValue + 1d;
            var vm    = new PaletteEntryViewModel(value, Colors.White);

            Value.MapValue(vm.Value, vm.Colour);
            Subscribe(vm);
            entries.Add(vm);
        }
示例#3
0
 private void ResultOnDelete(PaletteEntryViewModel paletteEntryViewModel)
 {
     if (!paletteEntryViewModel.IsNew)
     {
         Value.RemoveValue(paletteEntryViewModel.Value);
     }
     entries.Remove(paletteEntryViewModel);
     Unsubscribe(paletteEntryViewModel);
 }
示例#4
0
 public PaletteListViewModel(IConfigurableValue value)
     : base(value)
 {
     entries = new ObservableCollection <PaletteEntryViewModel>(Value.GetMap().Select(x =>
     {
         var result =
             new PaletteEntryViewModel(x.Item1,
                                       x.Item2);
         Subscribe(result);
         return(result);
     }));
 }
示例#5
0
 private void ResultOnValueChanged(PaletteEntryViewModel vm)
 {
     if (vm.IsNew || Value.Contains(vm.Value))
     {
         return;
     }
     if (vm.IsNew)
     {
         Value.MapValue(vm.Value, vm.Colour);
     }
     else
     {
         Value.RemapValue(vm.OriginalValue, vm.Value);
     }
 }
示例#6
0
 private void Unsubscribe(PaletteEntryViewModel vm)
 {
     vm.ValueChanged  -= ResultOnValueChanged;
     vm.ColourChanged -= ResultOnColourChanged;
     vm.Delete        -= ResultOnDelete;
 }