public ColorCircleSurfaceControl()
        {
            InitializeComponent();
            _guiImage.Source = GetBitmap();

            _colorCircleModel = new ColorCircleModelRectangle();

            InitializeHueButtons();
        }
Beispiel #2
0
        public IReadOnlyList <double> InitializeCurrentColorCircleModel(IColorCircleModel currentColorCircleModel, bool silentSet)
        {
            _guiColorCircleSurface.ColorCircleModel = currentColorCircleModel;

            if (!silentSet)
            {
            }

            return(_guiColorCircleSurface.HueValues);
        }
Beispiel #3
0
        private void EhColorCircleModelChanged()
        {
            var node = _availableColorCircleModels.FirstSelectedNode;

            if (null != node && (Type)node.Tag != _currentColorCircleModel.GetType())
            {
                var newColorModel = (IColorCircleModel)Activator.CreateInstance((Type)node.Tag);
                _currentColorCircleModel = newColorModel;
                _view.InitializeCurrentColorCircleModel(_currentColorCircleModel, false);
            }
        }
Beispiel #4
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();
            }
        }