+ _zoom_in_y = new JButton( "Y+" );
+ _zoom_out_y = new JButton( "Y-" );
+ _show_whole = new JButton( "F" );
+ _show_whole.setToolTipText( "To fit the complete phylogeny to the current display size [F or Home]" );
+ _zoom_in_x.setToolTipText( "To zoom in horizontally [Shift+cursor-right]" );
+ _zoom_in_y.setToolTipText( "To zoom in vertically [Shift+cursor-up]" );
+ _zoom_out_x.setToolTipText( "To zoom out horizontally [Shift+cursor-left]" );
+ _zoom_out_y.setToolTipText( "To zoom out vertically [Shift+cursor-down]" );
+ if ( getConfiguration().isUseNativeUI() && ForesterUtil.isMac() ) {
+ _zoom_out_x.setPreferredSize( new Dimension( 55, 10 ) );
+ _zoom_in_x.setPreferredSize( new Dimension( 55, 10 ) );
+ }
+ else {
+ _zoom_out_x.setPreferredSize( new Dimension( 10, 10 ) );
+ _zoom_in_x.setPreferredSize( new Dimension( 10, 10 ) );
+ }
+ _zoom_out_y.setPreferredSize( new Dimension( 10, 10 ) );
+ _zoom_in_y.setPreferredSize( new Dimension( 10, 10 ) );
+ _show_whole.setPreferredSize( new Dimension( 10, 10 ) );
+ _return_to_super_tree = new JButton( RETURN_TO_SUPER_TREE_TEXT );
+ _return_to_super_tree.setEnabled( false );
+ _order = new JButton( "Order Subtrees" );
+ _uncollapse_all = new JButton( "Uncollapse All" );
+ addJButton( _zoom_in_y, x_panel );
+ addJButton( _zoom_out_x, y_panel );
+ addJButton( _show_whole, y_panel );
+ addJButton( _zoom_in_x, y_panel );
+ addJButton( _zoom_out_y, z_panel );
+ if ( getConfiguration().doDisplayOption( Configuration.show_domain_architectures ) ) {
+ setUpControlsForDomainStrucures();
+ }
+ final JLabel spacer2 = new JLabel( "" );
+ add( spacer2 );
+ addJButton( _return_to_super_tree, this );
+ addJButton( _order, this );
+ addJButton( _uncollapse_all, this );
+ final JLabel spacer3 = new JLabel( "" );
+ add( spacer3 );
+ setVisibilityOfDomainStrucureControls();
+ }
+
+ void addCheckbox( final int which, final String title ) {
+ final JPanel ch_panel = new JPanel( new BorderLayout( 0, 0 ) );
+ switch ( which ) {
+ case Configuration.display_as_phylogram:
+ _display_as_phylogram_cb = new JCheckBox( title );
+ getDisplayAsPhylogramCb().setToolTipText( "To switch between phylogram and cladogram display" );
+ addJCheckBox( getDisplayAsPhylogramCb(), ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.display_internal_data:
+ _display_internal_data = new JCheckBox( title );
+ _display_internal_data.setToolTipText( "To allow or disallow display of internal labels" );
+ addJCheckBox( _display_internal_data, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.color_according_to_species:
+ _color_acc_species = new JCheckBox( title );
+ _color_acc_species.setToolTipText( "To colorize node labels as a function of taxonomy" );
+ addJCheckBox( _color_acc_species, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.color_according_to_sequence:
+ _color_acc_sequence = new JCheckBox( title );
+ _color_acc_sequence.setToolTipText( "To colorize node labels as a function of sequence name" );
+ addJCheckBox( _color_acc_sequence, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.color_according_to_annotation:
+ _color_according_to_annotation = new JCheckBox( title );
+ _color_according_to_annotation
+ .setToolTipText( "To colorize sequence annotation labels as a function of sequence annotation" );
+ addJCheckBox( _color_according_to_annotation, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_node_names:
+ _show_node_names = new JCheckBox( title );
+ addJCheckBox( _show_node_names, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_taxonomy_scientific_names:
+ _show_taxo_scientific_names = new JCheckBox( title );
+ addJCheckBox( _show_taxo_scientific_names, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_taxonomy_common_names:
+ _show_taxo_common_names = new JCheckBox( title );
+ addJCheckBox( _show_taxo_common_names, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_tax_code:
+ _show_taxo_code = new JCheckBox( title );
+ addJCheckBox( _show_taxo_code, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_taxonomy_images:
+ _show_taxo_images_cb = new JCheckBox( title );
+ addJCheckBox( _show_taxo_images_cb, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_binary_characters:
+ _show_binary_characters = new JCheckBox( title );
+ addJCheckBox( _show_binary_characters, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_annotation:
+ _show_annotation = new JCheckBox( title );
+ addJCheckBox( _show_annotation, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_binary_character_counts:
+ _show_binary_character_counts = new JCheckBox( title );
+ addJCheckBox( _show_binary_character_counts, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.write_confidence_values:
+ _write_confidence = new JCheckBox( title );
+ addJCheckBox( getWriteConfidenceCb(), ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.write_events:
+ _show_events = new JCheckBox( title );
+ addJCheckBox( getShowEventsCb(), ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.use_style:
+ _use_visual_styles_cb = new JCheckBox( title );
+ getUseVisualStylesCb()
+ .setToolTipText( "To use visual styles (node colors, fonts) and branch colors, if present" );
+ addJCheckBox( getUseVisualStylesCb(), ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.width_branches:
+ _width_branches = new JCheckBox( title );
+ _width_branches.setToolTipText( "To use branch width values, if present" );
+ addJCheckBox( _width_branches, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.write_branch_length_values:
+ _write_branch_length_values = new JCheckBox( title );
+ addJCheckBox( _write_branch_length_values, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_domain_architectures:
+ _show_domain_architectures = new JCheckBox( title );
+ addJCheckBox( _show_domain_architectures, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_mol_seqs:
+ _show_mol_seqs = new JCheckBox( title );
+ addJCheckBox( _show_mol_seqs, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_seq_names:
+ _show_seq_names = new JCheckBox( title );
+ addJCheckBox( _show_seq_names, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_gene_names:
+ _show_gene_names = new JCheckBox( title );
+ addJCheckBox( _show_gene_names, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_seq_symbols:
+ _show_seq_symbols = new JCheckBox( title );
+ addJCheckBox( _show_seq_symbols, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_sequence_acc:
+ _show_sequence_acc = new JCheckBox( title );
+ addJCheckBox( _show_sequence_acc, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.dynamically_hide_data:
+ _dynamically_hide_data = new JCheckBox( title );
+ getDynamicallyHideData().setToolTipText( "To hide labels depending on expected visibility" );
+ addJCheckBox( getDynamicallyHideData(), ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.node_data_popup:
+ _node_desc_popup_cb = new JCheckBox( title );
+ getNodeDescPopupCb().setToolTipText( "To enable mouse rollover display of basic node data" );
+ addJCheckBox( getNodeDescPopupCb(), ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_relation_confidence:
+ _seq_relation_confidence_switch = new JCheckBox( title );
+ addJCheckBox( _seq_relation_confidence_switch, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_vector_data:
+ _show_vector_data_cb = new JCheckBox( title );
+ addJCheckBox( _show_vector_data_cb, ch_panel );
+ add( ch_panel );
+ break;
+ case Configuration.show_properties:
+ _show_properties_cb = new JCheckBox( title );
+ addJCheckBox( _show_properties_cb, ch_panel );
+ add( ch_panel );
+ break;
+ default:
+ throw new RuntimeException( "unknown checkbox: " + which );