With the removal of goocanvas a new interactive widget to display validation graphs is needed.
Essentially this has to be a bar chart with clickable rectangles.
Approaches
A new GtkWidget that draws appropriate rectangles and is able to handle click events
Tasks
[x] Setup gui for playground
[x] Research how rendering changed in gtk4 [GtkSnapshot now abstracts away cairo]
[x] Derive new GObject type
[x] Draw the graph
[x] Label chains
[x] Draw chains
[x] Draw axes
[x] Draw axes' labels
[x] Draw residue ruler
[x] Draw residues
[x] Draw rectangles
[x] Normalize
[x] Color indication
[x] Add handling click events
[x] Implement finding residues based on x, y coords
[x] Add residue-clicked signal
[x] Add hover-handling event-controllers
[ ] Make it possible to render two blocks per residue - "stacked mode"
[ ] Define how the data model represents this
[x] Add residue tooltips
[x] Investigate whether 'rescale' feature is needed with normalization.
[x] Use an enum to determine the graph's data type, so that it renders its' content adequately
[x] Fixed min/max for probabilities
~Min/max value from hint~
[x] Support for bars "hanging-down"
[x] Support for logarithmic probability
[x] Add support for single-chain display mode
[x] Add support for horizontal zoom
[x] Extend the preview to test new features
[x] Research how drawing graphs of different types differs (if at all) and design a simple and uniform API to alter the rendering behavior adequately (the design is here: #33 )
With the removal of
goocanvas
a new interactive widget to display validation graphs is needed.Essentially this has to be a bar chart with clickable rectangles.
Approaches
Tasks
gtk4
[GtkSnapshot
now abstracts awaycairo
]residue-clicked
signalenum
to determine the graph's data type, so that it renders its' content adequately