Esempio n. 1
0
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();

            NSDateFormatter.DefaultBehavior = NSDateFormatterBehavior.Default;

            setupDatePickerControl(NSDatePickerStyle.ClockAndCalendar);

            // setup the initial NSDatePickerElementFlags since we are using picker style: NSClockAndCalendarDatePickerStyle
            NSDatePickerElementFlags flags = 0;

            flags |= NSDatePickerElementFlags.YearMonthDate;
            flags |= NSDatePickerElementFlags.YearMonthDateDay;
            flags |= NSDatePickerElementFlags.Era;
            flags |= NSDatePickerElementFlags.HourMinute;
            flags |= NSDatePickerElementFlags.HourMinuteSecond;
            flags |= NSDatePickerElementFlags.TimeZone;

            datePickerControl.DatePickerElements = flags;

            minDatePicker.DateValue = DateTime.Now;
            maxDatePicker.DateValue = NSDate.DistantFuture;

            secondsRangeEdit.EditingEnded += SecondsRangeEditingEnded;

            updateControls();
            // force update of all UI elements and the picker itself
        }
Esempio n. 2
0
        /// <summary>
        /// Updates our checkboxes to reflect the current control flags
        /// </summary>
        private void updateDateTimeElementFlags()
        {
            NSDatePickerElementFlags elementFlags = datePickerControl.DatePickerElements;

            // time elements
            if ((elementFlags & NSDatePickerElementFlags.HourMinute) != 0)
            {
                timeElementChecks.SelectCellWithTag((int)TimeElementSelections.HourMinute);
            }
            if ((elementFlags & NSDatePickerElementFlags.HourMinuteSecond) != 0)
            {
                timeElementChecks.SelectCellWithTag((int)TimeElementSelections.HourMinuteSecond);
            }
            if ((elementFlags & NSDatePickerElementFlags.TimeZone) != 0)
            {
                timeElementChecks.SelectCellWithTag((int)TimeElementSelections.TimeZone);
            }

            // date elements
            if ((elementFlags & NSDatePickerElementFlags.YearMonthDate) != 0)
            {
                dateElementChecks.SelectCellWithTag((int)DateElementSelections.YearMonth);
            }
            if ((elementFlags & NSDatePickerElementFlags.YearMonthDateDay) != 0)
            {
                dateElementChecks.SelectCellWithTag((int)DateElementSelections.YearMonthDay);
            }
            if ((elementFlags & NSDatePickerElementFlags.Era) != 0)
            {
                dateElementChecks.SelectCellWithTag((int)DateElementSelections.Era);
            }
        }
Esempio n. 3
0
        public static DatePickerStyle ToXwtValue(this NSDatePickerElementFlags flags)
        {
            switch (flags)
            {
            case NSDatePickerElementFlags.HourMinuteSecond:
                return(DatePickerStyle.Time);

            case NSDatePickerElementFlags.YearMonthDate:
            case NSDatePickerElementFlags.YearMonthDateDay:
                return(DatePickerStyle.Date);

            default:
                return(DatePickerStyle.DateTime);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// The user checked/unchecked one of the "Time Element" checkboxes
        /// </summary>
        /// <param name="sender">
        /// A <see cref="NSMatrix"/>
        /// </param>
        partial void setTimeElementFlags(NSMatrix sender)
        {
            NSDatePickerElementFlags flags = datePickerControl.DatePickerElements;

            bool checkedState = sender.SelectedCell.State == NSCellStateValue.On;

            switch ((TimeElementSelections)sender.SelectedCell.Tag)
            {
            case TimeElementSelections.HourMinute:
                if (checkedState)
                {
                    flags |= NSDatePickerElementFlags.HourMinute;
                }
                else
                {
                    flags ^= NSDatePickerElementFlags.HourMinute;
                }
                break;

            case TimeElementSelections.HourMinuteSecond:
                if (checkedState)
                {
                    flags |= NSDatePickerElementFlags.HourMinuteSecond;
                }
                else
                {
                    flags ^= NSDatePickerElementFlags.HourMinuteSecond;
                }
                break;

            case TimeElementSelections.TimeZone:
                if (checkedState)
                {
                    flags |= NSDatePickerElementFlags.TimeZone;
                }
                else
                {
                    flags ^= NSDatePickerElementFlags.TimeZone;
                }
                break;
            }

            datePickerControl.DatePickerElements = flags;

            updateControls();
        }
Esempio n. 5
0
        /// <summary>
        /// The user checked/unchecked one of the "Date Element" checkboxes.
        /// </summary>
        /// <param name="sender">
        /// A <see cref="NSMatrix"/>
        /// </param>
        partial void setDateElementFlags(NSMatrix sender)
        {
            NSDatePickerElementFlags flags = datePickerControl.DatePickerElements;

            bool checkedState = sender.SelectedCell.State == NSCellStateValue.On;

            switch ((DateElementSelections)sender.SelectedCell.Tag)
            {
            case DateElementSelections.YearMonth:
                if (checkedState)
                {
                    flags |= NSDatePickerElementFlags.YearMonthDate;
                }
                else
                {
                    flags ^= NSDatePickerElementFlags.YearMonthDate;
                }
                break;

            case DateElementSelections.YearMonthDay:
                if (checkedState)
                {
                    flags |= NSDatePickerElementFlags.YearMonthDateDay;
                }
                else
                {
                    flags ^= NSDatePickerElementFlags.YearMonthDateDay;
                }
                break;

            case DateElementSelections.Era:
                if (checkedState)
                {
                    flags |= NSDatePickerElementFlags.Era;
                }
                else
                {
                    flags ^= NSDatePickerElementFlags.Era;
                }
                break;
            }

            datePickerControl.DatePickerElements = flags;

            updateControls();
        }