} // prevent to call default constructor public ControlBitParam(string configFile) { _controlBitArray = new ControlBit[NUMBER_OF_CONTROL_BITS]; using (INIFile iniFile = new INIFile(configFile, false, true)) { // we need to load all related info from ini file for (int bitNumber = 0; bitNumber < NUMBER_OF_CONTROL_BITS; bitNumber++) { _controlBitArray[bitNumber] = new ControlBit(); for (int verNumber = 0; verNumber < Settings.BoardVersions.Length; verNumber++) { string sectionNumber = PARAMINFO_INI_SECTION_CONTROL_BITS_PREFIX + (verNumber + 1); string bitPrefix = "Bit" + bitNumber + "_"; int bitPosition = iniFile.GetValue(sectionNumber, bitPrefix + PARAMINFO_INI_KEY_BIT_POSITION, INI_SECTION_NOT_AVAILABLE_VERIFIER); if (bitPosition == INI_SECTION_NOT_AVAILABLE_VERIFIER) { _logger.WriteLine(LogLevel.Error, $"Can't fill Control RParam Info - Section [{sectionNumber}] is not available"); continue; } string description = iniFile.GetValue(sectionNumber, bitPrefix + PARAMINFO_INI_KEY_DESCRIPTION, "INI Loading Error"); int bitsUsed = iniFile.GetValue(sectionNumber, bitPrefix + PARAMINFO_INI_KEY_BITS_USED, 1); bool visible = iniFile.GetValue(sectionNumber, bitPrefix + PARAMINFO_INI_KEY_VISIBLE, false); int defaultValue = iniFile.GetValue(sectionNumber, bitPrefix + PARAMINFO_INI_KEY_DEFAULT_VALUE, 0); string[] valuesInfo = iniFile.GetValue(sectionNumber, bitPrefix + PARAMINFO_INI_KEY_VALUES_INFO, "INI Loading Error").Split(','); ControlBitInfo controlBitInfo = new ControlBitInfo(description, bitPosition, bitsUsed, visible, defaultValue, valuesInfo); _controlBitArray[bitNumber].SetControlBitInfo(verNumber, controlBitInfo); } } } }
private void ShowBoardInfo(int index) { Board board = getBoardInfoDelegate(index); dgvControlBits.Rows.Clear(); dgvControlBits.Refresh(); dgvParams.Rows.Clear(); dgvParams.Refresh(); for (byte loop = 0; loop < board.Params.GetNumberOfParams(board.BoardVersion); loop++) { ParamInfo paramInfo = board.Params[loop].GetParamInfo(board.BoardVersion); if (paramInfo == null) { _logger.WriteLine(LogLevel.Error, $"Unable to load param bit info for bit[{loop}] and board ver[{board.BoardVersion}]"); return; } if (paramInfo.Visible) { DataGridViewRow dgr = new DataGridViewRow(); dgr.Cells.Add(new DataGridViewTextBoxCell()); dgr.Cells.Add(new DataGridViewTextBoxCell()); dgr.Cells.Add(new DataGridViewTextBoxCell()); dgr.Cells[0].Value = loop; dgr.Cells[1].Value = paramInfo.Description; dgr.Cells[2].Value = board.Params[loop].Value; dgvParams.Rows.Add(dgr); } } ControlBitParam controlBitParam = board.ControlParam; for (byte loop = 0; loop < ControlBitParam.NUMBER_OF_CONTROL_BITS; loop++) { ControlBitInfo controlBitInfo = controlBitParam[loop].GetControlBitInfo(board.BoardVersion); if (controlBitInfo == null) { _logger.WriteLine(LogLevel.Error, $"Unable to load control bit info for bit[{loop}] and board ver[{board.BoardVersion}]"); return; } if (controlBitInfo.Visible) { DataGridViewRow dgr = new DataGridViewRow(); dgr.Cells.Add(new DataGridViewTextBoxCell()); dgr.Cells.Add(new DataGridViewTextBoxCell()); dgr.Cells.Add(new DataGridViewComboBoxCell()); dgr.Cells[0].Value = loop; dgr.Cells[1].Value = controlBitInfo.Description; // fill combobox DataGridViewComboBoxCell comboBoxCell = (DataGridViewComboBoxCell)(dgr.Cells[2]); foreach (string valueInfo in controlBitInfo.ValuesInfo) { comboBoxCell.Items.Add(valueInfo); } comboBoxCell.Value = comboBoxCell.Items[0]; dgvControlBits.Rows.Add(dgr); } } }
public void AddControlBit(ControlBitInfo cBit) { }
public void SetControlBitInfo(int boardVersion, ControlBitInfo controlBitInfo) { int index = boardVersion; _controlBitInfo[index] = controlBitInfo.Clone(); }