internal void processToScreen() { toolTip1.RemoveAll(); Params.Items.Clear(); Params.Objects.ForEach(x => { Params.RemoveObject(x); }); Params.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.SingleClick; Params.CanExpandGetter = delegate(object x) { data y = (data)x; if (y.children != null && y.children.Count > 0) return true; return false; }; Params.ChildrenGetter = delegate(object x) { data y = (data)x; return new ArrayList(y.children); }; //Params.Sort(Params.Columns[0], ListSortDirection.Ascending); List<string> sorted = new List<string>(); foreach (string item in MainV2.comPort.MAV.param.Keys) sorted.Add(item); sorted.Sort(); List<data> roots = new List<data>(); data lastroot = new data(); // process hashdefines and update display foreach (string value in sorted) { if (value == null || value == "") continue; //System.Diagnostics.Debug.WriteLine("Doing: " + value); data data = new ConfigRawParamsTree.data(); string[] split = value.Split('_'); data.root = split[0]; data.paramname = value; data.Value = ((float)MainV2.comPort.MAV.param[value]).ToString(); try { string metaDataDescription = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Description); if (!String.IsNullOrEmpty(metaDataDescription)) { string range = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Range); string options = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Values); string units = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Units); data.unit = (units); data.range =( range + options.Replace(","," ")); data.desc = (metaDataDescription); } else if (tooltips[value] != null) { //Params.Rows[Params.RowCount - 1].Cells[Command.Index].ToolTipText = ((paramsettings)tooltips[value]).desc; //Params.Rows[Params.RowCount - 1].Cells[RawValue.Index].ToolTipText = ((paramsettings)tooltips[value]).desc; // Params.Rows[Params.RowCount - 1].Cells[Value.Index].ToolTipText = ((paramsettings)tooltips[value]).desc; // Params.Rows[Params.RowCount - 1].Cells[Desc.Index].Value = "Old: "+((paramsettings)tooltips[value]).desc; //Params.Rows[Params.RowCount - 1].Cells[Default.Index].Value = ((paramsettings)tooltips[value]).normalvalue; //Params.Rows[Params.RowCount - 1].Cells[mavScale.Index].Value = ((paramsettings)tooltips[value]).scale; //Params.Rows[Params.RowCount - 1].Cells[Value.Index].Value = float.Parse(Params.Rows[Params.RowCount - 1].Cells[RawValue.Index].Value.ToString()) / float.Parse(Params.Rows[Params.RowCount - 1].Cells[mavScale.Index].Value.ToString()); } if (lastroot.root == split[0]) { lastroot.children.Add(data); } else { data newroot = new ConfigRawParamsTree.data() { root = split[0], paramname = split[0] }; newroot.children.Add(data); roots.Add(newroot); lastroot = newroot; } } catch (Exception ex) { log.Error(ex); } } foreach (var item in roots) { // if the child has no children, we dont need the root. if ( ((List<data>)item.children).Count == 1) { Params.AddObject(((List<data>)item.children)[0]); continue; } Params.AddObject(item); } }
internal void processToScreen() { toolTip1.RemoveAll(); Params.Items.Clear(); Params.Objects.ForEach(x => { Params.RemoveObject(x); }); Params.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.SingleClick; Params.CanExpandGetter = delegate(object x) { data y = (data)x; if (y.children != null && y.children.Count > 0) { return(true); } return(false); }; Params.ChildrenGetter = delegate(object x) { data y = (data)x; return(new ArrayList(y.children)); }; //Params.Sort(Params.Columns[0], ListSortDirection.Ascending); List <string> sorted = new List <string>(); foreach (string item in MainV2.comPort.MAV.param.Keys) { sorted.Add(item); } sorted.Sort(); List <data> roots = new List <data>(); data lastroot = new data(); // process hashdefines and update display foreach (string value in sorted) { if (value == null || value == "") { continue; } //System.Diagnostics.Debug.WriteLine("Doing: " + value); data data = new ConfigRawParamsTree.data(); string[] split = value.Split('_'); data.root = split[0]; data.paramname = value; data.Value = ((float)MainV2.comPort.MAV.param[value]).ToString(); try { string metaDataDescription = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Description, MainV2.comPort.MAV.cs.firmware.ToString()); if (!String.IsNullOrEmpty(metaDataDescription)) { string range = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Range, MainV2.comPort.MAV.cs.firmware.ToString()); string options = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Values, MainV2.comPort.MAV.cs.firmware.ToString()); string units = ParameterMetaDataRepository.GetParameterMetaData(value, ParameterMetaDataConstants.Units, MainV2.comPort.MAV.cs.firmware.ToString()); data.unit = (units); data.range = (range + options.Replace(",", " ")); data.desc = (metaDataDescription); } else if (tooltips[value] != null) { //Params.Rows[Params.RowCount - 1].Cells[Command.Index].ToolTipText = ((paramsettings)tooltips[value]).desc; //Params.Rows[Params.RowCount - 1].Cells[RawValue.Index].ToolTipText = ((paramsettings)tooltips[value]).desc; // Params.Rows[Params.RowCount - 1].Cells[Value.Index].ToolTipText = ((paramsettings)tooltips[value]).desc; // Params.Rows[Params.RowCount - 1].Cells[Desc.Index].Value = "Old: "+((paramsettings)tooltips[value]).desc; //Params.Rows[Params.RowCount - 1].Cells[Default.Index].Value = ((paramsettings)tooltips[value]).normalvalue; //Params.Rows[Params.RowCount - 1].Cells[mavScale.Index].Value = ((paramsettings)tooltips[value]).scale; //Params.Rows[Params.RowCount - 1].Cells[Value.Index].Value = float.Parse(Params.Rows[Params.RowCount - 1].Cells[RawValue.Index].Value.ToString()) / float.Parse(Params.Rows[Params.RowCount - 1].Cells[mavScale.Index].Value.ToString()); } if (lastroot.root == split[0]) { lastroot.children.Add(data); } else { data newroot = new ConfigRawParamsTree.data() { root = split[0], paramname = split[0] }; newroot.children.Add(data); roots.Add(newroot); lastroot = newroot; } } catch (Exception ex) { log.Error(ex); } } foreach (var item in roots) { // if the child has no children, we dont need the root. if (((List <data>)item.children).Count == 1) { Params.AddObject(((List <data>)item.children)[0]); continue; } Params.AddObject(item); } }