/* * Copyright (C) 2014 Alfons Wirtz * website www.freerouting.net * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License at <http://www.gnu.org/licenses/> * for more details. * * BoardSelectedItemToolbar.java * * Created on 16. Februar 2005, 05:59 */ package gui; /** * Describes the toolbar of the board frame, when it is in the selected item state. * * @author Alfons Wirtz */ class BoardToolbarSelectedItem extends javax.swing.JToolBar { /** * Creates a new instance of BoardSelectedItemToolbar. * If p_extended, some additional buttons are generated. */ BoardToolbarSelectedItem(BoardFrame p_board_frame, boolean p_extended) { this.board_frame = p_board_frame; this.resources = java.util.ResourceBundle.getBundle("gui.resources.BoardToolbarSelectedItem", p_board_frame.get_locale()); javax.swing.JButton cancel_button = new javax.swing.JButton(); cancel_button.setText(resources.getString("cancel")); cancel_button.setToolTipText(resources.getString("cancel_tooltip")); cancel_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.cancel_state(); } }); this.add(cancel_button); javax.swing.JButton info_button = new javax.swing.JButton(); info_button.setText(resources.getString("info")); info_button.setToolTipText(resources.getString("info_tooltip")); info_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.display_selected_item_info(); } }); this.add(info_button); javax.swing.JButton delete_button = new javax.swing.JButton(); delete_button.setText(resources.getString("delete")); delete_button.setToolTipText(resources.getString("delete_tooltip")); delete_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.delete_selected_items(); } }); this.add(delete_button); javax.swing.JButton cutout_button = new javax.swing.JButton(); cutout_button.setText(resources.getString("cutout")); cutout_button.setToolTipText(resources.getString("cutout_tooltip")); cutout_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.cutout_selected_items(); } }); this.add(cutout_button); javax.swing.JButton fix_button = new javax.swing.JButton(); fix_button.setText(resources.getString("fix")); fix_button.setToolTipText(resources.getString("fix_tooltip")); fix_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.fix_selected_items(); } }); this.add(fix_button); javax.swing.JButton unfix_button = new javax.swing.JButton(); unfix_button.setText(resources.getString("unfix")); unfix_button.setToolTipText(resources.getString("unfix_tooltip")); unfix_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.unfix_selected_items(); } }); this.add(unfix_button); javax.swing.JButton autoroute_button = new javax.swing.JButton(); autoroute_button.setText(resources.getString("autoroute")); autoroute_button.setToolTipText(resources.getString("autoroute_tooltip")); autoroute_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.autoroute_selected_items(); } }); this.add(autoroute_button); javax.swing.JButton tidy_button = new javax.swing.JButton(); tidy_button.setText(resources.getString("pull_tight")); tidy_button.setToolTipText(resources.getString("pull_tight_tooltip")); tidy_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.optimize_selected_items(); } }); this.add(tidy_button); javax.swing.JButton clearance_class_button = new javax.swing.JButton(); clearance_class_button.setText(resources.getString("spacing")); clearance_class_button.setToolTipText(resources.getString("spacing_tooltip")); clearance_class_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { assign_clearance_class(); } }); javax.swing.JButton fanout_button = new javax.swing.JButton(); fanout_button.setText(resources.getString("fanout")); fanout_button.setToolTipText(resources.getString("fanout_tooltip")); fanout_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.fanout_selected_items(); } }); this.add(fanout_button); this.add(clearance_class_button); javax.swing.JLabel jLabel5 = new javax.swing.JLabel(); jLabel5.setMaximumSize(new java.awt.Dimension(10, 10)); jLabel5.setPreferredSize(new java.awt.Dimension(10, 10)); this.add(jLabel5); javax.swing.JButton whole_nets_button = new javax.swing.JButton(); whole_nets_button.setText(resources.getString("nets")); whole_nets_button.setToolTipText(resources.getString("nets_tooltip")); whole_nets_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.extend_selection_to_whole_nets(); } }); this.add(whole_nets_button); javax.swing.JButton whole_connected_sets_button = new javax.swing.JButton(); whole_connected_sets_button.setText(resources.getString("conn_sets")); whole_connected_sets_button.setToolTipText(resources.getString("conn_sets_tooltip")); whole_connected_sets_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.extend_selection_to_whole_connected_sets(); } }); this.add(whole_connected_sets_button); javax.swing.JButton whole_connections_button = new javax.swing.JButton(); whole_connections_button.setText(resources.getString("connections")); whole_connections_button.setToolTipText(resources.getString("connections_tooltip")); whole_connections_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.extend_selection_to_whole_connections(); } }); this.add(whole_connections_button); javax.swing.JButton whole_groups_button = new javax.swing.JButton(); whole_groups_button.setText(resources.getString("components")); whole_groups_button.setToolTipText(resources.getString("components_tooltip")); whole_groups_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.extend_selection_to_whole_components(); } }); this.add(whole_groups_button); if (p_extended) { javax.swing.JButton new_net_button = new javax.swing.JButton(); new_net_button.setText(resources.getString("new_net")); new_net_button.setToolTipText(resources.getString("new_net_tooltip")); new_net_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.assign_selected_to_new_net(); } }); this.add(new_net_button); javax.swing.JButton new_group_button = new javax.swing.JButton(); new_group_button.setText(resources.getString("new_component")); new_group_button.setToolTipText(resources.getString("new_component_tooltip")); new_group_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.assign_selected_to_new_group(); } }); this.add(new_group_button); } javax.swing.JLabel jLabel6 = new javax.swing.JLabel(); jLabel6.setMaximumSize(new java.awt.Dimension(10, 10)); jLabel6.setPreferredSize(new java.awt.Dimension(10, 10)); this.add(jLabel6); javax.swing.JButton violation_button = new javax.swing.JButton(); violation_button.setText(resources.getString("violations")); violation_button.setToolTipText(resources.getString("violations_tooltip")); violation_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.toggle_selected_item_violations(); } }); this.add(violation_button); javax.swing.JLabel jLabel7 = new javax.swing.JLabel(); jLabel7.setMaximumSize(new java.awt.Dimension(10, 10)); jLabel7.setPreferredSize(new java.awt.Dimension(10, 10)); this.add(jLabel7); javax.swing.JButton display_selection_button = new javax.swing.JButton(); display_selection_button.setText(resources.getString("zoom_selection")); display_selection_button.setToolTipText(resources.getString("zoom_selection_tooltip")); display_selection_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.zoom_selection(); } }); this.add(display_selection_button); javax.swing.JButton display_all_button = new javax.swing.JButton(); display_all_button.setText(resources.getString("zoom_all")); display_all_button.setToolTipText(resources.getString("zoom_all_tooltip")); display_all_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.zoom_all(); } }); this.add(display_all_button); javax.swing.JButton display_region_button = new javax.swing.JButton(); display_region_button.setText(resources.getString("zoom_region")); display_region_button.setToolTipText(resources.getString("zoom_region_tooltip")); display_region_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { board_frame.board_panel.board_handling.zoom_region(); } }); this.add(display_region_button); } private void assign_clearance_class() { if (board_frame.board_panel.board_handling.is_board_read_only()) { return; } rules.ClearanceMatrix clearance_matrix = board_frame.board_panel.board_handling.get_routing_board().rules.clearance_matrix; Object [] class_name_arr = new Object[clearance_matrix.get_class_count()]; for (int i = 0; i < class_name_arr.length; ++i) { class_name_arr[i] = clearance_matrix.get_name(i); } Object selected_value = javax.swing.JOptionPane.showInputDialog(null, resources.getString("select_clearance_class"), resources.getString("assign_clearance_class"), javax.swing.JOptionPane.INFORMATION_MESSAGE, null, class_name_arr, class_name_arr[0]); if(selected_value == null || !(selected_value instanceof String)) { return; } int class_index = clearance_matrix.get_no((String) selected_value); if (class_index < 0) { return; } board_frame.board_panel.board_handling.assign_clearance_classs_to_selected_items(class_index); } private final BoardFrame board_frame; private final java.util.ResourceBundle resources; }