public VehicleInformationPanelProperties(VehicleInformationPanel parent) { int counter = 0; _parent = parent; InitializeComponent(); // Populate our list of choices foreach (Type nextHandlerType in ELM327Connection.LoadedHandlerTypes) { HandlerWrapper wrapper = new HandlerWrapper(nextHandlerType); if (wrapper.HandlerCategory == HandlerCategory.VEHICLE_INFORMATION) { _panelPropertyOptions.Add(new PanelPropertyOption(wrapper, _panelPropertyOptions.Count)); } } // Move items to their positions and mark the selected ones foreach (String nextHandlerName in ((String)Properties.ApplicationSettings.Default[Variables.SETTINGS_VEHICLEINFORMATION_HANDLERS]).Split(Variables.SETTINGS_SEPARATOR)) { String actualHandlerName = String.Copy(nextHandlerName); bool isShown = false; if (actualHandlerName.Length > 0) { if (actualHandlerName[0] == '+') { isShown = true; actualHandlerName = actualHandlerName.Substring(1); } for (int i = 0; i < _panelPropertyOptions.Count; i++) { PanelPropertyOption nextOption = _panelPropertyOptions[i]; if (nextOption.HandlerWrapper.HandlerType.Name.Equals(actualHandlerName)) { _panelPropertyOptions[i].IsChecked = isShown; _panelPropertyOptions[i].Position = counter; _panelPropertyOptions.Move(i, counter++); break; } } } } OnPropertyChanged("DashboardPanelPropertyOptions"); }
public VehicleInformationPanelProperties(VehicleInformationPanel parent) { int counter = 0; this._parent = parent; InitializeComponent(); // Populate our list of choices foreach (Type nextHandlerType in ELM327Connection.LoadedHandlerTypes) { HandlerWrapper wrapper = new HandlerWrapper(nextHandlerType); if (wrapper.HandlerCategory == HandlerCategory.VEHICLE_INFORMATION) { _panelPropertyOptions.Add(new PanelPropertyOption(wrapper, _panelPropertyOptions.Count)); } } // Move items to their positions and mark the selected ones foreach (String nextHandlerName in ((String)Properties.ApplicationSettings.Default[Variables.SETTINGS_VEHICLEINFORMATION_HANDLERS]).Split(Variables.SETTINGS_SEPARATOR)) { String actualHandlerName = String.Copy(nextHandlerName); bool isShown = false; if (actualHandlerName.Length > 0) { if (actualHandlerName[0] == '+') { isShown = true; actualHandlerName = actualHandlerName.Substring(1); } for(int i = 0; i < _panelPropertyOptions.Count; i++) { PanelPropertyOption nextOption = _panelPropertyOptions[i]; if (nextOption.HandlerWrapper.HandlerType.Name.Equals(actualHandlerName)) { _panelPropertyOptions[i].IsChecked = isShown; _panelPropertyOptions[i].Position = counter; _panelPropertyOptions.Move(i, counter++); break; } } } } this.OnPropertyChanged("DashboardPanelPropertyOptions"); }