public static Button Quest_Edit(Button reference, int row, int Column, Grid parent, IQuest quest, QuestWpfItem wpf_item, StackPanel item_line)
        {
            var btn = Get(reference, row, Column, parent, UtilWPF.GetIconButton("save_black"));

            btn.Click += async(source, e) =>
            {
                btn.Content = UtilWPF.GetIconButton("save");
                await System.Threading.Tasks.Task.Delay(2000);

                btn.Content = UtilWPF.GetIconButton("save_black");

                if (quest is VocVM)
                {
                    QuestWpfUtil.EditClick(quest as VocVM, wpf_item as VocWpfItem, item_line);
                }
                else if (quest is PronVM)
                {
                    QuestWpfUtil.EditClick(quest as PronVM, wpf_item as PronWpfItem, item_line);
                }
                else if (quest is SpellVM)
                {
                    QuestWpfUtil.EditClick(quest as SpellVM, wpf_item as SpellWpfItem, item_line);
                }
            };

            return(btn);
        }
        private static void SuccessfulInserted(IQuestWpfHeader header, List <bool> successful)
        {
            var type = header is VocWpfHeader ? Model.Voc :
                       header is PronWpfHeader ? Model.Pron :
                       header is SpellWpfHeader ? Model.Spell : 0;

            var added = QuestControl.Get(type).Last();

            added.LoadCrossData();
            QuestWpfUtil.AddWpfItem(header.Stk_items, added);
            successful.Add(true);
        }
        public static Button Quest_Insert(Button reference, int row, int Column, Grid parent, StackPanel stk_items, QuestWpfHeader wpf_header)
        {
            var btn = Get(reference, row, Column, parent, "Insert");

            btn.Click += (source, e) =>
            {
                if (wpf_header is VocWpfHeader)
                {
                    QuestWpfUtil.InsertClick(stk_items, wpf_header as VocWpfHeader);
                }
                else if (wpf_header is PronWpfHeader)
                {
                    QuestWpfUtil.InsertClick(stk_items, wpf_header as PronWpfHeader);
                }
                else if (wpf_header is SpellWpfHeader)
                {
                    QuestWpfUtil.InsertClick(stk_items, wpf_header as SpellWpfHeader);
                }
            };

            return(btn);
        }