private async void BtnMinimize_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var items     = new List <LogicItem>();
                int variables = 2;
                switch (TabInputMode.SelectedIndex)
                {
                case 0:
                    items.AddRange(Minterm2x.GetSelected());
                    variables = 2;
                    break;

                case 1:
                    items.AddRange(Minterm3x.GetSelected());
                    variables = 3;
                    break;

                case 2:
                    items.AddRange(Minterm4x.GetSelected());
                    variables = 4;
                    break;

                case 3:
                    items.AddRange(Minterm5x.GetSelected());
                    variables = 5;
                    break;

                case 4:
                    variables = (int)EsListVarCount.Value;
                    foreach (var line in TbListSet.Text.Split('\n'))
                    {
                        if (string.IsNullOrEmpty(line))
                        {
                            continue;
                        }
                        items.Add(LogicItem.CreateFromMintermIndex(Convert.ToInt32(line.Replace("\r", "")), variables, true));
                    }
                    foreach (var line in TbListDontCare.Text.Split('\n'))
                    {
                        if (string.IsNullOrEmpty(line))
                        {
                            continue;
                        }
                        items.Add(LogicItem.CreateFromMintermIndex(Convert.ToInt32(line.Replace("\r", "")), variables, null));
                    }
                    break;
                }
                string result = QuineMcclusky.GetSimplified(items, variables, (bool)CbHazardFree.IsChecked, (bool)RadioLSB.IsChecked);
                TbResults.Text = result;
            }
            catch (Exception ex)
            {
                await _app.ShowMessageBox("Error", ex.Message, DialogButtons.Ok);
            }
        }
 private void BtnUnsetAll_Click(object sender, RoutedEventArgs e)
 {
     if (!_loaded)
     {
         return;
     }
     Minterm2x.SetAll(false);
     Minterm3x.SetAll(false);
     Minterm4x.SetAll(false);
     Minterm5x.SetAll(false);
 }
 private void VarnameSet(object sender, RoutedEventArgs e)
 {
     if (!_loaded)
     {
         return;
     }
     Minterm2x.SwapVarnames();
     Minterm3x.SwapVarnames();
     Minterm4x.SwapVarnames();
     Minterm5x.SwapVarnames();
 }