partial void dateOverrideChange(NSDatePicker sender) { if (overrideDateCheck.SelectedCell.State == NSCellStateValue.On) { // force the delegate to be called. datePickerControl.DateValue = overrideDate.DateValue; } }
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); }
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); }
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(); }
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(); }
/// <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) { }
/// <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; }
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; }
private void datePickerAction(NSDatePicker picker) { updateDateResult(); }
protected DateTime GetLocalTime(NSDatePicker view) { var tzInfo = TimeZoneInfo.Local; return(TimeZoneInfo.ConvertTimeFromUtc((DateTime)view.DateValue, tzInfo)); }
protected abstract object GetValueFrom(NSDatePicker view);
/// <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:"); }
partial void ActionDateChosen(NSDatePicker sender) { this.Update(); RecordDateChooser.DateValue = (NSDate)System.DateTime.Now; }
partial void RecordDateChosen(NSDatePicker sender) { this.Update(); }
public MvxNSDatePickerDateTargetBinding(NSDatePicker datePicker) : base(datePicker) { }
protected MvxBaseNSDatePickerTargetBinding(NSDatePicker target) : base(target) { }
/// <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; }
partial void dateOverrideChange (NSDatePicker sender) { if (overrideDateCheck.SelectedCell.State == NSCellStateValue.On) // force the delegate to be called. datePickerControl.DateValue = overrideDate.DateValue; }
private void datePickerAction (NSDatePicker picker) { updateDateResult (); }
protected abstract object GetValueFrom(NSDatePicker view);
protected override object GetValueFrom(NSDatePicker view) { return GetLocalTime(view); }
protected MvxBaseNSDatePickerTargetBinding(NSDatePicker target) : base(target) { }
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); }
partial void ActionDateChosen(NSDatePicker sender) { this.Update(); }
protected override object GetValueFrom(NSDatePicker view) { return(this.GetLocalTime(view)); }
public static string BindDate(this NSDatePicker nsDatePicker) => MvxMacPropertyBinding.NSDatePicker_Date;