1 19 package org.netbeans.modules.refactoring.java.ui; 20 21 import java.awt.Component ; 22 import java.awt.Dimension ; 23 import java.util.Set ; 24 import javax.swing.JPanel ; 25 import javax.swing.table.AbstractTableModel ; 26 import org.netbeans.api.java.source.TreePathHandle; 27 import org.netbeans.modules.refactoring.java.api.PushDownRefactoring; 28 import org.netbeans.modules.refactoring.spi.ui.CustomRefactoringPanel; 29 import org.openide.util.NbBundle; 30 31 32 36 public class PushDownPanel extends JPanel implements CustomRefactoringPanel { 37 38 private static final String [] COLUMN_NAMES = {"LBL_PullUp_Selected", "LBL_PullUp_Member", "LBL_PushDown_KeepAbstract"}; private static final Class [] COLUMN_CLASSES = {Boolean .class, TreePathHandle.class, Boolean .class}; 41 42 private final PushDownRefactoring refactoring; 44 private final TableModel tableModel; 46 private Set selectedMembers; 49 private TreePathHandle originalType; 51 private Object [][] members = new Object [0][0]; 54 55 61 public PushDownPanel(PushDownRefactoring refactoring, Set selectedMembers) { 62 this.refactoring = refactoring; 63 this.tableModel = new TableModel (); 64 this.selectedMembers = selectedMembers; 65 initComponents(); 66 setPreferredSize(new Dimension (420, 380)); 67 } 68 69 public void initialize() { 70 } 138 139 public PushDownRefactoring.MemberInfo[] getMembers() { 140 return new PushDownRefactoring.MemberInfo[0]; 165 } 166 167 172 private void initComponents() { 174 membersScrollPane = new javax.swing.JScrollPane (); 175 membersTable = new javax.swing.JTable (); 176 chooseLabel = new javax.swing.JLabel (); 177 178 setLayout(new java.awt.BorderLayout ()); 179 180 setName(org.openide.util.NbBundle.getMessage(PushDownPanel.class, "LBL_PushDown_Header", new Object [] {UIUtilities.getDisplayText(refactoring.getSourceType())}) ); 181 membersScrollPane.setToolTipText(""); 182 membersTable.setModel(tableModel); 183 membersScrollPane.setViewportView(membersTable); 184 membersTable.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(PushDownPanel.class, "ACSD_MembersToPushDown")); 185 membersTable.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PushDownPanel.class, "ACSD_MembersToPushDownDescription")); 186 187 add(membersScrollPane, java.awt.BorderLayout.CENTER); 188 189 chooseLabel.setLabelFor(membersTable); 190 org.openide.awt.Mnemonics.setLocalizedText(chooseLabel, org.openide.util.NbBundle.getMessage(PushDownPanel.class, "LBL_PushDownLabel")); 191 add(chooseLabel, java.awt.BorderLayout.NORTH); 192 193 } 194 private javax.swing.JLabel chooseLabel; 199 private javax.swing.JScrollPane membersScrollPane; 200 private javax.swing.JTable membersTable; 201 private class TableModel extends AbstractTableModel { 203 204 public int getColumnCount() { 205 return COLUMN_NAMES.length; 206 } 207 208 public String getColumnName(int column) { 209 return UIUtilities.getColumnName(NbBundle.getMessage(PushDownPanel.class, COLUMN_NAMES[column])); 210 } 211 212 public Class getColumnClass(int columnIndex) { 213 return COLUMN_CLASSES[columnIndex]; 214 } 215 216 public int getRowCount() { 217 return members.length; 218 } 219 220 public Object getValueAt(int rowIndex, int columnIndex) { 221 return members[rowIndex][columnIndex]; 222 } 223 224 public void setValueAt(Object value, int rowIndex, int columnIndex) { 225 members[rowIndex][columnIndex] = value; 226 } 227 228 public boolean isCellEditable(int rowIndex, int columnIndex) { 229 if (columnIndex == 2) { 230 if (members[rowIndex][2] == null) { 233 return false; 234 } 235 Object element = members[rowIndex][1]; 236 return false; 239 } else { 240 return columnIndex == 0; 242 } 243 } 244 } 245 246 public Component getComponent() { 247 return this; 248 } 249 } 250 | Popular Tags |