Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GUI: Rework the Tab side menus #907

Merged
merged 41 commits into from
Jan 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
b1782e2
GUI spatial tabs: Add menu to export currently displayed tree
shawnlaffan Jan 2, 2024
d60f19d
GUI: store colours on tree when highlighting nbr sets
shawnlaffan Jan 2, 2024
df1114d
Dendrogram.pm: simplify some code
shawnlaffan Jan 2, 2024
68a3a64
Legend.pm: add a set_visible method
shawnlaffan Jan 2, 2024
5985a2d
GUI Spatial tab: start moving menu items into tree menu
shawnlaffan Jan 2, 2024
3343400
GUI spatial tab: reset branch colours when hover ends
shawnlaffan Jan 2, 2024
679256f
GUI spatial tab: side menu toggles branch colour log scale
shawnlaffan Jan 2, 2024
21c578b
GUI spatial tab: side menu toggles branch colour flipping
shawnlaffan Jan 2, 2024
6af78c4
GUI spatial tab: side menu handles tree line widths
shawnlaffan Jan 2, 2024
e8a9e6b
GUI spatial tab: add separator to side menu before tree export
shawnlaffan Jan 2, 2024
e4a1fc8
GUI spatial tab: move tree side-menu export to builder hash
shawnlaffan Jan 2, 2024
0d802f8
GUI spatial tab: refactor side menu builder into method
shawnlaffan Jan 3, 2024
c6bf98c
GUI spatial tab: add colour mode to side menu
shawnlaffan Jan 3, 2024
5bd94d3
GUI: remove redundant menu items
shawnlaffan Jan 3, 2024
7f3c963
GUI spatial tab: refactor side menu items into a method
shawnlaffan Jan 3, 2024
4460ccd
GUI SpatialMatrix tab: subset side menu items
shawnlaffan Jan 3, 2024
7719be5
GUI spatial tab: Make side menu clearer
shawnlaffan Jan 3, 2024
3342a50
GUI: Move _add_items_to_menu into Tabs.pm
shawnlaffan Jan 3, 2024
cb1d492
GUI labels tab: fix some legend related issues
shawnlaffan Jan 3, 2024
f06ca9c
GUI Labels tab: use array args methods in two places
shawnlaffan Jan 4, 2024
4e4a460
GUI Labels tab: micro-optimise some code
shawnlaffan Jan 4, 2024
18cab44
GUI: move method from Spatial.pm to Tab.pm
shawnlaffan Jan 4, 2024
a88fc21
GUI Labels tab: Add a side menu for the tree
shawnlaffan Jan 4, 2024
eae7423
GUI Labels tab: Update the side menu to handle more cases
shawnlaffan Jan 4, 2024
ee40b32
GUI Cluster tab: Add a side menu for the cluster tree
shawnlaffan Jan 4, 2024
e5be430
GUI Cluster tab: More side menu options for the cluster tree
shawnlaffan Jan 4, 2024
3f46a55
GUI tree plotting: no need to set plot/group mode if unchanged
shawnlaffan Jan 4, 2024
4dedbff
GUI spatial tabs: Support tree plot by depth
shawnlaffan Jan 4, 2024
3c9ab54
GUI: refactor tree plot mode code
shawnlaffan Jan 5, 2024
6e04217
GUI: refactor tree plot selection mode code
shawnlaffan Jan 5, 2024
1d4dd2a
GUI: refactor tree plotting menu items
shawnlaffan Jan 5, 2024
ec6e0bc
GUI: refactor tree plotting branch width menu item
shawnlaffan Jan 5, 2024
8832bb9
GUI: refactor tree plotting separator menu item
shawnlaffan Jan 5, 2024
53f57c3
GUI: refactor tree plotting highlight menu items
shawnlaffan Jan 5, 2024
ae49223
GUI: refactor tree plotting menu item setups
shawnlaffan Jan 5, 2024
6958a4b
GUI: refactor tree plot export menu items
shawnlaffan Jan 5, 2024
c7aa12b
GUI Clustering: update tree side menu after run
shawnlaffan Jan 5, 2024
563b92c
GUI Export interface: reinstate keyboard snooper before returning
shawnlaffan Jan 5, 2024
05226ef
GUI: abstract more xmlPage calls
shawnlaffan Jan 5, 2024
3a4bf3c
GUI tabs: rename Display side menu to Map
shawnlaffan Jan 6, 2024
ca83271
Fix an incorrectly spelt method name
shawnlaffan Jan 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 1 addition & 121 deletions bin/ui/hboxClusteringPage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
<object class="GtkMenuItem" id="menuitem_clustering_display">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Display</property>
<property name="label" translatable="yes">Map</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu_clustering_display">
Expand Down Expand Up @@ -408,126 +408,6 @@ Colours are currently taken from the outer ring.</property>
<property name="active">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="plot_by1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Plot by</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="plot_by1_menu">
<property name="can_focus">False</property>
<child>
<object class="GtkRadioMenuItem" id="plot_length">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Length</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<signal name="activate" handler="on_plot_length_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="plot_depth">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Depth</property>
<property name="use_underline">True</property>
<property name="group">plot_length</property>
<signal name="activate" handler="on_plot_depth_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="group_by1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Should the grouping be done by length or depth?

This allows decoupling of node selection from the tree display so trees with many reversals can be more easily plotted by depth, but selections still use the branch lengths.

This setting has no effect on the slider bar. It always groups using the plot method, selecting whichever branches it crosses.</property>
<property name="label" translatable="yes">Group by</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="group_by1_menu">
<property name="can_focus">False</property>
<child>
<object class="GtkRadioMenuItem" id="group_length">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Length</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<signal name="activate" handler="on_group_length_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="group_depth">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Depth</property>
<property name="use_underline">True</property>
<property name="group">group_length</property>
<signal name="activate" handler="on_group_depth_activate" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="highlight_groups_on_map">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Highlight groups under this node when hovering over the node</property>
<property name="label" translatable="yes">Highlight groups on map?</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<signal name="activate" handler="on_highlight_groups_on_map" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="use_highlight_path_changed">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Highlight paths on the tree associated with groups on the map when you hover the mouse over them</property>
<property name="label" translatable="yes">Highlight node paths for groups?</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<signal name="activate" handler="on_use_highlight_path_changed_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="menu_use_slider_to_select_nodes">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">When deselected, the slider bar will not change the display colours.</property>
<property name="label" translatable="yes">Use the slider bar to select nodes for colouring?</property>
<property name="use_underline">True</property>
<property name="active">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_cluster_set_tree_line_widths">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Set the width of the tree branches.
Does not affect the vertical connectors.
</property>
<property name="label" translatable="yes">Set tree branch line widths</property>
<property name="use_underline">True</property>
</object>
</child>
</object>
</child>
</object>
Expand Down
84 changes: 11 additions & 73 deletions bin/ui/hboxLabelsPage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,15 @@
<property name="expand">False</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="toolitem_label_sep1x">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
<object class="GtkToolItem" id="toolitemLabelsOptions">
<property name="visible">True</property>
Expand All @@ -163,7 +172,7 @@
<object class="GtkMenuItem" id="menuitem9x">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Display</property>
<property name="label" translatable="yes">Map</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
Expand All @@ -173,7 +182,7 @@
<object class="GtkMenuItem" id="menuitem_labels_grid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Grid</property>
<property name="label" translatable="yes">Display options:</property>
<property name="use_underline">True</property>
</object>
</child>
Expand Down Expand Up @@ -241,77 +250,6 @@
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_labels_tree">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Tree</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="phylogeny_plot_length">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Plot branches using their lengths. </property>
<property name="label" translatable="yes">Length</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_as_radio">True</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="phylogeny_plot_depth">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Plot branches as a function of depth from the root node.</property>
<property name="label" translatable="yes">Depth</property>
<property name="use_underline">True</property>
<property name="draw_as_radio">True</property>
<property name="group">phylogeny_plot_length</property>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="highlight_groups_on_map_labels_tab">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">When hovering on a branch,
highlight the groups on the grid
in which it is found.
</property>
<property name="label" translatable="yes">Highlight groups on map?</property>
<property name="use_underline">True</property>
<property name="active">True</property>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="use_highlight_path_changed1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">When hovering over a cell on the map,
highlight the paths from the tip to the root of the tree
for labels found in that group. </property>
<property name="label" translatable="yes">Highlight node paths for groups?</property>
<property name="use_underline">True</property>
<property name="active">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_labels_set_tree_line_widths">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Set the width of the tree branches.
Does not affect the vertical connectors.</property>
<property name="label" translatable="yes">Set tree branch line widths</property>
<property name="use_underline">True</property>
</object>
</child>
</object>
</child>
</object>
Expand Down
Loading