Skip to content

Restructure graph data management and enable sort and filter

Allen, Bruce (CIV) requested to merge single_scene into master

For the user, this update enables sorting and filtering. Internally, this update contains restructuring to facilitate the introduction of new features.

Changes

  • Cleaned up code and refactored module interfaces to simplify the introduction of sorting and filtering and new global and trace views.
  • Replaced the trace list view component with a one-column table-based view component to enable sorting and filtering. Changed selection signaling to be index-based rather than object-based to simplify interacting with the index-based data model. Added columns to the data model through which we can sort and filter.
  • Added sort and filter navigation controls. Replaced forward/backward trace selection controls with the smaller native Qt spinner widget. Removed the unnecessary splitter that provided the ability to slide the trace list downward. We want these controls tightly packed to save space.

Compatibility with older versions

Trace index values in the .gry file are now recorded by subscript starting at 0 instead of starting at 1 as in previous versions. If old .gry files are opened, their displayed index will be one off.

Future

Aesthetic fixes

  • Remove the undesired table cell border that shows up along the left edge of the trace list views.
  • Remove wasted space above and below the Mark checkbox.
  • Fix jitter when resizing the trace list. Currently, when resizing the trace list it redraws without alignment to the top then immediately redraws aligned to the top, resulting in perceived jitter. Alignment should be calculated before drawing to eliminate this jitter.

Further development

  • Add the global view window to the top of the navigation column.
  • Render new global and trace views to support trace-generator V4.

Merge request reports