Ejemplo n.º 1
0
 partial void dateOverrideChange(NSDatePicker sender)
 {
     if (overrideDateCheck.SelectedCell.State == NSCellStateValue.On)
     {
         // force the delegate to be called.
         datePickerControl.DateValue = overrideDate.DateValue;
     }
 }
Ejemplo n.º 2
0
 partial void DateFilterPicked(NSDatePicker sender)
 {
     this.EndDatePicker.DateValue = this.DateFilterDatePicker.DateValue;
     this.endDate = (DateTime)this.EndDatePicker.DateValue;
     this.StartDatePicker.DateValue = this.DateFilterDatePicker.DateValue;
     this.startDate = (DateTime)this.StartDatePicker.DateValue;
     this.RefreshTable();
 }
		protected override object GetValueFrom(NSDatePicker view)
		{
			var date = GetLocalTime (view);
			return date.TimeOfDay;

//			var components = NSCalendar.CurrentCalendar.Components(
//				NSCalendarUnit.Hour | NSCalendarUnit.Minute | NSCalendarUnit.Second, 
//				view.DateValue);
//            return new TimeSpan((int)components.Hour, (int)components.Minute, (int)components.Second);
		}
Ejemplo n.º 4
0
        protected override object GetValueFrom(NSDatePicker view)
        {
            var date = this.GetLocalTime(view);

            return(date.TimeOfDay);

            //			var components = NSCalendar.CurrentCalendar.Components(
            //				NSCalendarUnit.Hour | NSCalendarUnit.Minute | NSCalendarUnit.Second,
            //				view.DateValue);
            //            return new TimeSpan((int)components.Hour, (int)components.Minute, (int)components.Second);
        }
Ejemplo n.º 5
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            this.OnElementChanged(e);
            if (e.OldElement == null)
            {
                NoCaretField noCaretField = new NoCaretField();

                // Not for Mac
                //long num1 = 3;
                //noCaretField.BorderStyle = (UITextBorderStyle) num1;

                NoCaretField entry = noCaretField;
                entry.TextDidBeginEditing += OnStarted;
                entry.TextDidEndEditing   += OnEnded;

                picker = new NSDatePicker()
                {
                    DatePickerMode = NSDatePickerMode.Single,
                    TimeZone       = new NSTimeZone("UTC")
                };
                picker.ValidateProposedDateValue += Picker_ValidateProposedDateValue;

                // TODO: What is the intent here?

                /*
                 * NSToolbar uiToolbar1 = new NSToolbar (new CGRect ((nfloat)0, (nfloat)0, NSScreen.MainScreen.Frame.Width, (nfloat)44));
                 * uiToolbar1.BarStyle = UIBarStyle.Default;
                 * int num2 = 1;
                 * uiToolbar1.Translucent = num2 != 0;
                 * UIToolbar uiToolbar2 = uiToolbar1;
                 *
                 * var uiBarButtonItem1 = new NSStatusBarButton new UIBarButtonItem (UIBarButtonSystemItem.FlexibleSpace);
                 * // ISSUE: reference to a compiler-generated method
                 * UIBarButtonItem uiBarButtonItem2 = new UIBarButtonItem (UIBarButtonSystemItem.Done, (EventHandler)((o, a) => entry.ResignFirstResponder ()));
                 * uiToolbar2.SetItems (new UIBarButtonItem[2] {
                 *      uiBarButtonItem1,
                 *      uiBarButtonItem2
                 * }, 0 != 0);
                 * entry.InputView = (NSView)this.picker;
                 * entry.InputAccessoryView = (NSView)uiToolbar2;
                 */
                this.SetNativeControl(entry);
            }

            if (e.NewElement == null)
            {
                return;
            }
            this.UpdateDateFromModel(false);
            this.UpdateMaximumDate();
            this.UpdateMinimumDate();
        }
Ejemplo n.º 6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var label = new NSTextField(new RectangleF(10, 90, 300, 30).Upside());

            Add(label);
            var datePicker = new NSDatePicker(new RectangleF(10, 120, 300, 75).Upside());

            datePicker.DatePickerElements = NSDatePickerElementFlags.HourMinute;
            datePicker.DatePickerMode     = NSDatePickerMode.Single;
            Add(datePicker);

            var set = this.CreateBindingSet <TimeView, TimeViewModel>();

            set.Bind(datePicker).For("Time").To(vm => vm.Property);
            set.Bind(label).To("Format('{0:h\\\\:mm}', Property)");
            set.Apply();
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Create and setup a new NSDatePicker
        /// </summary>
        /// <param name="pickerStyle">
        /// A <see cref="NSDatePickerStyle"/>
        /// </param>
        private void setupDatePickerControl(NSDatePickerStyle pickerStyle)
        {
            RectangleF frame = new RectangleF(10, 10, 295, 154);

            shrinkGrowFacter = (int)frame.Size.Height - 30;

            // create the date picker control if not created already
            if (datePickerControl == null)
            {
                datePickerControl = new NSDatePicker(frame);
            }

            datePickerControl.DatePickerStyle = pickerStyle;
            // set our desired picker style
            outerBox.AddSubview(datePickerControl);

            datePickerControl.DrawsBackground = true;
            datePickerControl.Bordered        = false;
            datePickerControl.Bezeled         = true;
            datePickerControl.Enabled         = true;

            datePickerControl.TextColor       = textColorWell.Color;
            datePickerControl.BackgroundColor = backColorWell.Color;

            // always set the date/time to TODAY
            datePickerControl.DateValue = DateTime.Now;

            datePickerControl.NeedsDisplay = true;
            updateControls();
            // force update of all UI elements and the picker itself
            // synch the picker style popup with the new style change
            pickerStylePopup.SelectItemWithTag((int)pickerStyle);

            // we want to be the cell's delegate to catch date validation
            datePickerControl.WeakDelegate = this;
            // or we can set us as the delegate to its cell like so:
            // datePickerControl.Cell.WeakDelegate = this;

            // we want to respond to date/time changes
            datePickerControl.Action = new MonoMac.ObjCRuntime.Selector("datePickerAction:");
        }
        private NSView CreateValueView(DataSourceOutlineViewSourceFieldsInfo field)
        {
            NSView view = null;

            Type fieldType = field.FieldInfo.FieldType;

            if (fieldType == typeof(DateField))
            {
                view = new NSDatePicker
                {
                    DatePickerStyle    = NSDatePickerStyle.TextField,
                    DatePickerElements = NSDatePickerElementFlags.YearMonthDateDay
                };

                var dateField = view as NSDatePicker;
                dateField.ValidateProposedDateValue += (sender, e) => field.Fields[0].Value = ((DateTime)dateField.DateValue).ToLocalTime();
            }
            else
            {
                view = new EditableTextView()
                {
                    Selectable        = true,
                    Editable          = true,
                    Bordered          = false,
                    PlaceholderString = $"New {field.FieldInfo.Name}"
                };

                var textField = view as NSTextField;
                if (fieldType == typeof(NumberField))
                {
                    textField.Formatter = new NSNumberFormatter();
                }

                textField.StringValue = field.Value.ToString();

                textField.EditingEnded += (sender, e) =>
                                          field.Value = textField.StringValue;
            }

            return(view);
        }
        public DateTimeEditorControl(IHostResourceProvider hostResources)
            : base(hostResources)
        {
            this.datePicker = new NSDatePicker {
                ControlSize        = NSControlSize.Small,
                DatePickerElements = NSDatePickerElementFlags.HourMinuteSecond | NSDatePickerElementFlags.YearMonthDateDay,
                DatePickerStyle    = NSDatePickerStyle.TextFieldAndStepper,
                Font = NSFont.SystemFontOfSize(NSFont.SystemFontSizeForControlSize(NSControlSize.Small)),
                TranslatesAutoresizingMaskIntoConstraints = false
            };

            // update the value on keypress
            this.datePicker.Activated += Editor_Activated;

            AddSubview(this.datePicker);

            AddConstraints(new[] {
                NSLayoutConstraint.Create(this.datePicker, NSLayoutAttribute.CenterY, NSLayoutRelation.Equal, this, NSLayoutAttribute.CenterY, 1f, 0f),
                NSLayoutConstraint.Create(this.datePicker, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, this, NSLayoutAttribute.Leading, 1f, 0f),
                NSLayoutConstraint.Create(this.datePicker, NSLayoutAttribute.Width, NSLayoutRelation.Equal, this, NSLayoutAttribute.Width, 1f, 0),
                NSLayoutConstraint.Create(this.datePicker, NSLayoutAttribute.Height, NSLayoutRelation.Equal, this, NSLayoutAttribute.Height, 1f, -6f),
            });
        }
		public MvxNSDatePickerTimeTargetBinding(NSDatePicker datePicker)
			: base(datePicker)
		{
		}
Ejemplo n.º 11
0
 /// <summary>
 /// User wants to set the maximum date for the picker
 /// </summary>
 /// <param name="sender">
 /// A <see cref="NSDatePicker"/>
 /// </param>
 partial void setMaxDate(NSDatePicker sender)
 {
     datePickerControl.MaxDate = sender.DateValue;
 }
Ejemplo n.º 12
0
        public override void LoadView()
        {
            var view = new NSView();

            var lblTitle = new NSTextField
            {
                Editable    = false,
                Hidden      = string.IsNullOrEmpty(this.Title),
                Alignment   = NSTextAlignment.Center,
                StringValue = this.Title ?? string.Empty
            };

            var datePicker = new NSDatePicker
            {
                DatePickerStyle    = NSDatePickerStyle.ClockAndCalendar,
                DatePickerElements = this.ElementFlags,
                DateValue          = this.SelectedDateTime.ToNSDate(),
                TimeInterval       = this.MinuteInterval
            };

            if (this.Use24HourClock)
            {
                datePicker.Locale = NSLocale.FromLocaleIdentifier("NL");
            }

            if (this.MaximumDateTime != null)
            {
                datePicker.MinDate = this.MaximumDateTime.Value.ToNSDate();
            }

            if (this.MaximumDateTime != null)
            {
                datePicker.MaxDate = this.MaximumDateTime.Value.ToNSDate();
            }

            var okButton = new NSButton
            {
                Title = this.OkText
            };

            okButton.Activated += (sender, e) =>
            {
                this.SelectedDateTime = datePicker.DateValue.ToDateTime();
                this.Presentor.DismissViewController(this);
                this.Ok?.Invoke(this);
            };

            var cancelButton = new NSButton
            {
                Title = this.CancelText
            };

            cancelButton.Activated += (sender, e) =>
            {
                this.Presentor.DismissViewController(this);
                this.Cancel?.Invoke(this);
            };

            view.AggregateSubviews(lblTitle, datePicker, okButton, cancelButton);

            // Constraints
            Extensions.ActivateConstraints(
                lblTitle.TopAnchor.ConstraintEqualToAnchor(view.TopAnchor),
                lblTitle.LeadingAnchor.ConstraintEqualToAnchor(view.LeadingAnchor),
                lblTitle.TrailingAnchor.ConstraintEqualToAnchor(view.TrailingAnchor),

                datePicker.TopAnchor.ConstraintEqualToAnchor(lblTitle.BottomAnchor, 2),
                datePicker.LeadingAnchor.ConstraintEqualToAnchor(view.LeadingAnchor),
                datePicker.TrailingAnchor.ConstraintEqualToAnchor(view.TrailingAnchor),

                okButton.TopAnchor.ConstraintEqualToAnchor(datePicker.BottomAnchor, 2),
                okButton.TrailingAnchor.ConstraintEqualToAnchor(view.TrailingAnchor),
                okButton.BottomAnchor.ConstraintEqualToAnchor(view.BottomAnchor),

                cancelButton.TrailingAnchor.ConstraintEqualToAnchor(okButton.LeadingAnchor, 2),
                cancelButton.LeadingAnchor.ConstraintGreaterThanOrEqualToAnchor(view.LeadingAnchor),
                cancelButton.BottomAnchor.ConstraintEqualToAnchor(okButton.BottomAnchor)
                );

            this.View = view;
        }
Ejemplo n.º 13
0
 private void datePickerAction(NSDatePicker picker)
 {
     updateDateResult();
 }
Ejemplo n.º 14
0
        protected DateTime GetLocalTime(NSDatePicker view)
        {
            var tzInfo = TimeZoneInfo.Local;

            return(TimeZoneInfo.ConvertTimeFromUtc((DateTime)view.DateValue, tzInfo));
        }
 protected abstract object GetValueFrom(NSDatePicker view);
Ejemplo n.º 16
0
                /// <summary>
                /// Create and setup a new NSDatePicker
                /// </summary>
                /// <param name="pickerStyle">
                /// A <see cref="NSDatePickerStyle"/>
                /// </param>
                private void setupDatePickerControl (NSDatePickerStyle pickerStyle)
                {
                        
                        CGRect frame = new CGRect (10, 10, 295, 154);
                        shrinkGrowFacter = (int)frame.Size.Height - 30;
                        
                        // create the date picker control if not created already
                        if (datePickerControl == null)
                                datePickerControl = new NSDatePicker (frame);
                        
                        datePickerControl.DatePickerStyle = pickerStyle;
                        // set our desired picker style
                        outerBox.AddSubview (datePickerControl);
                        
                        datePickerControl.DrawsBackground = true;
                        datePickerControl.Bordered = false;
                        datePickerControl.Bezeled = true;
                        datePickerControl.Enabled = true;
                        
                        datePickerControl.TextColor = textColorWell.Color;
                        datePickerControl.BackgroundColor = backColorWell.Color;
                        
                        // always set the date/time to TODAY
						datePickerControl.DateValue = (NSDate)DateTime.Now;
                        
                        datePickerControl.NeedsDisplay = true;
                        updateControls ();
                        // force update of all UI elements and the picker itself
                        // synch the picker style popup with the new style change
                        pickerStylePopup.SelectItemWithTag ((int)pickerStyle);
                        
                        // we want to be the cell's delegate to catch date validation
                        datePickerControl.WeakDelegate = this;
                        // or we can set us as the delegate to its cell like so:
                        // datePickerControl.Cell.WeakDelegate = this;
                        
                        // we want to respond to date/time changes
                        datePickerControl.Action = new ObjCRuntime.Selector ("datePickerAction:");
                        
                }
Ejemplo n.º 17
0
 partial void ActionDateChosen(NSDatePicker sender)
 {
     this.Update();
     RecordDateChooser.DateValue = (NSDate)System.DateTime.Now;
 }
Ejemplo n.º 18
0
 partial void RecordDateChosen(NSDatePicker sender)
 {
     this.Update();
 }
Ejemplo n.º 19
0
 public MvxNSDatePickerDateTargetBinding(NSDatePicker datePicker)
     : base(datePicker)
 {
 }
Ejemplo n.º 20
0
 protected MvxBaseNSDatePickerTargetBinding(NSDatePicker target)
     : base(target)
 {
 }
Ejemplo n.º 21
0
 /// <summary>
 /// User wants to set the maximum date for the picker
 /// </summary>
 /// <param name="sender">
 /// A <see cref="NSDatePicker"/>
 /// </param>
 partial void setMaxDate (NSDatePicker sender)
 {
         datePickerControl.MaxDate = sender.DateValue;
 }
Ejemplo n.º 22
0
 partial void dateOverrideChange (NSDatePicker sender)
 {
         if (overrideDateCheck.SelectedCell.State == NSCellStateValue.On)
                 // force the delegate to be called.
                 datePickerControl.DateValue = overrideDate.DateValue;
 }
Ejemplo n.º 23
0
		 private void datePickerAction (NSDatePicker picker)
                {
                        updateDateResult ();
                }
Ejemplo n.º 24
0
 protected abstract object GetValueFrom(NSDatePicker view);
 protected override object GetValueFrom(NSDatePicker view)
 {
     return GetLocalTime(view);
 }
 protected MvxBaseNSDatePickerTargetBinding(NSDatePicker target)
     : base(target)
 {
 }
Ejemplo n.º 27
0
		public override void ViewDidLoad()
		{
			base.ViewDidLoad();

			var label = new NSTextField(new RectangleF(10, 90, 300, 30).Upside());
			Add(label);
			var datePicker = new NSDatePicker(new RectangleF(10, 120, 300, 75).Upside());
			datePicker.DatePickerElements = NSDatePickerElementFlags.HourMinute;
			datePicker.DatePickerMode =  NSDatePickerMode.Single;
			Add (datePicker);

			var set = this.CreateBindingSet<TimeView, TimeViewModel>();
			set.Bind(datePicker).For("Time").To(vm => vm.Property);
			set.Bind(label).To("Format('{0:h\\\\:mm}', Property)");
			set.Apply();
		}
 protected DateTime GetLocalTime(NSDatePicker view)
 {
     var tzInfo = TimeZoneInfo.Local;
     return TimeZoneInfo.ConvertTimeFromUtc((DateTime)view.DateValue, tzInfo);
 }
Ejemplo n.º 29
0
 partial void ActionDateChosen(NSDatePicker sender)
 {
     this.Update();
 }
Ejemplo n.º 30
0
 protected override object GetValueFrom(NSDatePicker view)
 {
     return(this.GetLocalTime(view));
 }
 public static string BindDate(this NSDatePicker nsDatePicker)
 => MvxMacPropertyBinding.NSDatePicker_Date;