public NSScrubberItemView GetViewForItem(NSScrubber scrubber, nint index) { NSScrubberTextItemView item = new NSScrubberTextItemView(); item.TextField.StringValue = index.ToString(); return(item); }
public NSScrubberItemView GetViewForItem(NSScrubber scrubber, nint index) { ScrubberImage item = (ScrubberImage)scrubber.MakeItem("com.xamarin.scrubber.image", null); // Tining each image causes lag, so cache and do off the main thread // Using ScrubberImage instead of NSScrubberImageItemView since // it does not handle setting Image later NSImage image; if (!imageCache.TryGetValue((int)index, out image)) { var template = (NSImage)Xamargon.Copy(); Task.Factory.StartNew(() => { var tintedImage = TintImage(template); BeginInvokeOnMainThread(() => { imageCache [(int)index] = tintedImage; item.Image = tintedImage; }); }); } else { item.Image = image; } // Put a nice border around it item.Layer.BorderColor = NSColor.DarkGray.CGColor; item.Layer.BorderWidth = 2; item.Layer.CornerRadius = 8; item.Layer.MasksToBounds = true; return(item); }
public void DidSelectItem(NSScrubber scrubber, nint selectedIndex) { Console.WriteLine("Scrubber DidSelectItem - " + selectedIndex); }
public void DidBeginInteracting(NSScrubber scrubber) { Console.WriteLine("Scrubber DidBeginInteracting"); }
public nint GetNumberOfItems(NSScrubber scrubber) { return(100); }
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); }