View Javadoc
1 package edu.psu.geovista.app.spreadsheet.tools; 2 3 import edu.psu.geovista.app.spreadsheet.formula.Formula; 4 import edu.psu.geovista.app.spreadsheet.table.SSTable; 5 import edu.psu.geovista.app.spreadsheet.util.Debug; 6 7 import javax.swing.*; 8 import java.awt.event.ActionListener; 9 import java.awt.event.ActionEvent; 10 import java.awt.*; 11 import java.net.URL; 12 import java.io.InputStream; 13 14 /* 15 * Description: 16 * Date: Mar 29, 2003 17 * Time: 4:33:18 PM 18 * @author Jin Chen 19 */ 20 21 public class ToolManager { 22 private SSTable table; 23 private JPanel toolBar; 24 final public static String RESOURCES="resources/"; 25 final public static String MODEL_ROOT="edu/psu/geovista/app/spreadsheet/"; 26 final public static String IMAGES=MODEL_ROOT+RESOURCES+"images/"; 27 28 // recources 29 final private ImageIcon newIcon = getImageIcon("new.gif"); 30 final private ImageIcon openIcon = getImageIcon("open.gif"); 31 final private ImageIcon saveIcon = getImageIcon("save.gif"); 32 final private ImageIcon unlockedIcon = getImageIcon("unlocked.gif"); 33 final private ImageIcon lockedIcon = getImageIcon("locked.gif"); 34 final private ImageIcon printIcon = getImageIcon("print.gif"); 35 final private ImageIcon undoIcon = getImageIcon("undo.gif"); 36 final private ImageIcon redoIcon = getImageIcon("redo.gif"); 37 final private ImageIcon cutIcon = getImageIcon("cut.gif"); 38 final private ImageIcon copyIcon = getImageIcon("copy.gif"); 39 final private ImageIcon pasteIcon = getImageIcon("paste.gif"); 40 final private ImageIcon findIcon = getImageIcon("find.gif"); 41 final private ImageIcon insertRowIcon = getImageIcon("insertrow.gif"); 42 final private ImageIcon insertColumnIcon = getImageIcon("insertcolumn.gif"); 43 final private ImageIcon deleteRowIcon = getImageIcon("deleterow.gif"); 44 final private ImageIcon deleteColumnIcon = getImageIcon("deletecolumn.gif"); 45 final private ImageIcon sortDIcon = getImageIcon("sort_desend.gif"); 46 final private ImageIcon sortAIcon = getImageIcon("sort_ascend.gif"); 47 final private ImageIcon sortNoIcon = getImageIcon("sort_no.gif"); 48 public ToolManager(SSTable tb) { 49 table=tb; 50 this.toolBar =this.setupToolBar(tb); 51 52 } 53 54 private JPanel setupToolBar(final SSTable table){ 55 //Container c=this.getRootPane().getContentPane(); 56 57 JButton addCol=new JButton(insertColumnIcon); 58 addCol.setToolTipText("Insert a column"); 59 addCol.addActionListener(new AddColumn(table)); 60 61 62 JButton removeCol=new JButton(deleteColumnIcon); 63 removeCol.setToolTipText("Remove a column"); 64 removeCol.addActionListener(new RemoveColumn(table)); 65 66 JButton addRow=new JButton(insertRowIcon); 67 addRow.setToolTipText("Insert a row"); 68 addRow.addActionListener(new AddRow(table)); 69 70 JButton removeRow=new JButton(deleteRowIcon); 71 removeRow.setToolTipText("Remove a row"); 72 removeRow.addActionListener(new RemoveRow(table)); 73 74 JButton sorta=new JButton(sortAIcon); 75 sorta.setToolTipText("Ascending Sort ") ; 76 sorta.addActionListener(new Sort(table,Sort.ASCEND )); 77 78 JButton sortd=new JButton(sortDIcon); 79 sortd.setToolTipText("Descending Sort ") ; 80 sortd.addActionListener(new Sort(table,Sort.DESCEND )); 81 82 JButton sortn=new JButton(sortNoIcon); 83 sortn.setToolTipText("Clear Sort ") ; 84 sortn.addActionListener(new Sort(table,Sort.CLEAR )); 85 //JButton sort=new JButton("edu.psu.geovista.app.spreadsheet.tools.Sort"); 86 //sort.addActionListener(new Sort(table,-1)); 87 /****************** NOT implement yet ***************************/ 88 // we save this button as private member for further reference 89 JButton saveButton = new JButton(saveIcon); 90 saveButton.setToolTipText("Save"); 91 saveButton.addActionListener(new ActionListener() { 92 public void actionPerformed(ActionEvent evt) { 93 //fileOp.saveFile(); 94 table.requestFocus(); 95 } 96 }); 97 98 // we save this button as private member for further reference 99 JButton passwordButton = new JButton(unlockedIcon); 100 passwordButton.setToolTipText("Set Password"); 101 passwordButton.addActionListener(new ActionListener() { 102 public void actionPerformed(ActionEvent evt) { 103 //fileOp.setPassword(); 104 table.requestFocus(); 105 } 106 }); 107 108 JButton printButton = new JButton(printIcon); 109 printButton.setToolTipText("Print"); 110 printButton.addActionListener(new ActionListener() { 111 public void actionPerformed(ActionEvent evt) { 112 Thread runner = new Thread() { 113 public void run() { 114 //fileOp.printData(); 115 } 116 }; 117 runner.start(); 118 table.requestFocus(); 119 } 120 }); 121 122 JButton undoButton = new JButton(undoIcon); 123 undoButton.setToolTipText("Undo"); 124 undoButton.addActionListener(new ActionListener() { 125 public void actionPerformed(ActionEvent evt) { 126 //history.undo(tableModel); 127 table.requestFocus(); 128 } 129 }); 130 131 JButton redoButton = new JButton(redoIcon); 132 redoButton.setToolTipText("Redo"); 133 redoButton.addActionListener(new ActionListener() { 134 public void actionPerformed(ActionEvent evt) { 135 //history.redo(tableModel); 136 table.requestFocus(); 137 } 138 }); 139 140 JButton cutButton = new JButton(cutIcon); 141 cutButton.setToolTipText("Cut"); 142 cutButton.addActionListener(new ActionListener() { 143 public void actionPerformed(ActionEvent evt) { 144 //editOp.cut(); 145 table.requestFocus(); 146 } 147 }); 148 JButton copyButton = new JButton(copyIcon); 149 copyButton.setToolTipText("Copy"); 150 copyButton.addActionListener(new ActionListener() { 151 public void actionPerformed(ActionEvent evt) { 152 //editOp.copy(); 153 table.requestFocus(); 154 } 155 }); 156 157 JButton pasteButton = new JButton(pasteIcon); 158 pasteButton.setToolTipText("Paste"); 159 pasteButton.addActionListener(new ActionListener() { 160 public void actionPerformed(ActionEvent evt) { 161 //editOp.paste(); 162 table.requestFocus(); 163 } 164 }); 165 166 JButton findButton = new JButton(findIcon); 167 findButton.setToolTipText("Find"); 168 findButton.addActionListener(new ActionListener() { 169 public void actionPerformed(ActionEvent evt) { 170 //editOp.find(true); 171 table.requestFocus(); 172 } 173 }); 174 /****************** NOT implement yet ***************************/ 175 //Set fname=Formula.getFunctionNames(); 176 //fname.add("function"); 177 //JComboBox functions=new JComboBox(Formula.getFunctionNames() ); 178 JComboBox functions=new JComboBox(this.table.getFunManager().getFunctionNames() ); 179 JPanel tp=new JPanel(); //edu.psu.geovista.app.spreadsheet.tools panel 180 tp.setLayout(new FlowLayout()); 181 //tp.add(saveButton); 182 //tp.add(printButton); 183 tp.add(cutButton); 184 tp.add(copyButton); 185 tp.add(pasteButton); 186 187 tp.add(undoButton); 188 tp.add(redoButton); 189 190 tp.add(findButton); 191 tp.add(addCol); 192 tp.add(removeCol); 193 tp.add(addRow); 194 tp.add(removeRow); 195 tp.add(sorta); 196 tp.add(sortd); 197 tp.add(sortn); 198 tp.add(functions); 199 return tp; 200 } 201 202 public JPanel getToolBar() { 203 return toolBar; 204 } 205 206 // loading images 207 public static ImageIcon getImageIcon(String name) { 208 String fullName=IMAGES+name; 209 ClassLoader cl=ToolManager.class.getClassLoader() ; 210 URL url=cl.getResource(fullName); 211 if (url == null) { 212 System.out.println("image "+name+" not found"); 213 return null; 214 } 215 return new ImageIcon(url); 216 } 217 }

This page was automatically generated by Maven