public override void DidSelect(NSTabView tabView, NSTabViewItem item)
        {
            base.DidSelect(tabView, item);
            var controller = item.ViewController as ColorComponentViewController;

            EditorType = controller.EditorType;
        }
        public override void WillSelect(NSTabView tabView, NSTabViewItem item)
        {
            var controller = item.ViewController as ColorComponentViewController;

            base.WillSelect(tabView, item);

            controller.ViewModel = ViewModel;
            EditorType           = controller.EditorType;
        }
        public ColorComponentViewController(IHostResourceProvider hostResources, ChannelEditorType type)
        {
            if (hostResources == null)
            {
                throw new ArgumentNullException(nameof(hostResources));
            }

            this.hostResources   = hostResources;
            PreferredContentSize = new CGSize(200, 500);
            EditorType           = type;
        }
        private string GetToolTip(ChannelEditorType editorType)
        {
            switch (editorType)
            {
            case ChannelEditorType.CMYK:
                return(Properties.Resources.CMYK);

            case ChannelEditorType.HLS:
                return(Properties.Resources.HLS);

            case ChannelEditorType.HSB:
                return(Properties.Resources.HSB);

            case ChannelEditorType.RGB:
                return(Properties.Resources.RGB);

            default:
                return(String.Empty);
            }
        }
        private ChannelGroup [] CreateEditors(IHostResourceProvider hostResources, ChannelEditorType type)
        {
            switch (type)
            {
            case ChannelEditorType.HSB:
                return(new [] {
                    CreateEditor(hostResources, new HsbHueChannelEditor()),
                    CreateEditor(hostResources, new HsbSaturationChannelEditor()),
                    CreateEditor(hostResources, new HsbBrightnessChannelEditor()),
                    CreateEditor(hostResources, new HsbAlphaChannelEditor())
                });

            case ChannelEditorType.HLS:
                return(new [] {
                    CreateEditor(hostResources, new HlsHueChannelEditor()),
                    CreateEditor(hostResources, new HlsLightnessChannelEditor()),
                    CreateEditor(hostResources, new HlsSaturationChannelEditor()),
                    CreateEditor(hostResources, new HlsAlphaChannelEditor())
                });

            case ChannelEditorType.RGB:
                return(new [] {
                    CreateEditor(hostResources, new RedChannelEditor()),
                    CreateEditor(hostResources, new GreenChannelEditor()),
                    CreateEditor(hostResources, new BlueChannelEditor()),
                    CreateEditor(hostResources, new AlphaChannelEditor())
                });

            default:
            case ChannelEditorType.CMYK:
                return(new [] {
                    CreateEditor(hostResources, new CyanChannelEditor()),
                    CreateEditor(hostResources, new MagentaChannelEditor()),
                    CreateEditor(hostResources, new YellowChannelEditor()),
                    CreateEditor(hostResources, new BlackChannelEditor()),
                    CreateEditor(hostResources, new AlphaChannelEditor())
                });
            }
        }
 public ColorComponentEditor(IHostResourceProvider hostResources, ChannelEditorType editorType)
 {
     EditorType = editorType;
     Initialize(hostResources);
 }
 public ColorComponentEditor(IHostResourceProvider hostResources, ChannelEditorType editorType, CGRect frame)
     : base(frame)
 {
     EditorType = EditorType;
     Initialize(hostResources);
 }