Esempio n. 1
0
        private void CommitNameEdit(string oldName, string newName)
        {
            var duplicate = Tracks.Any(t => t != editingButton.Tag && t.Name == newName);

            if (duplicate)
            {
                MessageBox.Show(T._("Ein Gleis mit der Bezeichnung {0} ist bereits vorhanden. Bitte wählen Sie einen anderen Namen!", newName), MessageBoxType.Error);
                return;
            }

            // Streckengleise umbenennen
            DefaultTrackLeft.ReplaceAllValues(editingButton.Tag.Name, newName);
            DefaultTrackRight.ReplaceAllValues(editingButton.Tag.Name, newName);

            // Ankunfts- und Abfahrtsgleise zum umbenennen stagen
            if (TrackRenames.ContainsKey(newName))
            {
                TrackRenames.Remove(newName);
            }
            else if (TrackRenames.ContainsValue(oldName))
            {
                var k = TrackRenames.First(kvp => kvp.Value == oldName).Key;
                TrackRenames[k] = newName;
            }
            else if (!TrackRenames.ContainsKey(oldName) && !TrackRenames.ContainsValue(newName))
            {
                TrackRenames.Add(oldName, newName);
            }

            editingButton.Tag.Name = newName;
            Invalidate();

            editingButton = null;
        }
Esempio n. 2
0
        private void DeleteBtn_Click(object sender, EventArgs e)
        {
            var btn = (RenderBtn <Track>)sender;

            Tracks.Remove(btn.Tag);

            var firstName = Tracks.FirstOrDefault()?.Name;

            DefaultTrackLeft.ReplaceAllValues(btn.Tag.Name, firstName);
            DefaultTrackRight.ReplaceAllValues(btn.Tag.Name, firstName);

            trackRemoves.Add(btn.Tag.Name);

            Invalidate();
        }