• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ArduPilot / MethodicConfigurator / 27091511427

07 Jun 2026 11:41AM UTC coverage: 94.441% (-0.4%) from 94.879%
27091511427

push

github

amilcarlucas
feat(parameter editor): embed inline component editor into parameter editor window

When a configuration step declares a "component" field, the parameter
editor now shows a read/edit panel for that vehicle component directly
inside the same window, above the parameter editor table, removing the
need to go back to the component editor window.
To go back to the component editor window one has to close the application.

Changes:
- Add "component" field to relevant ArduCopter configuration steps and
  to the JSON schema/strings so other vehicle types can adopt it.
- Extend ComponentEditorWindowBase to support an embedded mode: skips
  BaseWindow init, reuses the parent window root, renders only the one
  named component into a plain ttk.Frame, and fires an on_component_change
  callback on every field edit.
- Add inline_component_container (LabelFrame, hidden until needed) and
  _update_inline_component_editor() to ParameterEditorWindow; the
  container is shown/hidden on every file-combobox change.
- Sync editor edits back to vehicle_components_fs.data["Components"]
  in-place in _on_component_data_changed() so the derived-parameter
  evaluator (which holds a reference to that same dict) sees the new
  values without a full step reload.
- Add refresh_current_step_derived_parameters() to ParameterEditor: a
  lightweight patch that recomputes only derived values in the existing
  current_step_parameters dict, preserving user edits, deleted params,
  and show-only-differences filtering.
- Extend handle_write_changes_workflow() to offer a separate save prompt
  for component changes when the user declines to save parameter changes.
- Track disk vs in-memory state in JsonWithSchema via _data_on_disk and
  has_unsaved_changes(); use explicit `is not None` guards (not falsy
  `or {}`) to handle empty-dict data correctly.
- Expose local_filesystem as a public property on ParameterEditor to
  avoid SLF001 violations in the frontend.
- Add add_template_controls() ... (continued)

1930 of 2002 branches covered (96.4%)

12369 of 13097 relevant lines covered (94.44%)

2.83 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

81.92
/data_model_parameter_editor.py


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc