Enhanced Textual TUI with proper API usage and documentation
- Fixed DataTable row selection and event handling - Added explicit column keys to prevent auto-generated keys - Implemented row-to-flow mapping for reliable selection tracking - Converted left metrics panel to horizontal top bar - Fixed all missing FlowStats/EnhancedAnalysisData attributes - Created comprehensive Textual API documentation in Documentation/textual/ - Added validation checklist to prevent future API mismatches - Preserved cursor position during data refreshes - Fixed RowKey type handling and event names The TUI now properly handles flow selection, displays metrics in a compact top bar, and correctly correlates selected rows with the details pane.
This commit is contained in:
78
COLUMN_ALIGNMENT_VALIDATION.md
Normal file
78
COLUMN_ALIGNMENT_VALIDATION.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Column Alignment Validation
|
||||
|
||||
## Expected Column Alignment
|
||||
|
||||
The following shows the exact character positions for column alignment:
|
||||
|
||||
```
|
||||
Position: 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
Header: # Source Proto Destination Extended Frame Type Pkts Volume Timing Quality
|
||||
Flow: 1 192.168.4.89:1024 UDP 239.1.2.10:8080 3 types Mixed 1452 1.9MB 77.8ms Enhanced
|
||||
Sub-row: CH10 CH10-Data 1110 1.44MB 102ms 76.4%
|
||||
Sub-row: CH10 TMATS 114 148KB 990ms 7.8%
|
||||
Sub-row: UDP 228 296KB 493ms 15.7%
|
||||
```
|
||||
|
||||
### Right-Aligned Column Validation
|
||||
|
||||
The following columns should align on their right edges:
|
||||
- **Pkts**: Right edge at position 77
|
||||
- **Volume**: Right edge at position 85
|
||||
- **Timing**: Right edge at position 93
|
||||
- **Quality**: Right edge at position 101
|
||||
|
||||
Example with proper right alignment:
|
||||
```
|
||||
Pkts Column (6 chars, right-aligned):
|
||||
1452
|
||||
1110
|
||||
114
|
||||
228
|
||||
|
||||
Volume Column (8 chars, right-aligned):
|
||||
1.9MB
|
||||
1.44MB
|
||||
148KB
|
||||
296KB
|
||||
|
||||
Timing Column (8 chars, right-aligned):
|
||||
77.8ms
|
||||
102ms
|
||||
990ms
|
||||
493ms
|
||||
|
||||
Quality Column (8 chars, right-aligned):
|
||||
Enhanced
|
||||
76.4%
|
||||
7.8%
|
||||
15.7%
|
||||
```
|
||||
|
||||
## Column Specifications
|
||||
|
||||
1. **Flow Number**: Positions 1-3 (right-aligned in 2 chars + 1 space)
|
||||
2. **Source**: Positions 4-23 (20 characters, left-aligned)
|
||||
3. **Proto**: Positions 24-29 (6 characters, left-aligned)
|
||||
4. **Destination**: Positions 30-49 (20 characters, left-aligned)
|
||||
5. **Extended**: Positions 50-59 (10 characters, left-aligned)
|
||||
6. **Frame Type**: Positions 60-71 (12 characters, left-aligned)
|
||||
7. **Pkts**: Positions 72-77 (6 characters, right-aligned)
|
||||
8. **Volume**: Positions 78-85 (8 characters, right-aligned)
|
||||
9. **Timing**: Positions 86-93 (8 characters, right-aligned)
|
||||
10. **Quality**: Positions 94-101 (8 characters, right-aligned)
|
||||
|
||||
## Sub-Row Alignment
|
||||
|
||||
Sub-rows use:
|
||||
- Positions 1-3: Empty spaces (matching flow number space)
|
||||
- Positions 4-23: Empty (inherits source from main flow)
|
||||
- Positions 24-29: Empty (inherits protocol from main flow)
|
||||
- Positions 30-49: Empty (inherits destination from main flow)
|
||||
- Positions 50-59: Extended protocol
|
||||
- Positions 60-71: Frame type
|
||||
- Positions 72-77: Packet count (right-aligned)
|
||||
- Positions 78-85: Volume (right-aligned)
|
||||
- Positions 86-93: Timing (right-aligned)
|
||||
- Positions 94-101: Percentage (right-aligned)
|
||||
|
||||
This ensures perfect column alignment between main flow lines and their sub-rows.
|
||||
Reference in New Issue
Block a user