public Automat2D() { InitializeComponent(); GridController = GridController.GetInstance(); GridController.SetNeighborhoodType(0); boundaryComboBox.SelectedIndex = 0; randomNeighborhoodComboBox.SelectedIndex = 0; NeighborhoodCheckedListBox.SetItemChecked(0, true); pointsToDraw = new List <Point>(); xCellTextBox.Text = Grid.SizeX.ToString(); yCellTextBox.Text = Grid.SizeY.ToString(); //GRID VIEW Zoom = zoomTrackBar.Value; GridController.Zoom = Zoom; ; DrawGridValue = gridCheckBox.Checked; GridController.DrawGrid = DrawGridValue; Bitmap gridToDraw = this.GridController.GetGridImage(); this.gridPictureBox.Size = new Size(gridToDraw.Width, gridToDraw.Height); DrawGrid(gridToDraw); SetAliveRuleFromTextBox(); SetDeadRuleFromTextBox(); }
private void randomNeighborhoodComboBox_SelectedIndexChanged(object sender, EventArgs e) { randomThresholdTextBox_Leave(sender, e); GridController.Neighborhood.RandomMode = (RandomNeighborhoodMode)randomNeighborhoodComboBox.SelectedIndex; if (!GridController.Neighborhood.IsRandomModeMultiNeighborhood() && NeighborhoodCheckedListBox.CheckedIndices.Count > 1) { for (int i = 0; i < NeighborhoodCheckedListBox.Items.Count; i++) { NeighborhoodCheckedListBox.SetItemChecked(i, false); } NeighborhoodCheckedListBox.SetItemChecked(0, true); GridController.Neighborhood.SetNeighborhood(new List <int>() { 0 });; } GridController.Neighborhood.SetNeighborhood(NeighborhoodCheckedListBox.CheckedIndices.Cast <int>().ToList()); }
private void NeighborhoodCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) { if (!GridController.Neighborhood.IsRandomModeMultiNeighborhood()) { if (e.NewValue == CheckState.Checked && NeighborhoodCheckedListBox.CheckedItems.Count > 0) { NeighborhoodCheckedListBox.ItemCheck -= NeighborhoodCheckedListBox_ItemCheck; NeighborhoodCheckedListBox.SetItemChecked(NeighborhoodCheckedListBox.CheckedIndices[0], false); NeighborhoodCheckedListBox.ItemCheck += NeighborhoodCheckedListBox_ItemCheck; } } var list = NeighborhoodCheckedListBox.CheckedIndices.Cast <int>().ToList(); if (e.NewValue == CheckState.Unchecked) { if (NeighborhoodCheckedListBox.CheckedItems.Count == 1) { e.NewValue = CheckState.Checked; GridController.Neighborhood.SetNeighborhood(new List <int>() { e.Index }); } else { list.Remove(e.Index); GridController.Neighborhood.SetNeighborhood(list); } } else { list.Add(e.Index); GridController.Neighborhood.SetNeighborhood(list); } SetThresholdTextBox(); }