Example #1
0
        /// <summary>
        /// Handler when the user wants to add a new email address.
        /// </summary>
        private void HandleAddEmail()
        {
            UpdateContactFromFields();

            #if PLATFORM_LUMIN
            MLContacts.TaggedAttribute attr = new MLContacts.TaggedAttribute();
            attr.Tag   = "<i>Tag</i>";
            attr.Value = "<i>E-mail</i>";

            _contact.EmailAddressList.Items.Add(attr);
            #endif

            Refresh();
        }
Example #2
0
        /// <summary>
        /// Handler when the user wants to add a new phone number.
        /// </summary>
        private void HandleAddPhone()
        {
            UpdateContactFromFields();

            #if PLATFORM_LUMIN
            MLContacts.TaggedAttribute attr = new MLContacts.TaggedAttribute();

            attr.Tag   = "<i>Tag</i>";
            attr.Value = "<i>Number</i>";

            _contact.PhoneNumberList.Items.Add(attr);
            #endif

            Refresh();
        }
Example #3
0
        /// <summary>
        /// Deletes all the UI fields and rebuilds them based on _contact.
        /// Any unsaved changes on the fields will be lost. Call UpdateContactFromFields()
        /// before calling Refresh() if changes needed to be saved.
        /// </summary>
        private void Refresh()
        {
            DestroyListItems();

            #if PLATFORM_LUMIN
            _nameField.Text = _contact.Name;
            #endif

            _nameField.enabled = IsEditing;

            float       yOffset    = 0.01f;
            const float xOffset    = -0.25f;
            const float yOffsetInc = -0.03f;

            #if PLATFORM_LUMIN
            for (int i = 0; i < _contact.PhoneNumberList.Count; ++i)
            {
                MLContacts.TaggedAttribute phoneNumber = _contact.PhoneNumberList.Items[i];
                GameObject itemGO = Instantiate(_attributeItem.gameObject, transform);
                itemGO.transform.localPosition = new Vector3(xOffset, yOffset, 0);
                yOffset += yOffsetInc;

                ContactAttributeItemVisualizer item = itemGO.GetComponent <ContactAttributeItemVisualizer>();
                item.ContactPageVisualizer = this;
                item.Attribute             = phoneNumber;
                item.ListIndex             = i;
                item.DeleteCommand         = RemovePhoneNumber;

                _phoneNumberGOList.Add(itemGO);
            }
            #endif

            _addPhoneButton.gameObject.SetActive(IsEditing);
            _addPhoneButton.transform.localPosition = new Vector3(xOffset, yOffset, 0);

            if (IsEditing)
            {
                yOffset += 2 * yOffsetInc;
            }
            #if PLATFORM_LUMIN
            else if (_contact.PhoneNumberList.Count > 0)
            {
                yOffset += yOffsetInc;
            }

            for (int i = 0; i < _contact.EmailAddressList.Count; ++i)
            {
                MLContacts.TaggedAttribute emailAddress = _contact.EmailAddressList.Items[i];
                GameObject itemGO = Instantiate(_attributeItem.gameObject, transform);
                itemGO.transform.localPosition = new Vector3(xOffset, yOffset, 0);
                yOffset += yOffsetInc;

                ContactAttributeItemVisualizer item = itemGO.GetComponent <ContactAttributeItemVisualizer>();
                item.ContactPageVisualizer = this;
                item.Attribute             = emailAddress;
                item.ListIndex             = i;
                item.DeleteCommand         = RemoveEmailAddress;

                item.enabled = IsEditing;

                _emailAddressGOList.Add(itemGO);
            }
            #endif

            _addEmailButton.gameObject.SetActive(IsEditing);
            _addEmailButton.transform.localPosition = new Vector3(xOffset, yOffset, 0);
        }