public MainPage()
 {
     this.DataContext = this;
     InitializeComponent();
     phNumChoseTask            = new PhoneNumberChooserTask();
     phNumChoseTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
 }
Exemplo n.º 2
0
        public MainPage()
        {
            InitializeComponent();

            _choosePhoneNumberTask            = new PhoneNumberChooserTask();
            _choosePhoneNumberTask.Completed += new EventHandler <PhoneNumberResult>(ChoosePhoneNumberTaskCompleted);
        }
Exemplo n.º 3
0
        private void AddPhoneButton_Click(object sender, RoutedEventArgs e)
        {
            PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask();

            phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
            phoneNumberChooserTask.Show();
        }
        // Constructor
        public MainPage()
        {
            InitializeComponent();

            act            = new AddressChooserTask();
            act.Completed += new EventHandler <AddressResult>(act_Completed);

            cct            = new CameraCaptureTask();
            cct.Completed += new EventHandler <PhotoResult>(cct_Completed);

            eact            = new EmailAddressChooserTask();
            eact.Completed += new EventHandler <EmailResult>(eact_Completed);

            git            = new GameInviteTask();
            git.Completed += new EventHandler <TaskEventArgs>(git_Completed);

            pct            = new PhotoChooserTask();
            pct.Completed += new EventHandler <PhotoResult>(pct_Completed);

            pnct            = new PhoneNumberChooserTask();
            pnct.Completed += new EventHandler <PhoneNumberResult>(pnct_Completed);

            seat            = new SaveEmailAddressTask();
            seat.Completed += new EventHandler <TaskEventArgs>(seat_Completed);

            srt            = new SaveRingtoneTask();
            srt.Completed += new EventHandler <TaskEventArgs>(srt_Completed);

            spnt            = new SavePhoneNumberTask();
            spnt.Completed += new EventHandler <TaskEventArgs>(spnt_Completed);
        }
Exemplo n.º 5
0
        private void PhoneNumberChooserTask_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask();

            phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
            phoneNumberChooserTask.Show();
        }
Exemplo n.º 6
0
        private void ApplicationBarIconButton_Click(object sender, System.EventArgs e)
        {
            var nummerTask = new PhoneNumberChooserTask();

            nummerTask.Completed += nummerTask_Completed;
            nummerTask.Show();
        }
        public Page1()
        {
            InitializeComponent();

            phoneNumberChooserTask = new PhoneNumberChooserTask();
            phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
        }
		private void ApplicationBarAddContactButton_Click(object sender, EventArgs e)
		{
			// prompt for a contact
			var phoneNumberTask = new PhoneNumberChooserTask();
			phoneNumberTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberTask_Completed);
			phoneNumberTask.Show();
		}
        private void StartPhoneTask()
        {
            PhoneNumberChooserTask phn = new PhoneNumberChooserTask();

            phn.Completed += new EventHandler <PhoneNumberResult>(phn_Complete);
            phn.Show();
        }
Exemplo n.º 10
0
        public Page2()
        {
            InitializeComponent();

            phoneNumberChooserTask            = new PhoneNumberChooserTask();
            phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
        }
Exemplo n.º 11
0
 public Page4()
 {
     InitializeComponent();
     phoneNumberChooserTask = new PhoneNumberChooserTask();
     phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
     this.Rect1.Visibility = System.Windows.Visibility.Collapsed;
     this.Rect2.Visibility = System.Windows.Visibility.Collapsed;
     this.Rect3.Visibility = System.Windows.Visibility.Collapsed;
     this.Rect4.Visibility = System.Windows.Visibility.Collapsed;
     this.Img1.Visibility = System.Windows.Visibility.Collapsed;
     this.Img2.Visibility = System.Windows.Visibility.Collapsed;
     this.Img3.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF1.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF2.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF3.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF4.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF5.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF6.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF7.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF8.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF9.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF10.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF11.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF12.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF13.Visibility = System.Windows.Visibility.Collapsed;
     this.RectF14.Visibility = System.Windows.Visibility.Collapsed;
 }
 // Constructor
 public MainPage()
 {
     InitializeComponent();
     jd            = new PhoneNumberChooserTask();
     jd.Completed += jd_Completed;
     _appSettings  = IsolatedStorageSettings.ApplicationSettings;
     if (_appSettings.Contains("status"))
     {
         if (_appSettings["status"] != null)
         {
             Dataclass.status = "ok";
         }
         else
         {
             Dataclass.status = "cancel";
         }
     }
     else
     {
         var result = MessageBox.Show("Some Emergency Positioning Tool features need your location in order to work. You can turn this off at any time under the settings menu.", "Allow app to access and use your location?", MessageBoxButton.OKCancel);
         if (result == MessageBoxResult.OK)
         {
             _appSettings.Add("status", "ok");
             _appSettings.Save();
             Dataclass.status = "ok";
         }
         if (result == MessageBoxResult.Cancel)
         {
             _appSettings.Add("status", null);
             _appSettings.Save();
             Dataclass.status = "cancel";
         }
     }
 }
        private void ApplicationBarAddContactButton_Click(object sender, EventArgs e)
        {
            // prompt for a contact
            var phoneNumberTask = new PhoneNumberChooserTask();

            phoneNumberTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberTask_Completed);
            phoneNumberTask.Show();
        }
Exemplo n.º 14
0
 public ShowReminder()
 {
     InitializeComponent();
     SmsComposerTask = new SmsComposeTask();
     PhoneNumberChooserTask = new PhoneNumberChooserTask();
     PhoneNumberChooserTask.Completed += phoneNumberChooserTask_Completed;
     AddButton.IsEnabled = false;
 }
        public UsePhoneNumberPage()
        {
            InitializeComponent();

            phoneNumberChooser = new PhoneNumberChooserTask();
            phoneNumberChooser.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooser_Completed);

        }
Exemplo n.º 16
0
        private void btnSelectContact_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            PhoneNumberChooserTask addChoser = new PhoneNumberChooserTask();

            addChoser.Completed += new EventHandler <PhoneNumberResult>(addChoser_Completed);

            addChoser.Show();
        }
 public NewGroup()
 {
     InitializeComponent();
     numberTask = new PhoneNumberChooserTask();
     numberTask.Completed += new EventHandler<PhoneNumberResult>(numberTask_Completed);
     addressTask = new AddressChooserTask();
     addressTask.Completed += new EventHandler<AddressResult>(addressTask_Completed);
 }
Exemplo n.º 18
0
 public MainPage()
 {
     InitializeComponent();
     Reset();
     phoneNumberChooserTask            = new PhoneNumberChooserTask();
     phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
     IsInitialized = true;
 }
Exemplo n.º 19
0
        private void Button_clicked(object sender, RoutedEventArgs e)
        {
            Button current_button = (Button)sender;
            String button_name = current_button.Name;
            switch (button_name)
            {
                case "calculator":
                    break;
                case "contacts":
                    PhoneNumberChooserTask address = new PhoneNumberChooserTask();
                    address.Show();
                    break;
                case "clock":
                    break;
                case "facebook":
                    WebBrowserTask webBrowserTask1 = new WebBrowserTask();
                    webBrowserTask1.Uri = new Uri("http://www.facebook.com", UriKind.Absolute);
                    webBrowserTask1.Show();
                    break;

                case "phone":
                    phoneNumberChooserTask = new PhoneNumberChooserTask();
                    phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
                    try
                    {
                        phoneNumberChooserTask.Show();
                    }
                    catch (System.InvalidOperationException ex)
                    {
                        MessageBox.Show("An error occurred.");
                    }
                    //PhoneCallTask phoneCallTask = new PhoneCallTask();

                    //phoneCallTask.PhoneNumber = "123456789";
                    //phoneCallTask.DisplayName = "Shadowfax Apps";

                    //phoneCallTask.Show();
                    break;
                case "mail":
                    EmailComposeTask emailComposeTask = new EmailComposeTask();
                    emailComposeTask.Subject = "";
                    emailComposeTask.Body = "";
                    emailComposeTask.To = "";
                    emailComposeTask.Show();
                    break;
                case "safari":
                    WebBrowserTask webBrowserTask4 = new WebBrowserTask();
                    webBrowserTask4.Uri = new Uri("http://www.google.com", UriKind.Absolute);
                    webBrowserTask4.Show();
                    break;
                case "ipod":

                    break;

                default:
                    break;
            }
        }
        public SendSMSPage()
        {
            InitializeComponent();

            phoneNumberChooserTask = new PhoneNumberChooserTask();
            phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);

            Debug.WriteLine("***\t In constructor of SendSMSPage\t ***");
        }
        public FriendSearch()
        {
            InitializeComponent();

            _numberPicker = new PhoneNumberChooserTask();
            _numberPicker.Completed += OnNumberPicked;

            _emailPicker = new EmailAddressChooserTask();
            _emailPicker.Completed += OnEmailPicked;
        }
        public FriendSearch()
        {
            InitializeComponent();

            _numberPicker            = new PhoneNumberChooserTask();
            _numberPicker.Completed += OnNumberPicked;

            _emailPicker            = new EmailAddressChooserTask();
            _emailPicker.Completed += OnEmailPicked;
        }
Exemplo n.º 23
0
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            selNumber            = new PhoneNumberChooserTask();
            selNumber.Completed += selNumber_Completed;

            dbConn = new SQLiteConnection("posconn");
            dbConn.CreateTable <Product>();
            // Código de ejemplo para traducir ApplicationBar
            //BuildLocalizedApplicationBar();
        }
Exemplo n.º 24
0
 private void makeCall_Click(object sender, RoutedEventArgs e)
 {
     var numberChooser = new PhoneNumberChooserTask();
     numberChooser.Completed += (o, ne) =>
                                    {
                                        var callTask = new PhoneCallTask();
                                        callTask.PhoneNumber = ne.PhoneNumber;
                                        callTask.Show();
                                    };
     numberChooser.Show();
 }
        public MainPage()
        {
            InitializeComponent();
            
            statusProgress.Visibility = Visibility.Collapsed;
            btnRecord.Content = "Start";
            CreateSoundRecorder();

            Unloaded += (sender, args) => _soundRecorder.Dispose();

            _phoneNumberChooserTask = new PhoneNumberChooserTask();
            _phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
        }
Exemplo n.º 26
0
        public MapPage()
        {
            InitializeComponent();
            _appSettings   = IsolatedStorageSettings.ApplicationSettings;
            jd             = new PhoneNumberChooserTask();
            jd.Completed  += jd_Completed;
            AMapConfig.Key = "4797d3e49bcc69a8bf4c77a949a56769";
            AGeoCoordinateWatcher amapGeoCoordinateWatcher = new AGeoCoordinateWatcher();

            amapGeoCoordinateWatcher.PositionChanged += amapGeoCoordinateWatcher_PositionChanged;
            amapGeoCoordinateWatcher.StatusChanged   += amapGeoCoordinateWatcher_StatusChanged;
            amapGeoCoordinateWatcher.Start();
        }
        public MainPage()
        {
            InitializeComponent();

            statusProgress.Visibility = Visibility.Collapsed;
            btnRecord.Content         = "Start";
            CreateSoundRecorder();

            Unloaded += (sender, args) => _soundRecorder.Dispose();

            _phoneNumberChooserTask            = new PhoneNumberChooserTask();
            _phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
        }
        public AddReminder()
        {
            InitializeComponent();
            phoneChooser = new PhoneNumberChooserTask();
            phoneChooser.Completed += new EventHandler<PhoneNumberResult>(phoneChooser_Completed);

            //从独立存储中加载预设号码列表
            if (settings.Contains(FriendsPhoneList))
            {
                string[] phones = (string[])settings[FriendsPhoneList];
                txbName.Text = phones[0];
                txbPhoneNum.Text = phones[1];
            }
        }
Exemplo n.º 29
0
 public MedicalNotes()
 {
     InitializeComponent();
     Reset();
     phoneNumberChooserTask            = new PhoneNumberChooserTask();
     phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
     IsInitialized = true;
     // Show graphics profiling information while debugging.
     if (System.Diagnostics.Debugger.IsAttached)
     {
         // Display the current frame rate counters.
         Application.Current.Host.Settings.EnableFrameRateCounter = false;
     }
 }
Exemplo n.º 30
0
 /// <summary>
 /// Handles the Click event of the bButton control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
 private void bButton_Click(object sender, RoutedEventArgs e)
 {
     if (((SettingsViewModel)SettingsStackPanel.DataContext).SendMethodEnum == addressType.Email)
     {
         var email = new EmailAddressChooserTask();
         email.Completed += email_Completed;
         email.Show();
     }
     else
     {
         var sms = new PhoneNumberChooserTask();
         sms.Completed += sms_Completed;
         sms.Show();
     }
 }
Exemplo n.º 31
0
        public static void ChoosePhoneNumber(DataEventHandler <string> callback)
        {
            PhoneNumberChooserTask task = new PhoneNumberChooserTask();

            task.Completed +=
                (sender, e) =>
            {
                if ((callback != null) && (e != null) && !String.IsNullOrEmpty(e.PhoneNumber))
                {
                    callback(null, new DataEventArgs <string>(e.PhoneNumber));
                }
            };

            task.Show();
        }
Exemplo n.º 32
0
        private void phoneNumberChooser_Click(object sender, EventArgs e)
        {
            // with a local task, the completed event will be called when returning from dormant,
            // but WILL NOT be called when returning from tombstone.
            var task = new PhoneNumberChooserTask();

            task.Completed += (object sender2, PhoneNumberResult e2) =>
            {
                if (e2.Error == null && e2.TaskResult == TaskResult.OK)
                {
                    System.Diagnostics.Debug.WriteLine("{0}: {1}", e2.DisplayName, e2.PhoneNumber);
                }
            };
            task.Show();
        }
Exemplo n.º 33
0
        // Constructor
        public MainPage()
        {
            InitializeComponent();


            phoneNumberChooserTask            = new PhoneNumberChooserTask();
            phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
            phoneTask = new PhoneCallTask();

            // Set the data context of the listbox control to the sample data



            //  this.Loaded += new RoutedEventHandler(MainPage_Loaded);
        }
Exemplo n.º 34
0
 private void button1_Click(object sender, RoutedEventArgs e)
 {
     PhoneNumberChooserTask task = new PhoneNumberChooserTask();
     task.Completed += (s, evt) =>
     {
         if (evt.Error == null && evt.TaskResult == TaskResult.OK)
         {
             temp = evt.PhoneNumber;
             if (temp != null && temp.Contains("+91"))
                 temp = temp.Substring(3);
             else if (temp != null && temp.Substring(0, 2).Equals("91") && temp.Length > 10)
                 temp = temp.Substring(2);
             textBox1.Text = temp;
         }
     };
     task.Show();
 }
Exemplo n.º 35
0
        private void Button_clicked(object sender, RoutedEventArgs e)
        {
            Button current_button = (Button)sender;
            String button_name = current_button.Name;
            switch (button_name)
            {
                case "phone":
                    phoneNumberChooserTask = new PhoneNumberChooserTask();
                    phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
                    try
                    {
                        phoneNumberChooserTask.Show();
                    }
                    catch (System.InvalidOperationException ex)
                    {
                        MessageBox.Show("An error occurred.");
                    }
                    //PhoneCallTask phoneCallTask = new PhoneCallTask();

                    //phoneCallTask.PhoneNumber = "123456789";
                    //phoneCallTask.DisplayName = "Shadowfax Apps";

                    //phoneCallTask.Show();
                    break;
                case "feedback":
                    EmailComposeTask emailComposeTask = new EmailComposeTask();
                    emailComposeTask.Subject = "iPhone Skip App feedback";
                    emailComposeTask.Body = "";
                    emailComposeTask.To = "*****@*****.**";
                    emailComposeTask.Show();
                    break;
                case "website":
                    WebBrowserTask webBrowserTask4 = new WebBrowserTask();
                    webBrowserTask4.Uri = new Uri("http://shadowfax-apps.blogspot.in/", UriKind.Absolute);
                    webBrowserTask4.Show();
                    break;
                case "rate":
                    MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();
                    marketplaceReviewTask.Show();

                    break;

                default:
                    break;
            }
        }
        public MainPage()
        {
            InitializeComponent();

            clientId = "your_att_app_key";
            clientSecret = "your_att_secret_key";
            uriString = "https://api.att.com";
            
            statusProgress.Visibility = Visibility.Collapsed;
            btnRecord.Content = "Speak";
            CreateSoundRecorder();

            Unloaded += (sender, args) => _soundRecorder.Dispose();

            _phoneNumberChooserTask = new PhoneNumberChooserTask();
            _phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
        }
Exemplo n.º 37
0
        public MainPage()
        {
            InitializeComponent();

            clientId     = "your_att_app_key";
            clientSecret = "your_att_secret_key";
            uriString    = "https://api.att.com";

            statusProgress.Visibility = Visibility.Collapsed;
            btnRecord.Content         = "Speak";
            CreateSoundRecorder();

            Unloaded += (sender, args) => _soundRecorder.Dispose();

            _phoneNumberChooserTask            = new PhoneNumberChooserTask();
            _phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed);
        }
Exemplo n.º 38
0
 private void Click_SMS(object sender, EventArgs e)
 {
     if (textBox1.Text != "")
     {
         Phone_Number_Chooser_Task            = new PhoneNumberChooserTask();
         Phone_Number_Chooser_Task.Completed += new EventHandler <PhoneNumberResult>(TaskChooserPhoneCompleted);
         try
         {
             Phone_Number_Chooser_Task.Show();
         }
         catch (System.InvalidOperationException)
         {
             MessageBox.Show("Une erreur est survenue.");
         }
     }
     else
     {
         MessageBox.Show("La localisation n'est pas démarrée !");
     }
 }
Exemplo n.º 39
0
        public static void SendSms(string body)
        {
            PhoneNumberChooserTask           phoneChooseTask = new PhoneNumberChooserTask();
            EventHandler <PhoneNumberResult> temp            = (o, result) =>
            {
                if (result.TaskResult == TaskResult.Cancel)
                {
                    return;
                }

                SmsComposeTask smsComposeTask = new SmsComposeTask
                {
                    To   = result.PhoneNumber,
                    Body = body
                };
                smsComposeTask.Show();
            };

            phoneChooseTask.Completed -= temp;
            phoneChooseTask.Completed += temp;
            phoneChooseTask.Show();
        }
Exemplo n.º 40
0
        /// <summary>
        /// Handles the Click event of the bButton control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
        private void bButton_Click(object sender, RoutedEventArgs e)
        {
            var b = ((HyperlinkButton)sender);
            BindingExpression be = b.GetBindingExpression(ContentControl.ContentProperty);

            if (be != null)
            {
                _contactChooser = (Setting)be.DataItem;
            }
            if (_contactChooser.AddressType == addressType.Email)
            {
                var email = new EmailAddressChooserTask();
                email.Completed += email_Completed;
                email.Show();
            }
            else
            {
                var sms = new PhoneNumberChooserTask();
                sms.Completed += sms_Completed;
                sms.Show();
            }
        }
Exemplo n.º 41
0
 private void ContactNumberBox_GotFocus(object sender, RoutedEventArgs e)
 {
     if (ContactNumberBox.Text == "Emergency contact phone number") ContactNumberBox.Text = "";
     PhoneNumberChooserTask pnct = new PhoneNumberChooserTask();
     pnct.Completed += pnct_Completed;
     pnct.Show();
 }
Exemplo n.º 42
0
 private void Call_Click(object sender, EventArgs e)
 {
     if (mPivot.SelectedItem == mDialerPivot)
     {
         string curNumber = mCurrentNumber.Text;
         if (string.IsNullOrEmpty(curNumber))
             return;
         mCurrentNumber.Text = string.Empty;
         App.Call(curNumber, curNumber, NavigationService);
     }
     else
     {
         PhoneNumberChooserTask phoneTask = new PhoneNumberChooserTask();
         phoneTask.Completed += (o, r) =>
         {
             if (r.TaskResult != TaskResult.OK)
                 return;
             Dispatcher.BeginInvoke(() =>
                 {
                     App.Call(r.PhoneNumber, r.PhoneNumber, NavigationService);
                 });
         };
         phoneTask.Show();
     }
 }
Exemplo n.º 43
0
 public peo()
 {
     InitializeComponent();
     phonenumberchooser            = new PhoneNumberChooserTask();
     phonenumberchooser.Completed += new EventHandler <PhoneNumberResult>(phonenumberchooser_Completed);
 }
 private void phoneNumberChooser_Click(object sender, EventArgs e)
 {
     // with a local task, the completed event will be called when returning from dormant,
     // but WILL NOT be called when returning from tombstone.
     var task = new PhoneNumberChooserTask();
     task.Completed += (object sender2, PhoneNumberResult e2) =>
     {
         if (e2.Error == null && e2.TaskResult == TaskResult.OK)
             System.Diagnostics.Debug.WriteLine("{0}: {1}", e2.DisplayName, e2.PhoneNumber);
     };
     task.Show();
 }
Exemplo n.º 45
0
        private void RenderEditTaskField(Task task, FieldType fieldType)
        {
            PropertyInfo pi;

            // make sure the property exists on the local type
            try
            {
                pi = task.GetType().GetProperty(fieldType.Name);
                if (pi == null)
                    return;  // see comment below
            }
            catch (Exception)
            {
                // we can't do anything with this property since we don't have it on the local type
                // this indicates that the phone software isn't caught up with the service version
                return;
            }

            // get the value of the property
            var val = pi.GetValue(task, null);

            ListBoxItem listBoxItem = new ListBoxItem();
            StackPanel EditStackPanel = new StackPanel();
            listBoxItem.Content = EditStackPanel;
            EditStackPanel.Children.Add(
                new TextBlock()
                {
                    Text = fieldType.DisplayName,
                    Style = (Style)App.Current.Resources["PhoneTextNormalStyle"]
                });

            // create a textbox (will be used by the majority of field types)
            double minWidth = App.Current.RootVisual.RenderSize.Width;
            if ((int)minWidth == 0)
                minWidth = ((this.Orientation & PageOrientation.Portrait) == PageOrientation.Portrait) ? 480.0 : 800.0;

            TextBox tb = new TextBox() { DataContext = taskCopy, MinWidth = minWidth, IsTabStop = true };
            tb.SetBinding(TextBox.TextProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });

            bool notMatched = false;
            // render the right control based on the type
            switch (fieldType.DisplayType)
            {
                case "String":
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    EditStackPanel.Children.Add(tb);
                    break;
                case "TextBox":
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } };
                    tb.AcceptsReturn = true;
                    tb.TextWrapping = TextWrapping.Wrap;
                    tb.Height = 300;
                    tb.TabIndex = tabIndex++;
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                    EditStackPanel.Children.Add(tb);
                    break;
                case "Phone":
                case "PhoneNumber":
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.TelephoneNumber } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    StackPanel innerPanel = RenderEditTaskImageButtonPanel(tb);
                    ImageButton imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        PhoneNumberChooserTask chooser = new PhoneNumberChooserTask();
                        chooser.Completed += new EventHandler<PhoneNumberResult>((sender, e) =>
                        {
                            if (e.TaskResult == TaskResult.OK && e.PhoneNumber != null && e.PhoneNumber != "")
                                pi.SetValue(task, e.PhoneNumber, null);
                        });
                        chooser.Show();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case "Website":
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Url } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    EditStackPanel.Children.Add(tb);
                    break;
                case "Email":
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.EmailSmtpAddress } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    innerPanel = RenderEditTaskImageButtonPanel(tb);
                    imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        EmailAddressChooserTask chooser = new EmailAddressChooserTask();
                        chooser.Completed += new EventHandler<EmailResult>((sender, e) =>
                        {
                            if (e.TaskResult == TaskResult.OK && e.Email != null && e.Email != "")
                                pi.SetValue(task, e.Email, null);
                        });
                        chooser.Show();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case "Location":
                case "Address":
                    tb.InputScope = new InputScope()
                    {
                        Names =
                            {
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressStreet },
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressCity },
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressStateOrProvince },
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressCountryName },
                            }
                    };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    innerPanel = RenderEditTaskImageButtonPanel(tb);
                    imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        // start the location service
                        GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                        watcher.MovementThreshold = 20; // Use MovementThreshold to ignore noise in the signal.
                        watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>((sender, e) =>
                        {
                            if (e.Status == GeoPositionStatus.Ready)
                            {
                                // Use the Position property of the GeoCoordinateWatcher object to get the current location.
                                GeoCoordinate co = watcher.Position.Location;
                                tb.Text = co.Latitude.ToString("0.000") + "," + co.Longitude.ToString("0.000");
                                //Stop the Location Service to conserve battery power.
                                watcher.Stop();
                            }
                        });
                        watcher.Start();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case "Priority":
                    ListPicker lp = new ListPicker()
                    {
                        MinWidth = minWidth,
                        FullModeItemTemplate = (DataTemplate) App.Current.Resources["FullListPickerTemplate"],
                        IsTabStop = true
                    };
                    lp.ItemsSource = App.ViewModel.Constants.Priorities;
                    lp.DisplayMemberPath = "Name";
                    int? lpval = (int?)pi.GetValue(taskCopy, null);
                    if (lpval != null)
                        lp.SelectedIndex = (int)lpval;
                    else
                        lp.SelectedIndex = 1;  // HACK: hardcode to "Normal" priority.  this should come from a table.
                    lp.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(taskCopy, lp.SelectedIndex == 1 ? (int?)null : lp.SelectedIndex, null); });
                    lp.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(lp);
                    break;
                case "TaskList":
                    ListPicker taskListPicker = new ListPicker() { MinWidth = minWidth, IsTabStop = true };
                    taskListPicker.ItemsSource = App.ViewModel.TaskLists;
                    taskListPicker.DisplayMemberPath = "Name";
                    TaskList tl = App.ViewModel.TaskLists.FirstOrDefault(list => list.ID == taskList.ID);
                    taskListPicker.SelectedIndex = App.ViewModel.TaskLists.IndexOf(tl);
                    taskListPicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(taskCopy, App.ViewModel.TaskLists[taskListPicker.SelectedIndex].ID, null); });
                    taskListPicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(taskListPicker);
                    break;
                case "Integer":
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Digits } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, Convert.ToInt32(tb.Text), null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    EditStackPanel.Children.Add(tb);
                    break;
                case "Date":
                    DatePicker dp = new DatePicker() { DataContext = taskCopy, MinWidth = minWidth, IsTabStop = true };
                    dp.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                    dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate
                    {
                        pi.SetValue(taskCopy, dp.Value, null);
                        taskList.NotifyPropertyChanged("FirstDue");
                        taskList.NotifyPropertyChanged("FirstDueColor");
                    });
                    dp.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(dp);
                    break;
                case "Boolean":
                    CheckBox cb = new CheckBox() { DataContext = taskCopy, IsTabStop = true };
                    cb.SetBinding(CheckBox.IsCheckedProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                    cb.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(cb);
                    break;
                case "TagList":
                    TextBox taglist = new TextBox() { MinWidth = minWidth, IsTabStop = true };
                    taglist.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    taglist.TabIndex = tabIndex++;
                    RenderEditTaskTagList(taglist, taskCopy, pi);
                    EditStackPanel.Children.Add(taglist);
                    break;
                case "ListPointer":
                    innerPanel = RenderEditTaskListPointer(pi, minWidth);
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                default:
                    notMatched = true;
                    break;
            }

            // if wasn't able to match field type by display type, try matching by CLR type
            if (notMatched == true)
            {
                string typename = GetTypeName(pi);
                switch (typename)
                {
                    case "String":
                        tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } };
                        tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); });
                        tb.TabIndex = tabIndex++;
                        tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                        EditStackPanel.Children.Add(tb);
                        break;
                    case "Int32":
                        tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Digits } } };
                        tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, Convert.ToInt32(tb.Text), null); });
                        tb.TabIndex = tabIndex++;
                        tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                        EditStackPanel.Children.Add(tb);
                        break;
                    case "DateTime":
                        DatePicker dp = new DatePicker() { DataContext = taskCopy, MinWidth = minWidth, IsTabStop = true };
                        dp.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                        dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate
                        {
                            pi.SetValue(taskCopy, dp.Value, null);
                            taskList.NotifyPropertyChanged("FirstDue");
                            taskList.NotifyPropertyChanged("FirstDueColor");
                        });
                        dp.TabIndex = tabIndex++;
                        EditStackPanel.Children.Add(dp);
                        break;
                    case "Boolean":
                        CheckBox cb = new CheckBox() { DataContext = taskCopy, IsTabStop = true };
                        cb.SetBinding(CheckBox.IsEnabledProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                        cb.TabIndex = tabIndex++;
                        EditStackPanel.Children.Add(cb);
                        break;
                    default:
                        break;
                }
            }

            // add the listboxitem to the listbox
            EditListBox.Items.Add(listBoxItem);
        }
Exemplo n.º 46
0
        private void RenderEditItemField(Item item, Field field)
        {
            // skip rendering a hidden field
            if (field.DisplayType == DisplayTypes.Hidden)
                return;

            PropertyInfo pi = null;
            object currentValue = null;
            object container = null;

            // get the current field value.
            // the value can either be in a strongly-typed property on the item (e.g. Name),
            // or in one of the FieldValues
            try
            {
                // get the strongly typed property
                pi = item.GetType().GetProperty(field.Name);
                if (pi != null)
                {
                    // store current item's value for this field
                    currentValue = pi.GetValue(item, null);

                    // set the container - this will be the object that will be passed
                    // to pi.SetValue() below to poke new values into
                    container = itemCopy;
                }
            }
            catch (Exception)
            {
                // an exception indicates this isn't a strongly typed property on the Item
                // this is NOT an error condition
            }

            // if couldn't find a strongly typed property, this property is stored as a
            // FieldValue on the item
            if (pi == null)
            {
                // get current item's value for this field, or create a new FieldValue
                // if one doesn't already exist
                FieldValue fieldValue = item.GetFieldValue(field.ID, true);
                currentValue = fieldValue.Value;

                // get the value property of the current fieldvalue (this should never fail)
                pi = fieldValue.GetType().GetProperty("Value");
                if (pi == null)
                    return;

                // set the container - this will be the object that will be passed
                // to pi.SetValue() below to poke new values into
                container = fieldValue;
            }

            ListBoxItem listBoxItem = new ListBoxItem();
            StackPanel EditStackPanel = new StackPanel();
            listBoxItem.Content = EditStackPanel;
            EditStackPanel.Children.Add(
                new TextBlock()
                {
                    Text = field.DisplayName,
                    Style = (Style)App.Current.Resources["PhoneTextNormalStyle"]
                });

            // create a textbox (will be used by the majority of field types)
            double minWidth = App.Current.RootVisual.RenderSize.Width;
            if ((int)minWidth == 0)
                minWidth = ((this.Orientation & PageOrientation.Portrait) == PageOrientation.Portrait) ? 480.0 : 800.0;

            TextBox tb = new TextBox() { DataContext = container, MinWidth = minWidth, IsTabStop = true };
            tb.SetBinding(TextBox.TextProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });

            bool notMatched = false;
            // render the right control based on the DisplayType
            switch (field.DisplayType)
            {
                case DisplayTypes.Text:
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    EditStackPanel.Children.Add(tb);
                    break;
                case DisplayTypes.TextArea:
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } };
                    tb.AcceptsReturn = true;
                    tb.TextWrapping = TextWrapping.Wrap;
                    tb.Height = 150;
                    tb.TabIndex = tabIndex++;
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                    EditStackPanel.Children.Add(tb);
                    break;
                case DisplayTypes.Phone:
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.TelephoneNumber } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.MinWidth -= 64;
                    tb.MaxWidth = tb.MinWidth;
                    StackPanel innerPanel = RenderImageButtonPanel(tb);
                    ImageButton imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        PhoneNumberChooserTask chooser = new PhoneNumberChooserTask();
                        chooser.Completed += new EventHandler<PhoneNumberResult>((sender, e) =>
                        {
                            if (e.TaskResult == TaskResult.OK && e.PhoneNumber != null && e.PhoneNumber != "")
                                pi.SetValue(container, e.PhoneNumber, null);
                        });
                        chooser.Show();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case DisplayTypes.Link:
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Url } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    EditStackPanel.Children.Add(tb);
                    break;
                case DisplayTypes.Email:
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.EmailSmtpAddress } } };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    tb.MinWidth -= 64;
                    tb.MaxWidth = tb.MinWidth;
                    innerPanel = RenderImageButtonPanel(tb);
                    imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        EmailAddressChooserTask chooser = new EmailAddressChooserTask();
                        chooser.Completed += new EventHandler<EmailResult>((s, e) =>
                        {
                            if (e.TaskResult == TaskResult.OK && !String.IsNullOrEmpty(e.Email))
                            {
                                pi.SetValue(container, e.Email, null);
                                // find the contact using the email address
                                Contacts contacts = new Contacts();
                                contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>((sen, ev) =>
                                {
                                    // save the contact info as a new contact
                                    var contact = ev.Results.FirstOrDefault();
                                    if (contact == null)
                                        return;
                                    ContactPickerHelper.AddContactInfo(contact, item);
                                });
                                contacts.SearchAsync(e.Email, FilterKind.EmailAddress, null);
                            }
                        });
                        chooser.Show();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case DisplayTypes.Address:
                    tb.InputScope = new InputScope()
                    {
                        Names =
                            {
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressStreet },
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressCity },
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressStateOrProvince },
                                new InputScopeName() { NameValue = InputScopeNameValue.AddressCountryName },
                            }
                    };
                    tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                    tb.TabIndex = tabIndex++;
                    tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    tb.MinWidth -= 64;
                    tb.MaxWidth = tb.MinWidth;
                    innerPanel = RenderImageButtonPanel(tb);
                    imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        // start the location service
                        GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                        watcher.MovementThreshold = 20; // Use MovementThreshold to ignore noise in the signal.
                        watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>((sender, e) =>
                        {
                            if (e.Status == GeoPositionStatus.Ready)
                            {
                                // Use the Position property of the GeoCoordinateWatcher object to get the current location.
                                GeoCoordinate co = watcher.Position.Location;
                                tb.Text = co.Latitude.ToString("0.000") + "," + co.Longitude.ToString("0.000");
                                // Stop the Location Service to conserve battery power.
                                watcher.Stop();
                                // also store the latlong information in a hidden LatLong FieldValue
                                var latlong = item.GetFieldValue(FieldNames.LatLong, true);
                                if (latlong != null)
                                    latlong.Value = tb.Text;
                            }
                        });
                        watcher.Start();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case DisplayTypes.Priority:
                    ListPicker lp = new ListPicker()
                    {
                        MinWidth = minWidth,
                        FullModeItemTemplate = (DataTemplate)App.Current.Resources["FullListPickerTemplate"],
                        IsTabStop = true
                    };
                    lp.ItemsSource = App.ViewModel.Constants.Priorities;
                    lp.DisplayMemberPath = "Name";
                    int? lpval = (int?)pi.GetValue(container, null);
                    if (lpval != null)
                        lp.SelectedIndex = (int)lpval;
                    else
                        lp.SelectedIndex = 1;  // HACK: hardcode to "Normal" priority.  this should come from a table.
                    lp.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, lp.SelectedIndex == 1 ? (int?)null : lp.SelectedIndex, null); });
                    lp.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(lp);
                    break;
                case DisplayTypes.Folders:
                    ListPicker folderPicker = new ListPicker() { MinWidth = minWidth, IsTabStop = true };
                    folderPicker.ItemsSource = App.ViewModel.Folders;
                    folderPicker.DisplayMemberPath = "Name";
                    Folder tl = App.ViewModel.Folders.FirstOrDefault(list => list.ID == folder.ID);
                    folderPicker.SelectedIndex = App.ViewModel.Folders.IndexOf(tl);
                    folderPicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, App.ViewModel.Folders[folderPicker.SelectedIndex].ID, null); });
                    folderPicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(folderPicker);
                    break;
                case DisplayTypes.Lists:
                    ListPicker listPicker = new ListPicker()
                    {
                        MinWidth = minWidth,
                        FullModeItemTemplate = (DataTemplate)App.Current.Resources["FullListPickerTemplate"],
                        ExpansionMode = ExpansionMode.FullScreenOnly,
                        IsTabStop = true
                    };
                    var lists = App.ViewModel.Items.
                        Where(i => i.FolderID == item.FolderID && i.IsList == true && i.ItemTypeID != SystemItemTypes.Reference).
                        OrderBy(i => i.Name).
                        ToObservableCollection();
                    lists.Insert(0, new Item()
                    {
                        ID = Guid.Empty,
                        Name = folder.Name + " (folder)"
                    });
                    listPicker.ItemsSource = lists;
                    listPicker.DisplayMemberPath = "Name";
                    var listGuid = currentValue != null ? (Guid) currentValue : Guid.Empty;
                    Item thisItem = lists.FirstOrDefault(i => i.ID == (Guid) listGuid);
                    // if the list isn't found (e.g. ParentID == null), SelectedIndex will default to the Folder scope (which is correct for that case)
                    listPicker.SelectedIndex = Math.Max(lists.IndexOf(thisItem), 0);
                    listPicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, lists[listPicker.SelectedIndex].ID, null); });
                    listPicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(listPicker);
                    break;
                case DisplayTypes.DatePicker:
                    DatePicker dp = new DatePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true };
                    DateTime date = Convert.ToDateTime((string)currentValue);
                    if (date.Ticks == 0)
                        date = DateTime.Now.Date;
                    dp.Value = date;
                    dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate
                    {
                        //pi.SetValue(container, dp.Value, null);
                        pi.SetValue(container, dp.Value == null ? null : ((DateTime)dp.Value).ToString("d"), null);
                        folder.NotifyPropertyChanged("FirstDue");
                        folder.NotifyPropertyChanged("FirstDueColor");
                    });
                    dp.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(dp);
                    break;
                case DisplayTypes.DateTimePicker:
                    // create date picker
                    DatePicker datePicker = new DatePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true };
                    // set up two-way data binding so that we don't have to pick up the new value in the event handler
                    datePicker.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                    datePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate
                    {
                        folder.NotifyPropertyChanged("FirstDue");
                        folder.NotifyPropertyChanged("FirstDueColor");
                    });
                    datePicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(datePicker);
                    // create time picker
                    TimePicker timePicker = new TimePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true };
                    // set up two-way data binding so that we don't have to pick up the new value in the event handler
                    timePicker.SetBinding(TimePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                    timePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate
                    {
                        folder.NotifyPropertyChanged("FirstDue");
                        folder.NotifyPropertyChanged("FirstDueColor");
                    });
                    timePicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(timePicker);
                    break;
                case DisplayTypes.Checkbox:
                    CheckBox cb = new CheckBox() { DataContext = container, IsTabStop = true };
                    cb.SetBinding(CheckBox.IsCheckedProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                    cb.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(cb);
                    break;
                case DisplayTypes.TagList:
                    TextBox taglist = new TextBox() { MinWidth = minWidth, IsTabStop = true };
                    taglist.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                    taglist.TabIndex = tabIndex++;
                    RenderEditItemTagList(taglist, (Item) container, pi);
                    EditStackPanel.Children.Add(taglist);
                    break;
                case DisplayTypes.ImageUrl:
                    // TODO: wire up to picture picker, and upload to an image service
                    break;
                case DisplayTypes.LinkArray:
                    tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Url } } };
                    tb.AcceptsReturn = true;
                    tb.TextWrapping = TextWrapping.Wrap;
                    tb.Height = 150;
                    tb.TabIndex = tabIndex++;
                    tb.ClearValue(TextBox.TextProperty);
                    if (!String.IsNullOrEmpty((string) currentValue))
                    {
                        try
                        {
                            var linkList = JsonConvert.DeserializeObject<List<Link>>((string)currentValue);
                            tb.Text = String.Concat(linkList.Select(l => l.Name != null ? l.Name + "," + l.Url + "\n" : l.Url + "\n").ToList());
                        }
                        catch (Exception)
                        {
                        }
                    }
                    tb.LostFocus += new RoutedEventHandler(delegate
                    {
                        // the expected format is a newline-delimited list of Name, Url pairs
                        var linkArray = tb.Text.Split(new char[] { '\r','\n' }, StringSplitOptions.RemoveEmptyEntries);
                        var linkList = new List<Link>();
                        foreach (var link in linkArray)
                        {
                            var nameval = link.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            if (nameval.Length == 0)
                                continue;
                            if (nameval.Length == 1)
                                linkList.Add(new Link() { Url = nameval[0].Trim() });
                            else
                                linkList.Add(new Link() { Name = nameval[0].Trim(), Url = nameval[1].Trim() });
                        }
                        var json = JsonConvert.SerializeObject(linkList);
                        pi.SetValue(container, json, null);
                    });
                    EditStackPanel.Children.Add(tb);
                    break;
                case DisplayTypes.Hidden:
                    // skip rendering
                    break;
                case DisplayTypes.ContactList:
                    Item currentContacts = CreateValueList(item, field, currentValue == null ? Guid.Empty : new Guid((string) currentValue));
                    var contactPicker = new ItemRefListPicker(folder, currentContacts, SystemItemTypes.Contact, pi, container)
                    {
                        MinWidth = minWidth,
                        IsTabStop = true
                    };
                    contactPicker.TabIndex = tabIndex++;
                    contactPicker.MinWidth -= 84;
                    contactPicker.MaxWidth = contactPicker.MinWidth;
                    innerPanel = RenderImageButtonPanel(contactPicker, "/Images/button.add.png", "/Images/button.add.pressed.png");
                    imageButton = (ImageButton)innerPanel.Children[1];
                    imageButton.Click += new RoutedEventHandler(delegate
                    {
                        EmailAddressChooserTask chooser = new EmailAddressChooserTask();
                        chooser.Completed += new EventHandler<EmailResult>((s, e) =>
                        {
                            if (e.TaskResult == TaskResult.OK && !String.IsNullOrEmpty(e.Email))
                            {
                                // find the contact using the email address
                                Contacts contacts = new Contacts();
                                contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>((sen, ev) =>
                                {
                                    // save the contact info as a new contact
                                    var contact = ev.Results.FirstOrDefault();
                                    if (contact == null)
                                        return;
                                    var newContact = ContactPickerHelper.ProcessContact(contact);
                                    if (newContact != null)
                                    {
                                        // if the list doesn't yet exist, create it now
                                        if (currentContacts.ID == Guid.Empty)
                                        {
                                            Guid id = Guid.NewGuid();
                                            currentContacts.ID = id;

                                            // enqueue the Web Request Record
                                            RequestQueue.EnqueueRequestRecord(RequestQueue.UserQueue,
                                                new RequestQueue.RequestRecord()
                                                {
                                                    ReqType = RequestQueue.RequestRecord.RequestType.Insert,
                                                    Body = currentContacts
                                                });

                                            // add the list to the folder
                                            folder.Items.Add(currentContacts);
                                            StorageHelper.WriteFolder(folder);

                                            // store the list's Guid in the item's property
                                            pi.SetValue(container, id.ToString(), null);
                                        }

                                        // rebuild the image panel with a new ItemRefListPicker
                                        HandleAddedContact(currentContacts, newContact);
                                        var oldListPicker = innerPanel.Children[0] as ItemRefListPicker;
                                        contactPicker = new ItemRefListPicker(folder, currentContacts, SystemItemTypes.Contact, pi, container)
                                        {
                                            IsTabStop = true
                                        };
                                        if (oldListPicker != null)
                                        {
                                            contactPicker.TabIndex = oldListPicker.TabIndex;
                                            contactPicker.MinWidth = oldListPicker.MinWidth;
                                            contactPicker.MaxWidth = oldListPicker.MaxWidth;
                                        }
                                        innerPanel.Children[0] = contactPicker;
                                    }
                                });
                                contacts.SearchAsync(e.Email, FilterKind.EmailAddress, null);
                            }
                        });
                        chooser.Show();
                    });
                    EditStackPanel.Children.Add(innerPanel);
                    break;
                case DisplayTypes.LocationList:
                    Item currentLocations = CreateValueList(item, field, currentValue == null ? Guid.Empty : new Guid((string) currentValue));
                    var locationPicker = new ItemRefListPicker(folder, currentLocations, SystemItemTypes.Location, pi, container)
                    {
                        MinWidth = minWidth,
                        IsTabStop = true
                    };
                    locationPicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(locationPicker);
                    break;
                case DisplayTypes.ItemTypes:
                    ListPicker itemTypePicker = new ListPicker()
                    {
                        MinWidth = minWidth,
                        FullModeItemTemplate = (DataTemplate)App.Current.Resources["FullListPickerTemplate"],
                        ExpansionMode = ExpansionMode.FullScreenOnly,
                        IsTabStop = true
                    };
                    var itemTypes = App.ViewModel.ItemTypes.Where(i => i.UserID != SystemUsers.System).OrderBy(i => i.Name).ToList();
                    itemTypePicker.ItemsSource = itemTypes;
                    itemTypePicker.DisplayMemberPath = "Name";
                    ItemType thisItemType = itemTypes.FirstOrDefault(i => i.ID == (Guid) currentValue);
                    itemTypePicker.SelectedIndex = Math.Max(itemTypes.IndexOf(thisItemType), 0);
                    itemTypePicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, itemTypes[itemTypePicker.SelectedIndex].ID, null); });
                    itemTypePicker.TabIndex = tabIndex++;
                    EditStackPanel.Children.Add(itemTypePicker);
                    break;
                default:
                    notMatched = true;
                    break;
            }

            // if wasn't able to match field type by display type, try matching by FieldType
            if (notMatched == true)
            {
                switch (field.FieldType)
                {
                    case FieldTypes.String:
                    default:
                        tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } };
                        tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); });
                        tb.TabIndex = tabIndex++;
                        tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                        EditStackPanel.Children.Add(tb);
                        break;
                    case FieldTypes.Integer:
                        tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Digits } } };
                        tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, Convert.ToInt32(tb.Text), null); });
                        tb.TabIndex = tabIndex++;
                        tb.KeyUp += new KeyEventHandler(TextBox_KeyUp);
                        EditStackPanel.Children.Add(tb);
                        break;
                    case FieldTypes.DateTime:
                        DatePicker dp = new DatePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true };
                        dp.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                        dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate
                        {
                            pi.SetValue(container, dp.Value, null);
                            folder.NotifyPropertyChanged("FirstDue");
                            folder.NotifyPropertyChanged("FirstDueColor");
                        });
                        dp.TabIndex = tabIndex++;
                        EditStackPanel.Children.Add(dp);
                        break;
                    case FieldTypes.Boolean:
                        CheckBox cb = new CheckBox() { DataContext = container, IsTabStop = true };
                        cb.SetBinding(CheckBox.IsEnabledProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay });
                        cb.TabIndex = tabIndex++;
                        EditStackPanel.Children.Add(cb);
                        break;
                }
            }

            // add the listboxitem to the listbox
            EditListBox.Items.Add(listBoxItem);
        }
Exemplo n.º 47
0
        // Load data for the ViewModel Items
        private void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            CheckNetworkAvailability();
            // TODO : improve 
            if (settings.Contains("Pnumber"))
            {
                pnumber = (string)settings["Pnumber"];
                user_id = (int)settings["id"];
                user_name = (string)settings["name"];
            }
            else
            {
                ((PhoneApplicationFrame)Application.Current.RootVisual).Navigate(new Uri("/Login.xaml", UriKind.Relative));
            }

            if (!App.ViewModel.IsDataLoaded)
            {
                App.ViewModel.LoadData();
            }

            phoneNumberChooserTask = new PhoneNumberChooserTask();
            phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);

        }
Exemplo n.º 48
0
 public PhoneNumberChooser()
 {
     InitializeComponent();
     pnc            = new PhoneNumberChooserTask();
     pnc.Completed += new EventHandler <PhoneNumberResult>(pnc_Completed);
 }
Exemplo n.º 49
0
        private void Button_clicked(object sender, RoutedEventArgs e)
        {
            Button current_button = (Button)sender;
            String button_name = current_button.Name;
            switch (button_name)
            {
                case "message":
                    //MessageBox.Show("message button clicked");
                    SmsComposeTask sms = new SmsComposeTask();
                    sms.To = "";
                    sms.Show();
                    break;
                case "calendar":
                    //MessageBox.Show("Canlendar button clicked");
                    WebBrowserTask webBrowserTask1 = new WebBrowserTask();
                    webBrowserTask1.Uri = new Uri("http://calendar.google.com/", UriKind.Absolute);
            webBrowserTask1.Show();
                    break;
                case "photos":
                     PhotoChooserTask photo = new PhotoChooserTask();
            photo.Show();
                    break;
                case "camera":
                    CameraCaptureTask cam = new CameraCaptureTask();
                    cam.Show();
                    break;
                case "youtube":
                     WebBrowserTask webBrowserTask2 = new WebBrowserTask();
                     webBrowserTask2.Uri = new Uri("http://m.youtube.com/", UriKind.Absolute);
            webBrowserTask2.Show();
                    break;
                case "stocks":
                    break;
                case "maps":
                    //MessageBox.Show("maps clicked");
                    BingMapsTask bmt = new BingMapsTask();
            //bmt.Center = new GeoCoordinate(-27.5, 153);
            bmt.SearchTerm = "New York";
            bmt.Show();
                    break;
                case "weather":
                    WebBrowserTask webBrowserTask3 = new WebBrowserTask();
                    webBrowserTask3.Uri = new Uri("http://www.weather.com/", UriKind.Absolute);
            webBrowserTask3.Show();

                    break;
                case "notes":
                    break;
                case "voice_memos":
                    break;
                case "itunes":
                     MarketplaceHubTask market1 = new MarketplaceHubTask();
                    market1.Show();
                    break;
                case "app_store":
                     MarketplaceHubTask market = new MarketplaceHubTask();
                    market.Show();
                    break;
                case "settings":
                    break;
                case "phone":
                    phoneNumberChooserTask = new PhoneNumberChooserTask();
                    phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
                    try
                    {
                        phoneNumberChooserTask.Show();
                    }
                    catch (System.InvalidOperationException ex)
                    {
                        MessageBox.Show("An error occurred.");
                    }
                    //PhoneCallTask phoneCallTask = new PhoneCallTask();

                    //phoneCallTask.PhoneNumber = "123456789";
                    //phoneCallTask.DisplayName = "Shadowfax Apps";

                    //phoneCallTask.Show();
                    break;
                case "mail":
                    EmailComposeTask emailComposeTask = new EmailComposeTask();
            emailComposeTask.Subject = "";
            emailComposeTask.Body = "";
            emailComposeTask.To = "";
            emailComposeTask.Show();
                    break;
                case "safari":
                    WebBrowserTask webBrowserTask4 = new WebBrowserTask();
            webBrowserTask4.Uri = new Uri("http://www.google.com", UriKind.Absolute);
            webBrowserTask4.Show();
                    break;
                case "ipod":

                    break;

                default:
                    break;
            }
        }
Exemplo n.º 50
0
 private void InitializeChooserAndLauncher()
 {
     phoneNumberChooserTask            = new PhoneNumberChooserTask();
     smsComposeTask                    = new SmsComposeTask();
     phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(PhoneNumberChooserTaskCompleted);
 }
 private void btnPhone_Click(object sender, RoutedEventArgs e)
 {
     PhoneNumberChooserTask task = new PhoneNumberChooserTask();
     task.Completed += (s, evt) =>
     {
         if (evt.Error == null && evt.TaskResult == TaskResult.OK)
         {
             MessageBox.Show(evt.PhoneNumber + " phone number selected!");
         }
     };
     task.Show();
 }
Exemplo n.º 52
0
 public CreateReminder()
 {
     InitializeComponent();
     PhoneNumberChooserTask = new PhoneNumberChooserTask();
     PhoneNumberChooserTask.Completed += phoneNumberChooserTask_Completed;
 }
Exemplo n.º 53
0
 //retreiving phone number
 private void button1_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         PhoneNumberChooserTask task = new PhoneNumberChooserTask();
         task.Completed += (s, evt) =>
         {
             if (evt.Error == null && evt.TaskResult == TaskResult.OK)
             {
                 temp = evt.PhoneNumber;
                 if (temp != null && temp[0] == '0' && temp.Length > 10)
                     temp = temp.Substring(1);
                 else if (temp != null && temp.Contains("+91"))
                     temp = temp.Substring(3);
                 else if (temp != null && temp.Substring(0, 2).Equals("91") && temp.Length > 10)
                     temp = temp.Substring(2);
                 temp = temp.Replace("-", "");
                 temp = temp.Replace("(", "");
                 temp = temp.Replace(")", "");
                 temp = temp.Replace(" ", "");
                 if (textBox1.Text == string.Empty)
                     textBox1.Text = temp;
                 else
                     textBox1.Text += "," + temp;
             }
         };
         task.Show();
     }
     catch (Exception exce)
     {
     }
 }
Exemplo n.º 54
0
 void btnContactos_Click(object sender, RoutedEventArgs e)
 {
     PhoneNumberChooserTask task = new PhoneNumberChooserTask();
     task.Completed += task_Completed;
     task.Show();
 }
Exemplo n.º 55
0
 private void AddPhoneButton_Click(object sender, RoutedEventArgs e)
 {
     PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask();
     phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
     phoneNumberChooserTask.Show();
 }
Exemplo n.º 56
0
 private void invite_Click(object sender, RoutedEventArgs e)
 {
     PhoneNumberChooserTask pct = new PhoneNumberChooserTask();
     pct.Show();
 }
Exemplo n.º 57
0
 /// <summary>
 /// Handles the Click event of the bButton control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
 private void bButton_Click(object sender, RoutedEventArgs e)
 {
     
     if (((SettingsViewModel)SettingsStackPanel.DataContext).SendMethodEnum == addressType.Email) {
         var email = new EmailAddressChooserTask();
         email.Completed += email_Completed;
         email.Show();
     } else {
         var sms = new PhoneNumberChooserTask();
         sms.Completed += sms_Completed;
         sms.Show();
     }
 }
Exemplo n.º 58
0
        private void Compose_Click(object sender, EventArgs e)
        {
            if (mPivot.SelectedItem == mDialerPivot)
            {
                string curNumber = mCurrentNumber.Text;
                if (string.IsNullOrEmpty(curNumber))
                    return;

                mCurrentNumber.Text = string.Empty;
                Dispatcher.BeginInvoke(() =>
                {
                    NavigationService.Navigate(new Uri(string.Format("/ConversationPage.xaml?phone={0}", Uri.EscapeDataString(curNumber)), UriKind.Relative));
                });
            }
            else
            {

                PhoneNumberChooserTask phoneTask = new PhoneNumberChooserTask();
                phoneTask.Completed += (o, r) =>
                {
                    if (r.TaskResult != TaskResult.OK)
                        return;

                    Dispatcher.BeginInvoke(() =>
                        {
                            NavigationService.Navigate(new Uri(string.Format("/ConversationPage.xaml?phone={0}", Uri.EscapeDataString(r.PhoneNumber)), UriKind.Relative));
                        });
                };
                try
                {
                    phoneTask.Show();
                }
                catch (Exception)
                {
                }
            }
        }