Exemple #1
0
        private void CreatePerDayCheckboxes()
        {
            // Create the document view.
            var n              = FestivalDays.Count;
            var documentWidth  = View.Frame.Width - 2 * _xMargin;
            var documentHeight = n * _labelHeight + (n - 1) * _yBetweenLabels;
            var documentFrame  = new CGRect(0, 0, documentWidth, documentHeight);
            var documentView   = new NSView(documentFrame);

            // Create the scroll view.
            var scrollerHeight = _yCurr - _yControlsMargin - _controlHeight - _yBetweenControls;

            _yCurr -= scrollerHeight;
            var scrollerFrame = new CGRect(_xMargin, _yCurr, documentWidth, scrollerHeight);
            var scrollerView  = ControlsFactory.NewStandardScrollView(scrollerFrame, documentView, true);

            View.AddSubview(scrollerView);

            // Populate the document view.
            var yCurr     = documentView.Frame.Height - _labelHeight;
            var labelRect = new CGRect(0, yCurr, _labelWidth, _labelHeight);

            foreach (var day in FestivalDays)
            {
                // Create the day label.
                var label = ControlsFactory.NewStandardLabel(labelRect, true);
                label.StringValue = Screening.LongDayString(day);
                documentView.AddSubview(label);

                // Create the film fan checkboxes.
                var xCurr        = _labelWidth + _xBetweenControls;
                var daySingleton = new List <DateTime> {
                    day
                };
                CreateFilmFanCheckboxes(documentView, new CGPoint(xCurr, yCurr), daySingleton);

                // Update the vertical position.
                yCurr      -= _labelHeight + _yBetweenLabels;
                labelRect.Y = yCurr;
            }

            // Set sample view used to disable resizing.
            _sampleView = scrollerView;
        }
 private string ItemTitle(DateTime day)
 {
     return(Screening.LongDayString(day));
 }