private void EhColorVariationModelChanged() { var node = _availableColorVariationModels.FirstSelectedNode; if (null != node && (Type)node.Tag != _currentColorVariationModel.GetType()) { var newColorModel = (IColorVariationModel)Activator.CreateInstance((Type)node.Tag); _currentColorVariationModel = newColorModel; _view.InitializeCurrentColorVariationModel(_currentColorVariationModel, false); UpdateColorShades(); } }
public void InitializeCurrentColorVariationModel(IColorVariationModel currentColorVariationModel, bool silentSet) { }
protected override void Initialize(bool initData) { base.Initialize(initData); if (initData) { _availableColorModels = new SelectableListNodeList(); var models = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(IColorModel)); _currentColorModel = new ColorModelRGB(); foreach (var modelType in models) { _availableColorModels.Add(new SelectableListNode(Current.Gui.GetUserFriendlyClassName(modelType), modelType, modelType == _currentColorModel.GetType())); } // Text only color models _availableTextOnlyColorModels = new SelectableListNodeList(); var textOnlyModels = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(ITextOnlyColorModel)); _currentTextOnlyColorModel = new TextOnlyColorModelRGB(); foreach (var modelType in textOnlyModels) { _availableTextOnlyColorModels.Add(new SelectableListNode(Current.Gui.GetUserFriendlyClassName(modelType), modelType, modelType == _currentTextOnlyColorModel.GetType())); } // Color circle models _availableColorCircleModels = new SelectableListNodeList(); var colorCircleModels = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(IColorCircleModel)); _currentColorCircleModel = _currentColorCircleModel ?? new ColorCircleModelComplementary(); foreach (var type in colorCircleModels) { _availableColorCircleModels.Add(new SelectableListNode(Current.Gui.GetUserFriendlyClassName(type), type, type == _currentColorCircleModel.GetType())); } // Color variation models _availableColorVariationModels = new SelectableListNodeList(); var colorVariationModels = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(IColorVariationModel)); _currentColorVariationModel = _currentColorVariationModel ?? new ColorVariationModelDesaturate(); foreach (var type in colorVariationModels) { _availableColorVariationModels.Add(new SelectableListNode(Current.Gui.GetUserFriendlyClassName(type), type, type == _currentColorVariationModel.GetType())); } } if (null != _view) { _view.InitializeAvailableColorModels(_availableColorModels); _view.InitializeAvailableTextOnlyColorModels(_availableTextOnlyColorModels); _view.InitializeColorModel(_currentColorModel, false); _view.InitializeTextOnlyColorModel(_currentTextOnlyColorModel, false); _view.InitializeAvailableColorCircleModels(_availableColorCircleModels); _hueValues = _view.InitializeCurrentColorCircleModel(_currentColorCircleModel, false); _view.InitializeAvailableColorVariationModels(_availableColorVariationModels); _view.InitializeCurrentColorVariationModel(_currentColorVariationModel, false); _view.InitializeNumberOfColorShades(_numberOfColorShades); _view.InitializeCurrentColor(_doc); UpdateColorShades(); } }