示例#1
0
        private Phonebook.PhoneNumber oldNumber; // редактируемый телефонный номер

        /// <summary>
        /// Конструктор, ограничивающий создание формы без параметров
        /// </summary>
        private FrmPhoneNumber()
        {
            InitializeComponent();

            newNumber = null;
            oldNumber = null;
        }
示例#2
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            // удаление выбранного объекта
            object selObj = GetSelectedObject();

            Phonebook.PhoneGroup  group  = selObj as Phonebook.PhoneGroup;
            Phonebook.PhoneNumber number = selObj as Phonebook.PhoneNumber;

            if (group != null)
            {
                // удаление группы телефонных номеров
                RemoveGroup(group);
                Modified = true;
            }
            else if (number != null)
            {
                // удаление телефонного номера
                TreeNode phoneGroupNode;
                GetCurrentGroup(out group, out phoneGroupNode);
                if (group != null)
                {
                    RemoveNumber(group, phoneGroupNode, number);
                    Modified = true;
                }
            }
        }
示例#3
0
        /// <summary>
        /// Удалить телефонный номер из справочника и из дерева
        /// </summary>
        private void RemoveNumber(Phonebook.PhoneGroup group, TreeNode groupNode, Phonebook.PhoneNumber number)
        {
            int ind = group.FindPhoneNumberIndex(number.Number);

            if (ind >= 0)
            {
                RemoveNumber(group, groupNode, ind);
            }
        }
示例#4
0
        private TreeNode nodePhonebook;             // узел справочника


        /// <summary>
        /// Конструктор, ограничивающий создание формы без параметров
        /// </summary>
        private FrmPhonebook()
        {
            InitializeComponent();

            appDirs       = null;
            phonebook     = new Phonebook();
            modified      = false;
            copiedNumber  = null;
            nodePhonebook = tvPhonebook.Nodes["nodePhonebook"];
        }
示例#5
0
 private void btnCopyNumber_Click(object sender, EventArgs e)
 {
     // копирование телефонного номера
     Phonebook.PhoneNumber number = GetSelectedObject() as Phonebook.PhoneNumber;
     if (number != null)
     {
         copiedNumber           = number;
         btnPasteNumber.Enabled = true;
     }
 }
示例#6
0
 private void btnCutNumber_Click(object sender, EventArgs e)
 {
     // вырезать телефонный номер
     Phonebook.PhoneNumber number = GetSelectedObject() as Phonebook.PhoneNumber;
     if (number != null)
     {
         copiedNumber = number;
         btnDelete_Click(null, null);
     }
 }
示例#7
0
        /// <summary>
        /// Вставить телефонный номер в справочник и в дерево, проверив уникальность номера
        /// </summary>
        private void InsertNumber(Phonebook.PhoneGroup group, TreeNode groupNode, Phonebook.PhoneNumber number)
        {
            int ind = group.FindPhoneNumberInsertIndex(number);

            group.PhoneNumbers.Insert(ind, number);
            TreeNode node = CreateNumberNode(number);

            groupNode.Nodes.Insert(ind, node);
            groupNode.ImageKey       = groupNode.SelectedImageKey = "folder_open.png";
            tvPhonebook.SelectedNode = node;
        }
示例#8
0
 /// <summary>
 /// Создать узел дерева для группы телефонных номеров
 /// </summary>
 private TreeNode CreateNumberNode(Phonebook.PhoneNumber number)
 {
     return(new TreeNode()
     {
         Text = number.Name == "" ?
                number.Number :
                number.Number + " (" + number.Name + ")",
         ImageKey = "phone.png",
         SelectedImageKey = "phone.png",
         Tag = number
     });
 }
示例#9
0
        /// <summary>
        /// Редактировать телефонный номер
        /// </summary>
        /// <returns>Возвращает новый телефонный номер, созданный на основе заданного,
        /// или null в случае отмены</returns>
        public static Phonebook.PhoneNumber EditPhoneNumber(Phonebook.PhoneNumber phoneNumber)
        {
            if (phoneNumber == null)
            {
                throw new ArgumentNullException("phoneNumber");
            }

            FrmPhoneNumber frmPhoneGroup = new FrmPhoneNumber();

            frmPhoneGroup.oldNumber = phoneNumber;
            frmPhoneGroup.ShowDialog();
            return(frmPhoneGroup.newNumber);
        }
示例#10
0
        private void btnCreateNumber_Click(object sender, EventArgs e)
        {
            // создание телефонного номера
            Phonebook.PhoneGroup group;
            TreeNode             groupNode;

            GetCurrentGroup(out group, out groupNode);

            if (group != null)
            {
                Phonebook.PhoneNumber newNumber = FrmPhoneNumber.CreatePhoneNumber();
                InsertOrUpdateNumber(group, groupNode, newNumber);
            }
        }
示例#11
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            // редактирование выбранного объекта
            object selObj = GetSelectedObject();

            Phonebook.PhoneGroup  group  = selObj as Phonebook.PhoneGroup;
            Phonebook.PhoneNumber number = selObj as Phonebook.PhoneNumber;

            if (group != null)
            {
                // редактирование группы телефонных номеров
                Phonebook.PhoneGroup newGroup = FrmPhoneGroup.EditPhoneGroup(group);
                if (newGroup != null && !group.Equals(newGroup))
                {
                    RemoveGroup(group);
                    InsertGroup(newGroup);
                    Modified = true;
                }
            }
            else if (number != null)
            {
                // редактирование телефонного номера
                TreeNode groupNode;
                GetCurrentGroup(out group, out groupNode);

                if (group != null)
                {
                    Phonebook.PhoneNumber newNumber = FrmPhoneNumber.EditPhoneNumber(number);
                    if (newNumber != null && !number.Equals(newNumber))
                    {
                        RemoveNumber(group, groupNode, number);
                        InsertNumber(group, groupNode, newNumber);
                        Modified = true;
                    }
                }
            }
        }
示例#12
0
 private void btnCreate_Click(object sender, EventArgs e)
 {
     // создание телефонного номера
     newNumber    = new Phonebook.PhoneNumber(txtNumber.Text.Trim(), txtName.Text.Trim());
     DialogResult = DialogResult.OK;
 }
示例#13
0
 /// <summary>
 /// Вставить телефонный номер в справочник и в дерево или обновить существующий номер
 /// </summary>
 private void InsertOrUpdateNumber(Phonebook.PhoneGroup group, TreeNode groupNode, Phonebook.PhoneNumber number)
 {
     if (number != null)
     {
         int ind = group.FindPhoneNumberIndex(number.Number);
         if (ind < 0)
         {
             InsertNumber(group, groupNode, number);
             Modified = true;
         }
         else if (MessageBox.Show(KpPhrases.UpdatePhoneNumberConfirm, CommonPhrases.QuestionCaption,
                                  MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             RemoveNumber(group, groupNode, ind);
             InsertNumber(group, groupNode, number);
             Modified = true;
         }
     }
 }