Add 5 new wxWidgets feature tests: PropertyGrid, Pickers, Collapsible, ListCtrl, InfoBar

Implements and tests remaining KiCad-critical wxWidgets features:
- wxPropertyGrid/wxPropertyGridManager for property panels
- wxColourPickerCtrl/wxFontPickerCtrl for color and font selection
- wxCollapsiblePane for expandable UI sections
- wxListCtrl virtual mode for large lists (10,000+ items)
- wxInfoBar for notification messages

Total: 159 tests passing across 20 standalone apps (~90% KiCad coverage)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2025-12-03 16:57:02 +01:00
commit e8536a9a6d
35 changed files with 1802 additions and 14 deletions

View file

@ -9,7 +9,7 @@ Last updated: 2025-12-03
| Category | Status | Notes |
|----------|--------|-------|
| Main App Load | WORKS | minimal_test.html loads and renders correctly |
| Standalone Apps | WORKS | 15 standalone test apps (136 total tests passing) |
| Standalone Apps | WORKS | 20 standalone test apps (159 total tests passing) |
| wxGrid | WORKS | Grid renders with cells, labels, and event handling |
| wxTreeCtrl | WORKS | Tree renders with expand/collapse, selection, add/delete items |
| wxTimer | PARTIAL | Timer test app works, some tests have coordinate issues |
@ -19,6 +19,12 @@ Last updated: 2025-12-03
| wxStyledTextCtrl | WORKS | Syntax highlighting for DRC rules, Python console |
| wxPrinting | WORKS | Print preview, print dialog, browser print via window.print() |
| wxDragDrop | WORKS | HTML5 file drop support for external files |
| wxPropertyGrid | WORKS | Property panels with categories, types, events |
| wxColourPickerCtrl | WORKS | Color pickers for layer colors |
| wxFontPickerCtrl | WORKS | Font pickers for text preferences |
| wxCollapsiblePane | WORKS | Expandable/collapsible property sections |
| wxListCtrl (virtual) | WORKS | Virtual mode for 10000+ item lists |
| wxInfoBar | WORKS | Notification bar for messages and warnings |
---
@ -182,6 +188,11 @@ Organized in `wasm-app/standalone/` folders:
| stc/stc_test | WORKS | 10/10 | DRC rules editor, Python console |
| print/print_test | WORKS | 8/8 | Schematic/PCB printing |
| dnd/dnd_test | WORKS | 9/9 | External file drop support |
| propgrid/propgrid_test | WORKS | 4/4 | Property panels (KiCad property editor) |
| pickers/pickers_test | WORKS | 4/4 | Color/font pickers (layer colors) |
| collapsible/collapsible_test | WORKS | 5/5 | Collapsible sections (property groups) |
| listctrl/listctrl_test | WORKS | 5/5 | Virtual list (large component lists) |
| infobar/infobar_test | WORKS | 5/5 | Notification bar (DRC messages) |
---
@ -255,27 +266,25 @@ Organized in `wasm-app/standalone/` folders:
15. **wxStyledTextCtrl** - DRC rules editor, Python console, script editors
16. **wxPrinting** - Print preview, print dialog, browser print via window.print()
17. **wxDragDrop** - External file drops via HTML5 drag and drop API
18. **wxPropertyGrid** - Property panels with categories, various property types
19. **wxPropertyGridManager** - Multi-page property organization
20. **wxColourPickerCtrl** - Color pickers for layer colors
21. **wxFontPickerCtrl** - Font pickers for text preferences
22. **wxCollapsiblePane** - Expandable/collapsible property sections
23. **wxListCtrl (virtual)** - Virtual mode for 10000+ item lists
24. **wxInfoBar** - Notification bar for DRC messages, warnings
### Untested for KiCad - Identified Gaps
Based on comprehensive audit of KiCad's wxWidgets usage (~85 classes, ~105 event types):
### Untested for KiCad - Remaining Gaps
| Feature | KiCad Usage | Priority | Status |
|---------|-------------|----------|--------|
| wxPropertyGrid | Property panels in ALL editors | CRITICAL | NOT TESTED |
| wxPropertyGridManager | Multi-page property organization | CRITICAL | NOT TESTED |
| wxListCtrl virtual mode | Large component lists (10000+ items) | HIGH | NOT TESTED |
| wxDataViewCtrl virtual mode | Zone Manager, Net Inspector (large data) | HIGH | NOT TESTED |
| wxColourPickerCtrl | Color preferences, layer colors | HIGH | NOT TESTED |
| wxFontPickerCtrl | Font preferences | HIGH | NOT TESTED |
| wxCollapsiblePane | Property panel grouping | HIGH | NOT TESTED |
| wxAuiNotebook | Tab panels (variant) | MEDIUM | NOT TESTED |
| wxInfoBar | Notifications | MEDIUM | NOT TESTED |
| wxWizard | Footprint wizard | MEDIUM | NOT TESTED |
| wxGrid cell editing | Property editing | MEDIUM | PARTIAL |
| wxCalendarCtrl | Date selection | LOW | NOT TESTED |
**Current Coverage**: ~70% of KiCad-critical features tested
**Current Coverage**: ~90% of KiCad-critical features tested (159 tests across 20 apps)
### Not Needed for KiCad
1. wxRichTextCtrl - Disabled in WASM build, KiCad doesn't use it