示例#1
0
        public override NSTouchBarItem MakeItem(NSTouchBar touchBar, string identifier)
        {
            if (IsPopupID(identifier))
            {
                switch (ParseNestedId(identifier))
                {
                case 0:
                    return(ColorPickerDelegate.CreateColorPicker(identifier, "Apple"));

                case 1:
                    return(new NSCustomTouchBarItem(identifier)
                    {
                        View = NSButton.CreateButton("NSPopup Button", () => Console.WriteLine("Popup Button"))
                    });
                }
            }
            else
            {
                switch (ParseId(identifier))
                {
                case 0:
                {
                    NSPopoverTouchBarItem item = new NSPopoverTouchBarItem(identifier);
                    item.PopoverTouchBar = new NSTouchBar()
                    {
                        Delegate = this,
                        DefaultItemIdentifiers = new string [] { CreateNestedID(0) }
                    };
                    item.CollapsedRepresentationLabel = "Popup Color";
                    return(item);
                }

                case 1:
                {
                    NSPopoverTouchBarItem item = new NSPopoverTouchBarItem(identifier);
                    item.PopoverTouchBar = new NSTouchBar()
                    {
                        Delegate = this,
                        DefaultItemIdentifiers = new string [] { CreateNestedID(1) }
                    };
                    item.CollapsedRepresentationLabel = "Popup Text";
                    return(item);
                }
                }
            }
            return(null);
        }
示例#2
0
        public override NSTouchBarItem MakeItem(NSTouchBar touchBar, string identifier)
        {
            if (IsPopupID(identifier))
            {
                NSCustomTouchBarItem item     = new NSCustomTouchBarItem(identifier);
                NSScrubber           scrubber = new NSScrubber()
                {
                    Identifier               = identifier,
                    SelectedIndex            = 0,
                    ShowsArrowButtons        = true,
                    SelectionOverlayStyle    = NSScrubberSelectionStyle.OutlineOverlayStyle,
                    SelectionBackgroundStyle = NSScrubberSelectionStyle.RoundedBackgroundStyle,
                };

                item.View = scrubber;

                switch (ParseNestedId(identifier))
                {
                case 0: {
                    var data = new TextScrubberData();

                    scrubber.Delegate   = data;
                    scrubber.DataSource = data;

                    scrubber.RegisterClass(new Class("NSScrubberTextItemView"), "com.xamarin.scrubber.text");

                    return(item);
                }

                case 1: {
                    var data = new ImageScrubberData();

                    scrubber.Delegate   = data;
                    scrubber.DataSource = data;

                    scrubber.RegisterClass(new Class(typeof(ScrubberImage)), "com.xamarin.scrubber.image");
                    scrubber.ShowsAdditionalContentIndicators = true;

                    return(item);
                }
                }
            }
            else
            {
                switch (ParseId(identifier))
                {
                case 0: {
                    NSPopoverTouchBarItem item = new NSPopoverTouchBarItem(identifier);
                    item.PopoverTouchBar = new NSTouchBar()
                    {
                        Delegate = this,
                        DefaultItemIdentifiers = new string [] { CreateNestedID(0) }
                    };
                    item.CollapsedRepresentationLabel = "NSScrubber Text";
                    return(item);
                }

                case 1: {
                    NSPopoverTouchBarItem item = new NSPopoverTouchBarItem(identifier);
                    item.PopoverTouchBar = new NSTouchBar()
                    {
                        Delegate = this,
                        DefaultItemIdentifiers = new string [] { CreateNestedID(1) }
                    };
                    item.CollapsedRepresentationLabel = "NSScrubber Image";
                    return(item);
                }
                }
            }

            return(null);
        }