8 Commits

Author SHA1 Message Date
52fece65a9 Reposition vertical connection line to left of year markers
- Move vertical connection line from timeline_x - 40 to x=5
- Position line clearly to the left of year labels (x=90-130)
- Horizontal lines connect vertical line to each event marker
- Improved visual hierarchy: vertical line → year labels → timeline → events
2025-11-28 23:42:34 +01:00
0642e20315 Fix mouse position/selection mismatch and improve interaction
- Fix mouse coordinate transformation to account for zoom level
- Enable whole-line selection (click anywhere on event line to select person)
- Update tooltip to show date first, then event type
- Make connection lines more visible with increased opacity and width
- Improved click detection using scaled coordinates
- Expanded clickable area to include both marker and label regions
2025-11-28 23:34:52 +01:00
0abe20849c Fix demo family generation: add diverse events and fix missing event references
- Added 12 different event types (Baptism, Education, Occupation, etc.)
- Fixed missing event references by storing and reusing original events
- Made event generation deterministic with random seed
- Updated gen_person to return both XML and tuple format for event reuse
- All event references now properly defined and validated
- Demo family now includes 240+ additional events for comprehensive testing
2025-11-28 23:19:09 +01:00
8be124f5e0 Add text overlap prevention, enhanced tooltips, and person selection with visual connections
- Implement detect_label_overlaps() to prevent text label overlaps
- Automatically adjust Y positions while maintaining chronological order
- Enhanced tooltips to show all events for a person, not just hovered event
- Added person selection on event marker click
- Implement draw_person_connections() to visually connect selected person's events
- Selected person's events highlighted with blue color and connecting lines
- Click on marker selects person, click on label expands event details
2025-11-28 23:08:04 +01:00
6f0ccc04b4 Fix EventType dictionary key error and translation function shadowing
- Fixed EventType objects not being hashable by extracting integer value
- Fixed UnboundLocalError by removing variable shadowing of translation function _
- Updated all tuple unpacking to use proper variable names instead of _
- All event types now properly supported with color/shape mapping
- Plugin fully compatible with Gramps 5.1
2025-11-28 22:52:16 +01:00
d9c8bb8e34 Fix Pango layout extents error in draw_year_markers
- Replace get_extents() with get_pixel_size() for correct text measurement
- Fixes ValueError: not enough values to unpack error
- get_pixel_size() returns (width, height) tuple directly in pixels
2025-11-28 22:23:28 +01:00
6d5db75411 Add missing build_tree() abstract method implementation
- Implement build_tree() method required by NavigationView
- Calls goto_handle() with active family to rebuild display
- Fixes TypeError when loading MyTimeline view
2025-11-28 22:19:03 +01:00
581a6c1f59 Initial commit: MyTimeline plugin for Gramps
- Add MyTimeline.gpr.py plugin registration file
- Add MyTimeline.py view implementation with vertical timeline
- Displays family events (marriage, birth, death) in a vertical timeline
- Supports navigation, bookmarks, and database updates
2025-11-28 21:49:59 +01:00