DocumentTasks.java

00001 package edu.stanford.hci.r3.tools.design.gui.toolbar;
00002 
00003 import java.awt.Component;
00004 import java.awt.event.ActionEvent;
00005 import java.awt.event.ActionListener;
00006 import java.util.ArrayList;
00007 import java.util.List;
00008 
00009 import javax.swing.ImageIcon;
00010 import javax.swing.JButton;
00011 import javax.swing.JFileChooser;
00012 
00013 import edu.stanford.hci.r3.util.components.ribbons.RibbonPanel;
00014 import edu.stanford.hci.r3.util.files.FileUtils;
00015 
00026 public class DocumentTasks {
00027 
00028         private RibbonPanel filePanel;
00029 
00030         private RibbonPanel measurementPanel;
00031 
00032         private JButton measuringBoxButton;
00033 
00034         private JButton measuringTapeButton;
00035 
00036         private JButton newDocumentButton;
00037 
00038         private JButton openDocumentButton;
00039 
00040         private JButton importFileButton;
00041 
00046         private RibbonPanel getFilePanel() {
00047                 if (filePanel == null) {
00048                         filePanel = new RibbonPanel("File");
00049                         filePanel.add(getNewDocument());
00050                         filePanel.add(getOpenDocument());
00051                         filePanel.add(getImportFile());
00052                         filePanel.layoutComponents();
00053                 }
00054                 return filePanel;
00055         }
00056 
00060         private Component getImportFile() {
00061                 importFileButton = new JButton("Import File");
00062                 importFileButton.addActionListener(new ActionListener() {
00063                         public void actionPerformed(ActionEvent ae) {
00064                                 System.out.println("Import File");
00065                                 JFileChooser chooser = FileUtils.createNewFileChooser(new String[] { "jpg", "pdf" });
00066                                 chooser.showOpenDialog(null);
00067                         }
00068                 });
00069                 return importFileButton;
00070         }
00071 
00075         private Component getMeasureBoxes() {
00076                 if (measuringBoxButton == null) {
00077                         measuringBoxButton = new JButton("Measuring Box");
00078                         measuringBoxButton.addActionListener(new ActionListener() {
00079                                 public void actionPerformed(ActionEvent ae) {
00080                                         System.out.println("Box");
00081                                 }
00082                         });
00083                 }
00084                 return measuringBoxButton;
00085         }
00086 
00087         private Component getMeasureLines() {
00088                 if (measuringTapeButton == null) {
00089                         measuringTapeButton = new JButton("Measuring Tape");
00090                         measuringTapeButton.addActionListener(new ActionListener() {
00091                                 public void actionPerformed(ActionEvent arg0) {
00092                                         System.out.println("Tape");
00093                                 }
00094                         });
00095                 }
00096                 return measuringTapeButton;
00097         }
00098 
00102         private RibbonPanel getMeasurementPanel() {
00103                 if (measurementPanel == null) {
00104                         measurementPanel = new RibbonPanel("Measurement");
00105                         measurementPanel.add(getMeasureLines());
00106                         measurementPanel.add(getMeasureBoxes());
00107                         measurementPanel.layoutComponents(1, 2);
00108                 }
00109                 return measurementPanel;
00110         }
00111 
00115         private Component getNewDocument() {
00116                 if (newDocumentButton == null) {
00117                         newDocumentButton = new JButton("New", makeIcon("New"));
00118                         newDocumentButton.addActionListener(new ActionListener() {
00119                                 public void actionPerformed(ActionEvent ae) {
00120                                         System.out.println("New Document");
00121                                 }
00122                         });
00123 
00124                 }
00125                 return newDocumentButton;
00126         }
00127 
00134         private Component getOpenDocument() {
00135                 if (openDocumentButton == null) {
00136                         openDocumentButton = new JButton("Open", makeIcon("Open"));
00137                         openDocumentButton.addActionListener(new ActionListener() {
00138                                 public void actionPerformed(ActionEvent ae) {
00139                                         System.out.println("Open Document");
00140                                         FileUtils.createNewFileChooser(new String[] { "jpg", "pdf" });
00141                                 }
00142                         });
00143 
00144                 }
00145                 return openDocumentButton;
00146         }
00147 
00151         public List<RibbonPanel> getPanels() {
00152                 final List<RibbonPanel> panels = new ArrayList<RibbonPanel>();
00153                 panels.add(getFilePanel());
00154                 panels.add(getMeasurementPanel());
00155                 return panels;
00156         }
00157 
00158         private ImageIcon makeIcon(String iconName) {
00159                 return new ImageIcon(DocumentTasks.class.getResource("/icons/" + iconName + ".png"));
00160         }
00161 }

Generated on Sat Apr 14 18:21:34 2007 for R3 Paper Toolkit by  doxygen 1.4.7