示例#1
0
        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();
            }
        }
示例#2
0
 public void InitializeCurrentColorVariationModel(IColorVariationModel currentColorVariationModel, bool silentSet)
 {
 }
示例#3
0
        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();
            }
        }