Exemple #1
0
        public Issue2333()
        {
            var timePicker    = new TimePicker();
            var timePickerBtn = new Button {
                Text = "Click me to call .Focus on TimePicker"
            };

            timePickerBtn.Clicked += (sender, args) => {
                timePicker.Focus();
            };

            var timePickerBtn2 = new Button {
                Text = "Click me to call .Unfocus on TimePicker"
            };

            timePickerBtn2.Clicked += (sender, args) => {
                timePicker.Unfocus();
            };

            Content = new StackLayout {
                Children =
                {
                    timePickerBtn,
                    timePickerBtn2,
                    timePicker,
                }
            };
        }
        // Handle datepicker event, set the scheduled date
        void Add_Schedule(object sender, System.EventArgs e)
        {
            Selected_Schedule_Button_Id = sender.GetHashCode();
            DatePicker datePicker = scheduleDatePicker;

            if (Selected_Schedule_Button_Id == sender.GetHashCode())
            {
                IsEnabled = true;
                datePicker.Focus();
                datePicker.Unfocused += (s, date_select_event) =>
                {
                    TimePicker timePicker = scheduleTimePicker;
                    IsEnabled = true;
                    timePicker.Focus();
                    timePicker.Unfocused += (time_select_sender, time_select_event) =>
                    {
                        if (Selected_Schedule_Button_Id == ((Button)sender).GetHashCode())
                        {
                            ((Button)sender).Text = "Scheduled for: " + datePicker.Date.ToString("dd/MM/yyyy") + " " + timePicker.Time.ToString();
                            //Console.WriteLine(sender.GetHashCode());
                            MessagingCenter.Send(this, "ScheduledDateTime" + ((Button)sender).CommandParameter.ToString(),
                                                 DateTime.Parse(datePicker.Date.ToString("dd/MM/yyyy")
                                                                + " " + timePicker.Time.ToString()));
                        }
                    };
                };
            }
        }
Exemple #3
0
 public TimeCell()
 {
     this.Tapped += (s, e) =>
     {
         TimePicker.Focus();
     };
     InitializeComponent();
     BindingContext = this;
 }
        private void LabelTapped(View obj)
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                switch (Device.RuntimePlatform)
                {
                case Device.Android:
                case Device.iOS:
                    _picker.Focus();
                    break;

                default:
                    _pickerLabel.IsVisible = false;
                    _picker.IsVisible      = true;
                    _picker.Focus();
                    break;
                }
                _picker.PropertyChanged -= SelectedTime;
                _picker.PropertyChanged += SelectedTime;
            });
        }
    private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
    {
        if (IsEnabled == false)
        {
            return;
        }

        if (_timePicker.IsFocused)
        {
            _timePicker.Unfocus();
        }

        _timePicker.Focus();
    }
Exemple #6
0
        protected override void Init()
        {
            Title = "Issue 10909";

            var layout = new StackLayout();

            var instructions = new Label
            {
                Padding         = 12,
                Text            = "If pressing the buttons opens the popup of both DatePicker and TimePicker, the test has passed.",
                BackgroundColor = Color.Black,
                TextColor       = Color.White
            };

            var datePickerFocusButton = new Button
            {
                Text = "Set focus on DatePicker"
            };

            var datepicker = new DatePicker();

            var timePickerFocusButton = new Button
            {
                Text = "Set focus on TimePicker"
            };

            var timePicker = new TimePicker();

            layout.Children.Add(instructions);
            layout.Children.Add(datePickerFocusButton);
            layout.Children.Add(datepicker);
            layout.Children.Add(timePickerFocusButton);
            layout.Children.Add(timePicker);

            Content = layout;

            datePickerFocusButton.Clicked += (sender, args) =>
            {
                datepicker.Focus();
            };

            timePickerFocusButton.Clicked += (sender, args) =>
            {
                timePicker.Focus();
            };
        }
Exemple #7
0
        protected override void Init()
        {
            var timePicker = new TimePicker
            {
                AutomationId = TimePicker
            };
            var timePickerFocusButton = new Button
            {
                Text    = "Click to focus TimePicker",
                Command = new Command(() => timePicker.Focus())
            };

            Content = new StackLayout
            {
                Children =
                {
                    timePicker,
                    timePickerFocusButton
                }
            };
        }
Exemple #8
0
 /* Focus time picker */
 private void TimeDate_Clicked(object sender, EventArgs e)
 {
     TimePicker.Focus();
 }
Exemple #9
0
 private void Custom_Entry_Focused(object sender, FocusEventArgs e)
 {
     TimePicker.Focus();
 }
        protected override void Init()
        {
            var stackLayout = new StackLayout
            {
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center
            };

            // DatePicker
            var datePickerButton = new Button
            {
                Text         = "Show DatePicker",
                AutomationId = DatePickerButton
            };

            var datePicker = new DatePicker
            {
                IsVisible = false
            };

            datePickerButton.Clicked += (s, a) =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    if (datePicker.IsFocused)
                    {
                        datePicker.Unfocus();
                    }

                    datePicker.Focus();
                });
            };

            // TimePicker
            var timePickerButton = new Button
            {
                Text         = "Show TimePicker",
                AutomationId = TimePickerButton
            };

            var timePicker = new TimePicker
            {
                IsVisible = false
            };

            timePickerButton.Clicked += (s, a) =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    if (timePicker.IsFocused)
                    {
                        timePicker.Unfocus();
                    }

                    timePicker.Focus();
                });
            };

            // Picker
            var pickerButton = new Button
            {
                Text         = "Show Picker",
                AutomationId = PickerButton
            };

            var picker = new Picker
            {
                IsVisible   = false,
                ItemsSource = _pickerValues
            };

            pickerButton.Clicked += (s, a) =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    if (picker.IsFocused)
                    {
                        picker.Unfocus();
                    }

                    picker.Focus();
                });
            };

            stackLayout.Children.Add(datePickerButton);
            stackLayout.Children.Add(datePicker);

            stackLayout.Children.Add(timePickerButton);
            stackLayout.Children.Add(timePicker);

            stackLayout.Children.Add(pickerButton);
            stackLayout.Children.Add(picker);

            Content = stackLayout;
        }
Exemple #11
0
        public Task <string> InputBox(INavigation navigation)
        {
            // wait in this proc, until user did his input
            var tcs = new TaskCompletionSource <string>();

            var lblTitle = new Label {
                Text = "Beggining of day", HorizontalOptions = LayoutOptions.Center, FontAttributes = FontAttributes.Bold
            };
            var lblMessage = new Label {
                Text = "Choose when to reset your daily calories."
            };
            var txtInput = new TimePicker
            {
                Time = TimeSpan.FromHours(9),
            };

            var btnOk = new Xamarin.Forms.Button
            {
                Text            = "Ok",
                WidthRequest    = 100,
                BackgroundColor = Color.FromRgb(0.8, 0.8, 0.8),
            };

            btnOk.Clicked += async(s, e) =>
            {
                // close page
                var result = txtInput.Time.ToString();
                await navigation.PopModalAsync();

                // pass result
                tcs.SetResult(result);
            };

            //var btnCancel = new Button
            //{
            //    Text = "Cancel",
            //    WidthRequest = 100,
            //    BackgroundColor = Color.FromRgb(0.8, 0.8, 0.8)
            //};
            //btnCancel.Clicked += async (s, e) =>
            //{
            //    // close page
            //    await navigation.PopModalAsync();
            //    // pass empty result
            //    tcs.SetResult(null);
            //};

            var slButtons = new StackLayout
            {
                Orientation = StackOrientation.Horizontal,
                Children    = { btnOk },
                //Children = { btnOk, btnCancel },
            };

            var layout = new StackLayout
            {
                Padding           = new Thickness(0, 40, 0, 0),
                VerticalOptions   = LayoutOptions.StartAndExpand,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                Orientation       = StackOrientation.Vertical,
                Children          = { lblTitle, lblMessage, txtInput, slButtons },
            };

            // create and show page
            var page = new ContentPage();

            page.Content = layout;
            navigation.PushModalAsync(page);
            // open keyboard
            txtInput.Focus();

            // code is waiting her, until result is passed with tcs.SetResult() in btn-Clicked
            // then proc returns the result
            return(tcs.Task);
        }
Exemple #12
0
 private void T2_Tapped(object sender, EventArgs e)
 {
     expTimePicker = new ColorTimePicker();
     expTimePicker.Focus();
 }
Exemple #13
0
        void CreateUI()
        {
            stack = new StackLayout
            {
                Orientation     = StackOrientation.Vertical,
                WidthRequest    = App.ScreenSize.Width,
                HeightRequest   = App.ScreenSize.Height - 48,
                VerticalOptions = LayoutOptions.StartAndExpand
            };

            innerStack = new StackLayout
            {
                VerticalOptions     = LayoutOptions.Start,
                HorizontalOptions   = LayoutOptions.Start,
                Orientation         = StackOrientation.Horizontal,
                MinimumWidthRequest = App.ScreenSize.Width,
                WidthRequest        = App.ScreenSize.Width,
                HeightRequest       = App.ScreenSize.Height - 48,
            };

            var topbar = new TopBar(true, "", this, 1, "back_arrow", "", innerStack, true).CreateTopBar();

            stack.HeightRequest = App.ScreenSize.Height - topbar.HeightRequest;

            var titleBar = new Label
            {
                WidthRequest            = App.ScreenSize.Width,
                HeightRequest           = 48,
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center,
                BackgroundColor         = FormsConstants.AppyLightBlue,
                TextColor = Color.White,
                Text      = Langs.Const_Button_Add_Odometer_Reading
            };

            var height = App.ScreenSize.Height - (48 * 2);
            var grid   = new Grid
            {
                WidthRequest   = App.ScreenSize.Width * .9,
                RowDefinitions = new RowDefinitionCollection
                {
                    new RowDefinition {
                        Height = height * .4
                    },
                    new RowDefinition {
                        Height = 1
                    },
                    new RowDefinition {
                        Height = GridLength.Star
                    },
                }
            };

            var addGrid = new Grid
            {
                WidthRequest      = App.ScreenSize.Width * .8,
                HeightRequest     = 48,
                BackgroundColor   = FormsConstants.AppyDarkBlue,
                ColumnDefinitions = new ColumnDefinitionCollection
                {
                    new ColumnDefinition {
                        Width = (App.ScreenSize.Width * .8) * .4
                    },
                    new ColumnDefinition {
                        Width = 1
                    },
                    new ColumnDefinition {
                        Width = GridLength.Star
                    }
                }
            };

            var enterOdo = UniversalEntry.GeneralEntryCell("", App.ScreenSize.Width * .8, Keyboard.Numeric, "XXXXX", ReturnKeyTypes.Done);

            enterOdo.SetBinding(Entry.TextProperty, new Binding("Reading"));

            addGrid.Children.Add(new Label {
                VerticalTextAlignment = TextAlignment.Center, FontSize = 16, TextColor = Color.White, FontFamily = Helper.RegFont, Text = Langs.Const_Label_Odometer
            }, 0, 0);
            addGrid.Children.Add(new BoxView {
                WidthRequest = 1, HeightRequest = 40, VerticalOptions = LayoutOptions.Center, BackgroundColor = Color.White
            }, 1, 0);
            addGrid.Children.Add(enterOdo, 2, 0);

            odoListView = new ListView
            {
                SeparatorVisibility = SeparatorVisibility.None,
                ItemsSource         = ViewModel.Readings,
                ItemTemplate        = new DataTemplate(typeof(OdoViewCell)),
                HasUnevenRows       = true
            };

            var datePicker = new DatePicker();

            datePicker.SetBinding(DatePicker.DateProperty, new Binding("DateAdded"));
            datePicker.SetBinding(DatePicker.IsVisibleProperty, new Binding("ShowDate"));
            datePicker.DateSelected += (s, e) => { ViewModel.DateAdded = e.NewDate; };
            var timePicker = new TimePicker();

            timePicker.SetBinding(TimePicker.TimeProperty, new Binding("TimeAdded"));
            timePicker.SetBinding(TimePicker.IsVisibleProperty, new Binding("ShowTime"));

            var btnDate = new Button
            {
                WidthRequest    = (App.ScreenSize.Width * .8) * .5,
                BackgroundColor = FormsConstants.AppyDarkShade,
                BorderRadius    = 6,
                Text            = Langs.Const_Label_Date,
                TextColor       = Color.White
            };

            btnDate.Clicked += delegate { datePicker.Focus(); };
            var btnTime = new Button
            {
                WidthRequest    = (App.ScreenSize.Width * .8) * .5,
                BackgroundColor = FormsConstants.AppyDarkShade,
                BorderRadius    = 6,
                Text            = Langs.Const_Button_Set_Time,
                TextColor       = Color.White
            };

            btnTime.Clicked += delegate { timePicker.Focus(); };

            var btnConfirm = new Button
            {
                WidthRequest = App.ScreenSize.Width * .8,
                BorderRadius = 8,
                TextColor    = Color.White,
                Text         = Langs.Const_Button_Add_Odometer_Reading
            };

            btnConfirm.Clicked += delegate { ViewModel.BtnAddOdometer.Execute(null); };

            grid.Children.Add(
                new StackLayout
            {
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center,
                Padding           = new Thickness(0, 8),
                Children          =
                {
                    addGrid,
                    new StackLayout
                    {
                        Orientation = StackOrientation.Horizontal,
                        Children    = { btnDate, btnTime }
                    },
                    btnConfirm
                }
            }, 0, 0);
            grid.Children.Add(new BoxView {
                HeightRequest = 1, WidthRequest = App.ScreenSize.Width, BackgroundColor = Color.White
            }, 0, 1);
            grid.Children.Add(odoListView, 0, 2);

            stack.Children.Add(grid);
            stack.Children.Add(odoListView);
            innerStack.Children.Add(stack);

            var masterStack = new StackLayout
            {
                HorizontalOptions = LayoutOptions.Start,
                VerticalOptions   = LayoutOptions.Start,
                Children          =
                {
                    new StackLayout
                    {
                        VerticalOptions   = LayoutOptions.Start,
                        HorizontalOptions = LayoutOptions.Start,
                        WidthRequest      = App.ScreenSize.Width,
                        Children          = { topbar }
                    },
                    new StackLayout
                    {
                        TranslationY = -6,
                        Children     = { titleBar    }
                    },
                    innerStack
                }
            };

            Content = masterStack;
        }
        public CreateEventPage()
        {
            NavigationPage.SetHasNavigationBar(this, false);
            masterLayout = new CustomLayout();
            masterLayout.BackgroundColor = Color.FromRgb(244, 244, 244);
            deviceSpec = DependencyService.Get<IDeviceSpec>();

			PurposeColorTitleBar mainTitleBar = new PurposeColorTitleBar(Color.FromRgb(8, 135, 224), "Purpose Color", Color.Black, "back", true);
            mainTitleBar.imageAreaTapGestureRecognizer.Tapped += imageAreaTapGestureRecognizer_Tapped;
            PurposeColorSubTitleBar subTitleBar = new PurposeColorSubTitleBar(Constants.SUB_TITLE_BG_COLOR, "Create Reminder", false, true);
            subTitleBar.BackButtonTapRecognizer.Tapped += BackButtonTapRecognizer_Tapped;

			CustomImageButton startDatePickerButton = new CustomImageButton();
			CustomImageButton startTimePickerButton = new CustomImageButton();
			CustomImageButton endDatePickerButton = new CustomImageButton();
			CustomImageButton endTimePickerButton = new CustomImageButton();


            CustomEntry title = new CustomEntry();
			title.WidthRequest = deviceSpec.ScreenWidth * 90 / 100;
			title.Placeholder = " Title";
			title.TextColor = Color.Black;
			title.BackgroundColor = Color.White;


            CustomEntry messege = new CustomEntry();
			messege.WidthRequest = deviceSpec.ScreenWidth * 90 / 100;
			messege.Placeholder = " Description";
			messege.TextColor = Color.Black;
			messege.BackgroundColor = Color.White;


			DatePicker startDatePicker = new DatePicker();
			startDatePicker.WidthRequest = 0;
			startDatePicker.HeightRequest = 0;
			startDatePicker.IsVisible = false;
			startDatePicker.DateSelected += (object sender, DateChangedEventArgs e) => 
			{
				
				startDatePickerButton.Text = startDatePicker.Date.ToString("dd/MM/yyyy");
			};

			DatePicker endDatePicker = new DatePicker();
			endDatePicker.WidthRequest = 0;
			endDatePicker.HeightRequest = 0;
			endDatePicker.IsVisible = false;
			endDatePicker.DateSelected += (object sender, DateChangedEventArgs e) => 
			{
				endDatePickerButton.Text = endDatePicker.Date.ToString("dd/MM/yyyy");
			};

			TimePicker startTimePicker = new TimePicker();
			startTimePicker.WidthRequest = 0;
			startTimePicker.HeightRequest = 0;
			startTimePicker.IsVisible = false;
			startTimePicker.PropertyChanged += (object sender, System.ComponentModel.PropertyChangedEventArgs e) => 
			{
                try
                {

                    if ("Time" == e.PropertyName)
                    {
                        //	string tie = startTimePicker.Time.ToString("hh:mm tt");
                        string amPM = (startTimePicker.Time.Hours > 12) ? "PM" : "AM";
                        startTimePickerButton.Text = startTimePicker.Time.ToString(); //startTimePicker.Time.Hours.ToString () + " : " + startTimePicker.Time.Minutes.ToString() + "  " + amPM;

                    }

                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};


			TimePicker endTimePicker = new TimePicker();
			endTimePicker.WidthRequest = 0;
			endTimePicker.HeightRequest = 0;
			endTimePicker.IsVisible = false;
			endTimePicker.PropertyChanged += (object sender, System.ComponentModel.PropertyChangedEventArgs e) => 
			{
                try
                {
                    if ("Time" == e.PropertyName)
                    {
                        string amPM = (endTimePicker.Time.Hours > 12) ? "PM" : "AM";
                        endTimePickerButton.Text = endTimePicker.Time.ToString();// endTimePicker.Time.Hours.ToString () + " : " + endTimePicker.Time.Minutes.ToString() + "  " + amPM;
                    }
                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};

            //startDatePickerButton = new CustomImageButton();
            startDatePickerButton.ImageName = Device.OnPlatform("select_box_whitebg.png", "select_box_whitebg.png", "//Assets//select_box_whitebg.png");
            startDatePickerButton.Text = "Start Date";
            startDatePickerButton.FontSize = 17;
            startDatePickerButton.FontFamily = Constants.HELVERTICA_NEUE_LT_STD;
            startDatePickerButton.TextOrientation = interfaces.TextOrientation.Left;
            startDatePickerButton.TextColor = Color.Gray;
            startDatePickerButton.WidthRequest = deviceSpec.ScreenWidth * 40 / 100;
			startDatePickerButton.Clicked += (object sender, EventArgs e) => 
			{
                try
                {
					startDatePicker.Date = DateTime.Now.AddDays(1);
                    startDatePicker.Focus();
                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};



           // startTimePickerButton = new CustomImageButton();
            startTimePickerButton.ImageName = Device.OnPlatform("select_box_whitebg.png", "select_box_whitebg.png", "//Assets//select_box_whitebg.png");
            startTimePickerButton.Text = " Start Time";
            startTimePickerButton.TextOrientation = TextOrientation.Middle;         
            startTimePickerButton.FontSize = 17;
            startTimePickerButton.FontFamily = Constants.HELVERTICA_NEUE_LT_STD;
            startTimePickerButton.TextOrientation = interfaces.TextOrientation.Left;
            startTimePickerButton.TextColor = Color.Gray;
            startTimePickerButton.WidthRequest = deviceSpec.ScreenWidth * 40 / 100;
			startTimePickerButton.Clicked += (object sender, EventArgs e) => 
			{
                try
                {
                    startTimePicker.Time = new TimeSpan(12, 00, 00);
                    startTimePicker.Focus();
                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};
		
		
		   // endDatePickerButton = new CustomImageButton();
            endDatePickerButton.ImageName = Device.OnPlatform("select_box_whitebg.png", "select_box_whitebg.png", "//Assets//select_box_whitebg.png");
			endDatePickerButton.Text = "End Date";
			endDatePickerButton.FontSize = 17;
			endDatePickerButton.FontFamily = Constants.HELVERTICA_NEUE_LT_STD;
			endDatePickerButton.TextOrientation = interfaces.TextOrientation.Left;
			endDatePickerButton.TextColor = Color.Gray;
			endDatePickerButton.WidthRequest = deviceSpec.ScreenWidth * 40 / 100;
			endDatePickerButton.Clicked += (object sender, EventArgs e) => 	
			{
                try
                {
					endDatePicker.Date = DateTime.Now.AddDays(1);
                    endDatePicker.Focus();
                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};


		   // endTimePickerButton = new CustomImageButton();
            endTimePickerButton.ImageName = Device.OnPlatform("select_box_whitebg.png", "select_box_whitebg.png", "//Assets//select_box_whitebg.png");
			endTimePickerButton.Text = " End Time";
			endTimePickerButton.FontSize = 17;
			endTimePickerButton.FontFamily = Constants.HELVERTICA_NEUE_LT_STD;
			endTimePickerButton.TextOrientation = interfaces.TextOrientation.Left;
			endTimePickerButton.TextColor = Color.Gray;
			endTimePickerButton.WidthRequest = deviceSpec.ScreenWidth * 40 / 100;
			endTimePickerButton.Clicked += (object sender, EventArgs e) => 	
			{
                try
                {
                    endTimePicker.Time = new TimeSpan(12, 00, 00);
                    endTimePicker.Focus();
                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};

			CustomImageButton reminderPickerButton = new CustomImageButton ();
			Picker reminderPicker = new Picker ();
			reminderPicker.Items.Add ("15");
			reminderPicker.Items.Add ("30");
			reminderPicker.Items.Add ("45");
			reminderPicker.Items.Add ("60");
			reminderPicker.WidthRequest = 0;
			reminderPicker.HeightRequest = 0;
			reminderPicker.SelectedIndexChanged += (object sender, EventArgs e) => 
			{
				reminderPickerButton.Text = reminderPicker.Items[reminderPicker.SelectedIndex];
			};


            reminderPickerButton.ImageName = Device.OnPlatform("select_box_whitebg.png", "select_box_whitebg.png", "//Assets//select_box_whitebg.png");
			reminderPickerButton.Text = " Reminder";
			reminderPickerButton.TextOrientation = TextOrientation.Middle;         
			reminderPickerButton.FontSize = 17;
			reminderPickerButton.FontFamily = Constants.HELVERTICA_NEUE_LT_STD;
			reminderPickerButton.TextOrientation = interfaces.TextOrientation.Left;
			reminderPickerButton.TextColor = Color.Gray;
			reminderPickerButton.WidthRequest = deviceSpec.ScreenWidth * 90 / 100;
			reminderPickerButton.Clicked += (object sender, EventArgs e) => 
			{
				reminderPicker.Focus();
			};

			Button createReminderButton = new Button ();
			createReminderButton.Text = "Create Reminder";
			createReminderButton.TextColor = Color.White;
			createReminderButton.BackgroundColor = Color.FromRgb( 30, 126, 210 );
			createReminderButton.WidthRequest = deviceSpec.ScreenWidth * 90 / 100;
			createReminderButton.Clicked += async (object sender, EventArgs e) =>
			{
                try
                {

                    App.CalPage = this;
                    if (startDatePickerButton.Text == "Start Date" || endDatePickerButton.Text == "End Date")
                    {
                        await DisplayAlert(Constants.ALERT_TITLE, "Please select start date and end date to proceed", Constants.ALERT_OK);
                        return;
                    }
                    IReminderService reminder = DependencyService.Get<IReminderService>();

                    if (Device.OS == TargetPlatform.iOS)
                    {
                        var access = await reminder.RequestAccessAsync();
                        if (!access)
                            return;
                    }

                    int reminderValue = 0;
                    if (reminderPickerButton.Text != null && reminderPickerButton.Text.Length > 0 && reminderPicker.SelectedIndex >= 0)
                    {
                        reminderValue = Convert.ToInt32(reminderPickerButton.Text);
                    }

                    DateTime startDateAndTime = new DateTime(startDatePicker.Date.Year, startDatePicker.Date.Month, startDatePicker.Date.Day, startTimePicker.Time.Hours, startTimePicker.Time.Minutes, 0);
                    DateTime endDateAndTime = new DateTime(endDatePicker.Date.Year, endDatePicker.Date.Month, endDatePicker.Date.Day, endTimePicker.Time.Hours, endTimePicker.Time.Minutes, 0);

                    // add this to app datetime fields to serve to api.
                    App.SelectedActionStartDate = startDateAndTime.ToString(); //to be converted into UTC
                    App.SelectedActionEndDate = endDateAndTime.ToString(); //to be converted into UTC
                    App.SelectedActionReminderValue = reminderValue;
                    if (!reminder.Remind(startDateAndTime, endDateAndTime, title.Text, messege.Text, reminderValue))
                    {
                        await DisplayAlert("Purpose Color", "Error in creating calendar event", Constants.ALERT_OK);
                    }
                    else
                    {
                        IProgressBar progress = DependencyService.Get<IProgressBar>();
                        progress.ShowToast("Calander event created");
                        if (Device.OS != TargetPlatform.iOS)
                        { //Navigation.PopAsync(); 
                            await Navigation.PopModalAsync();
                        }

                    }

                }
                catch (Exception ex)
                {
                    var test = ex.Message;
                }
			};

            masterLayout.AddChildToLayout(mainTitleBar, 0, 0);
            masterLayout.AddChildToLayout(subTitleBar, 0, Device.OnPlatform(9, 10, 10));

			masterLayout.AddChildToLayout(startDatePicker, 0, 0);
            masterLayout.AddChildToLayout(startTimePicker, 0, 0);
			masterLayout.AddChildToLayout(endDatePicker, 0, 0);
			masterLayout.AddChildToLayout(endTimePicker, 0, 0);
			masterLayout.AddChildToLayout(reminderPicker, 0, 0);

			masterLayout.AddChildToLayout (title, 5, 20);
			masterLayout.AddChildToLayout(messege, 5, 30);
			masterLayout.AddChildToLayout(startDatePickerButton, 5, 40);
			masterLayout.AddChildToLayout(startTimePickerButton, 55, 40);
			masterLayout.AddChildToLayout(endDatePickerButton, 5, 50);
			masterLayout.AddChildToLayout(endTimePickerButton, 55, 50);
			masterLayout.AddChildToLayout(reminderPickerButton, 5, 70);
			masterLayout.AddChildToLayout(createReminderButton, 5, 80);
            Content = masterLayout;
        }
Exemple #15
0
        public RecordPage()
        {
            this.SetBinding(ContentPage.TitleProperty, "Name");

            NavigationPage.SetHasNavigationBar(this, true);
            var nameLabel = new Label();             // no Text! localized later

            nameLabel.VerticalOptions = LayoutOptions.End;
            var nameEntry = new Entry();

            nameEntry.Margin   = 0;
            nameEntry.FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Entry));
            nameEntry.SetBinding(Entry.TextProperty, "Name");

            var decriptionLabel = new Label();             // no Text! localized later

            decriptionLabel.VerticalOptions = LayoutOptions.End;
            var descriptionEntry = new Editor();

            descriptionEntry.SetBinding(Editor.TextProperty, new Binding("Description", BindingMode.TwoWay));
            descriptionEntry.FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Entry));
            //descriptionEntry.SetBinding(Entry.TextProperty, "Description");

            var startDateLabel = new Label();             // no Text! localized later

            startDateLabel.VerticalOptions = LayoutOptions.End;
            var startDatePicker = new DatePicker();

            startDatePicker.SetBinding(DatePicker.DateProperty, "StartDate");

            var dueToDateLabel = new Label();             // no Text! localized later

            dueToDateLabel.VerticalOptions = LayoutOptions.End;
            var dueToDatePicker = new DatePicker();

            dueToDatePicker.HeightRequest = Device.GetNamedSize(NamedSize.Small, typeof(Entry));
            dueToDatePicker.SetBinding(DatePicker.DateProperty, "StartDate");

            var estimationLabel = new Label();             // no Text! localized later

            estimationLabel.VerticalOptions = LayoutOptions.End;
            var estimationEntry = new Entry();

            estimationEntry.FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Entry));
            estimationEntry.SetBinding(Switch.IsToggledProperty, "EstimationTime");

            var doneLabel = new Label();             // no Text! localized later

            doneLabel.VerticalOptions = LayoutOptions.End;
            var doneSwitch = new Switch();

            doneSwitch.SetBinding(Switch.IsToggledProperty, "IsFinished");

            var saveButton = new Button();             // no Text! localized later

            saveButton.Clicked += (sender, e) => {
                var todoItem = (Record)BindingContext;
                //App.Database.SaveItem(todoItem);
                this.Navigation.PopAsync();
            };

            var tp = new TimePicker();

            var deleteButton = new Button();             // no Text! localized later

            deleteButton.Clicked += (sender, e) => {
                dueToDatePicker.Focus();
                tp.Focus();
                //var todoItem = (Record)BindingContext;
                //App.Database.DeleteItem(todoItem.ID);
                //this.Navigation.PopAsync();
            };

            var cancelButton = new Button();             // no Text! localized later

            cancelButton.Clicked += (sender, e) => {
                this.Navigation.PopAsync();
            };

            //var speakButton = new Button(); // no Text! localized later
            //speakButton.Clicked += (sender, e) => {
            //	var todoItem = (Record)BindingContext;
            //	//DependencyService.Get<ITextToSpeech>().Speak(todoItem.Name + " " + todoItem.Notes);
            //};


            // TODO: Forms Localized text using two different methods:

            // refer to the codebehind for AppResources.resx.designer
            nameLabel.Text       = "Name";        // AppResources.NameLabel;
            decriptionLabel.Text = "Description"; // AppResources.NotesLabel;
            startDateLabel.Text  = "Start date";
            dueToDateLabel.Text  = "Due to";
            estimationLabel.Text = "Estimation (minutes)";
            doneLabel.Text       = "Done";      // AppResources.DoneLabel;

            // using ResourceManager
            saveButton.Text   = "Save";          // AppResources.SaveButton;
            deleteButton.Text = "Delete";        // L10n.Localize("DeleteButton", "Delete");
            cancelButton.Text = "Cancel";        // L10n.Localize("CancelButton", "Cancel");
            //speakButton.Text = "Speak";// L10n.Localize("SpeakButton", "Speak");

            //var stack = new StackLayout
            //{
            //	VerticalOptions = LayoutOptions.StartAndExpand,
            //	Padding = new Thickness(5),
            //	Spacing = 0,
            //	Children = {
            //		nameLabel, nameEntry,
            //		decriptionLabel, descriptionEntry,
            //		startDateLabel, startDatePicker,
            //		dueToDateLabel, dueToDatePicker,
            //		estimationLabel, estimationEntry,
            //		doneLabel, doneSwitch,
            //		saveButton, deleteButton, cancelButton, speakButton
            //	}
            //};

            //Content = new ScrollView { Content = stack };

            var grid = new Grid();

            grid.ColumnSpacing = 0;
            grid.RowSpacing    = 0;
            grid.Padding       = new Thickness(5, 0);
            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(20, GridUnitType.Absolute)
            });                                                                                                           //0
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(40, GridUnitType.Absolute)
            });                                                                                                           //1
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(20, GridUnitType.Absolute)
            });                                                                                                           //2
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(100, GridUnitType.Absolute)
            });                                                                                                            //3
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(40, GridUnitType.Absolute)
            });                                                                                                           //4
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(40, GridUnitType.Absolute)
            });                                                                                                           //5
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(40, GridUnitType.Absolute)
            });                                                                                                           //6
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(25, GridUnitType.Absolute)
            });                                                                                                           //7
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(50, GridUnitType.Absolute)
            });                                                                                                           //8

            nameEntry.BackgroundColor        = Color.LightCoral;
            descriptionEntry.BackgroundColor = Color.LightCoral;
            grid.Children.Add(nameLabel, 0, 0);
            grid.Children.Add(nameEntry, 0, 1);
            grid.Children.Add(decriptionLabel, 0, 2);
            grid.Children.Add(descriptionEntry, 0, 3);

            Grid.SetColumnSpan(nameLabel, 3);
            Grid.SetColumnSpan(nameEntry, 3);
            Grid.SetColumnSpan(decriptionLabel, 3);
            Grid.SetColumnSpan(descriptionEntry, 3);

            grid.Children.Add(startDateLabel, 0, 4);
            grid.Children.Add(startDatePicker, 2, 4);

            grid.Children.Add(dueToDateLabel, 0, 5);
            grid.Children.Add(dueToDatePicker, 2, 5);

            grid.Children.Add(estimationLabel, 0, 6);
            grid.Children.Add(estimationEntry, 2, 6);

            grid.Children.Add(doneLabel, 0, 7);
            grid.Children.Add(doneSwitch, 2, 7);

            Grid.SetColumnSpan(startDateLabel, 2);
            Grid.SetColumnSpan(dueToDateLabel, 2);
            Grid.SetColumnSpan(estimationLabel, 2);
            Grid.SetColumnSpan(doneLabel, 2);

            grid.Children.Add(saveButton, 0, 8);
            grid.Children.Add(deleteButton, 1, 8);
            grid.Children.Add(cancelButton, 2, 8);

            grid.Children.Add(tp, 2, 9);

            Content = new ScrollView {
                Content = grid
            };
        }