public void PopulateFromState(ICompleteState completeState) { if (tablePanel.Controls.Count > 0) { ClearUIControls(); } foreach(ISoundState state in completeState.SoundStates) { var control = PlayerControlFactory.GetSoundControl(state); tablePanel.Controls.Add(control as Control, control.ColumnPosition, control.RowPosition); } for(int column = 0; column < MaxPlayerColumns; column++) { for (int row = 0; row < MaxPlayerRows; row++) { if(tablePanel.GetControlFromPosition(column, row) == null) { var placeholder = new PlaceholderControl(); placeholder.ContextMenuStrip = playerContextMenuStrip; tablePanel.Controls.Add(placeholder, column, row); } } } }
private void ResetUI() { if(tablePanel.Controls.Count > 0) { ClearUIControls(); } for (int cols = 0; cols < MaxPlayerColumns; cols++) { for(int rows = 0; rows < MaxPlayerRows; rows++) { var placeholder = new PlaceholderControl(); placeholder.ContextMenuStrip = playerContextMenuStrip; tablePanel.Controls.Add(placeholder, cols, rows); } } }
void removePlayerToolStripMenuItem_Click(object sender, System.EventArgs e) { var columnRow = GetColumnRowFromControl(contextSourceControl); tablePanel.Controls.Remove(contextSourceControl); var placeholder = new PlaceholderControl(); placeholder.ContextMenuStrip = playerContextMenuStrip; tablePanel.Controls.Add(placeholder, columnRow.X, columnRow.Y); }