Пример #1
0
        private void FilterByText(string currentFilter)
        {
            if (currentFilter != "")
            {
                isFiltered = true;
                if (isFieldSorted)
                {
                    foreach (var Perk in PerkFieldSelected.ToList())
                    {
                        if (!Perk.Name.StartsWith(currentFilter))
                        {
                            PerkFieldSelected.Remove(Perk);
                        }
                    }
                }
                else
                {
                    PerkFieldSelected = PerksCollection.FilterByName(currentFilter);
                }

                lbPerks.ItemsSource = PerkFieldSelected;
                lbPerks.Items.Refresh();
            }
            else
            {
                isFiltered          = false;
                lbPerks.ItemsSource = PerksCollection;
                lbPerks.Items.Refresh();
            }
        }
Пример #2
0
 public MainWindow()
 {
     InitializeComponent();
     PerksCollection     = new PerksCollection();
     PerkFieldSelected   = new PerksCollection();
     isFiltered          = false;
     CbField.ItemsSource = Enum.GetNames(typeof(Field));
 }
 public SimulationWindow(PerksCollection perks)
 {
     InitializeComponent();
     myCharacter            = new Character();
     defaulCharacter        = new Character();
     DataContext            = myCharacter;
     perksCollection        = perks;
     SelectedPerks          = new List <Perk>();
     isSelectionChanged     = false;
     lbAll.ItemsSource      = perksCollection;
     lbSelected.ItemsSource = SelectedPerks;
     lbAll.Items.Refresh();
     lbSelected.Items.Refresh();
 }
Пример #4
0
        private void SavePressed(object sender, RoutedEventArgs e)
        {
            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.Filter = "XML files |*.xml| Json files |*.json| CSV files |*.csv| Text files |*.txt";

            if (saveFile.ShowDialog() == true)
            {
                if (!PerksCollection.Save(saveFile.FileName))
                {
                    MessageBox.Show("Unable to save file.");
                }
            }
        }
Пример #5
0
 private void SortPerkBy(Field selectedField)
 {
     if (selectedField == Field.None)
     {
         isFieldSorted       = false;
         lbPerks.ItemsSource = PerksCollection;
         lbPerks.Items.Refresh();
     }
     else
     {
         isFieldSorted       = true;
         PerkFieldSelected   = PerksCollection.GetAllPerksWithField(selectedField);
         lbPerks.ItemsSource = PerkFieldSelected;
         lbPerks.Items.Refresh();
     }
 }
Пример #6
0
        private void AddPressed(object sender, RoutedEventArgs e)
        {
            EditWindow editWindow = new EditWindow();

            if (editWindow.ShowDialog() == true)
            {
                if (editWindow.myPerk != null)
                {
                    PerksCollection.Add(editWindow.myPerk);
                }
                if (lbPerks.ItemsSource == null)
                {
                    lbPerks.ItemsSource = PerksCollection;
                }
                lbPerks.Items.Refresh();
            }
        }
Пример #7
0
        private void RemovePressed(object sender, RoutedEventArgs e)
        {
            if (lbPerks.SelectedIndex == -1)
            {
                return;
            }


            if (isFieldSorted)
            {
                PerksCollection.Remove(PerkFieldSelected[lbPerks.SelectedIndex]);
                PerkFieldSelected.RemoveAt(lbPerks.SelectedIndex);
            }
            else
            {
                PerksCollection.RemoveAt(lbPerks.SelectedIndex);
            }
            lbPerks.Items.Refresh();
        }
Пример #8
0
        private void LoadPressed(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            openFile.Filter = "XML files |*.xml| Json files |*.json| CSV files |*.csv| Text files |*.txt";

            if (openFile.ShowDialog() == true)
            {
                if (!PerksCollection.Load(openFile.FileName))
                {
                    MessageBox.Show("Unable to load the file.");
                    lbPerks.Items.Refresh();
                }
                else
                {
                    lbPerks.ItemsSource = PerksCollection;
                    lbPerks.Items.Refresh();
                }
            }
        }
Пример #9
0
        private void EditPressed(object sender, RoutedEventArgs e)
        {
            if (lbPerks.SelectedIndex == -1)
            {
                return;
            }
            if (PerksCollection.Any())
            {
                EditWindow editWindow = new EditWindow();
                editWindow.myPerk = lbPerks.SelectedItem as Perk;

                if (editWindow.ShowDialog() == true)
                {
                    if (editWindow.myPerk != null)
                    {
                        PerksCollection[lbPerks.SelectedIndex] = editWindow.myPerk;
                    }
                    lbPerks.Items.Refresh();
                }
            }
        }