public override NSView GetViewForItem(iCarousel carousel, nint index, NSView view)
            {
                NSTextField label     = null;
                NSImageView imageView = null;

                if (view == null)
                {
                    // create new view if no view is available for recycling
                    imageView                = new NSImageView(new CGRect(0, 0, 200.0f, 200.0f));
                    imageView.Image          = NSImage.ImageNamed("page");
                    imageView.ImageAlignment = NSImageAlignment.Center;

                    label = new NSTextField(imageView.Bounds);
                    label.BackgroundColor = NSColor.Clear;
                    label.Alignment       = NSTextAlignment.Center;
                    label.Font            = NSFont.LabelFontOfSize(50);
                    label.Bordered        = false;
                    label.Editable        = false;
                    label.Tag             = 1;
                    imageView.AddSubview(label);
                }
                else
                {
                    // get a reference to the label in the recycled view
                    imageView = (NSImageView)view;
                    label     = (NSTextField)view.ViewWithTag(1);
                }

                // set the values of the view
                label.StringValue = items[index].ToString();

                return(imageView);
            }
Esempio n. 2
0
        public override Id InitWithFrame(NSRect aFrameRect)
        {
            this.NativePointer = this.SendMessageSuper <IntPtr>(ThisClass, "initWithFrame:", aFrameRect);

            // create the sub views and attach
            if (iImage == null)
            {
                iImage     = new NSImageView();
                iImageOver = new NSImageView();

                this.AddSubview(iImage);
                iImage.AddSubview(iImageOver);
            }

            // initialise the subviews
            NSRect frame = new NSRect(0, 0, aFrameRect.Width, aFrameRect.Height);

            iImage.InitWithFrame(frame);
            iImage.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iImage.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iImage.ImageScaling    = NSImageScaling.NSImageScaleNone;

            iImageOver.InitWithFrame(frame);
            iImageOver.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iImageOver.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iImageOver.ImageScaling    = NSImageScaling.NSImageScaleNone;

            iImageOver.AlphaValue = 0.0f;

            return(this);
        }
Esempio n. 3
0
        public void Initialise(NSView aParent)
        {
            // create background
            iBkgd = new NSImageView();
            iBkgd.InitWithFrame(aParent.Bounds);
            iBkgd.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iBkgd.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iBkgd.ImageScaling    = NSImageScaling.NSImageScaleNone;
            aParent.AddSubview(iBkgd);

            // create button
            iButton = new NSButton();
            iButton.InitWithFrame(aParent.Bounds);
            iButton.SetButtonType(NSButtonType.NSMomentaryChangeButton);
            iButton.IsBordered     = false;
            iButton.Title          = NSString.Empty;
            iButton.AlternateTitle = NSString.Empty;
            iButton.ImagePosition  = NSCellImagePosition.NSImageOnly;
            iButton.AlphaValue     = 0.0f;
            iBkgd.AddSubview(iButton);

            SetOn(false);
        }
Esempio n. 4
0
        public override Id InitWithFrame(NSRect aFrameRect)
        {
            this.NativePointer = this.SendMessageSuper <IntPtr>(ThisClass, "initWithFrame:", aFrameRect);

            NSRect wheelRect = new NSRect(0, 0, aFrameRect.Width, aFrameRect.Height);

            if (iViewBar == null)
            {
                // create subviews
                iViewBar   = new ViewRotaryBar();
                iViewBkgd  = new NSImageView();
                iViewLeft  = new NSImageView();
                iViewRight = new NSImageView();
                iViewMute  = new NSImageView();

                // create subview hierarchy
                this.AddSubview(iViewBkgd);
                iViewBkgd.AddSubview(iViewBar);
                iViewBar.AddSubview(iViewLeft);
                iViewBar.AddSubview(iViewRight);
                iViewBar.AddSubview(iViewMute);
            }

            // initialise the views
            iViewBar.InitWithFrame(wheelRect);

            iViewBkgd.InitWithFrame(wheelRect);
            iViewBkgd.Image           = Properties.Resources.ImageRocker;
            iViewBkgd.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iViewBkgd.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iViewBkgd.ImageScaling    = NSImageScaling.NSImageScaleNone;

            iViewLeft.InitWithFrame(wheelRect);
            iViewLeft.Image           = Properties.Resources.ImageRockerLeftOver;
            iViewLeft.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iViewLeft.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iViewLeft.ImageScaling    = NSImageScaling.NSImageScaleNone;

            iViewRight.InitWithFrame(wheelRect);
            iViewRight.Image           = Properties.Resources.ImageRockerRightOver;
            iViewRight.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iViewRight.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iViewRight.ImageScaling    = NSImageScaling.NSImageScaleNone;

            iViewMute.InitWithFrame(wheelRect);
            iViewMute.Image           = Properties.Resources.ImageWheelMute;
            iViewMute.ImageAlignment  = NSImageAlignment.NSImageAlignCenter;
            iViewMute.ImageFrameStyle = NSImageFrameStyle.NSImageFrameNone;
            iViewMute.ImageScaling    = NSImageScaling.NSImageScaleNone;


            // initialise state of the widget
            iEnabled   = false;
            iDimmed    = false;
            iMouseDown = EMouse.eNot;
            iMouseOver = EMouse.eNot;
            UpdateState();

            // create tracking area
            iTrackingArea = TrackerHelper.Create(this, wheelRect, true);

            return(this);
        }