|
From: Márcio V. d. S. <mv...@us...> - 2007-12-03 18:25:20
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv17586/src/java/net/sf/tails/swing/helper Modified Files: CompleteReportGenerator.java FrameHelper.java Added Files: CalendarFrame.java Log Message: --- NEW FILE: CalendarFrame.java --- package net.sf.tails.swing.helper; import java.awt.Point; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.GroupLayout; import javax.swing.JFrame; import javax.swing.JTextField; import org.joda.time.DateTime; import com.greef.ui.calendar.JCalendar; public class CalendarFrame extends JFrame { private static final long serialVersionUID = 8339682604292292370L; private JCalendar calendar = new JCalendar(); private JTextField startDateField; public CalendarFrame(JTextField startDateField, DateTime date){ this.startDateField = startDateField; calendar.setYear(date.getYear()); calendar.setMonth(date.getMonthOfYear()); initComponents(); Point p = startDateField.getLocationOnScreen(); p.translate(startDateField.getCaretPosition(), 0); this.setLocation(p); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" C�digo Gerado "> private void initComponents() { setUndecorated(true); GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(calendar, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(calendar, GroupLayout.DEFAULT_SIZE, 178, Short.MAX_VALUE) ); calendar.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { jScrollPane1KeyPressed(e); } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } }); calendar.addMouseListener(new MouseListener(){ @Override public void mouseClicked(MouseEvent e) { calendarFrameMouseClicked(e); } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } }); pack(); }// </editor-fold> private void calendarFrameMouseClicked(MouseEvent e) { DateTime date = new DateTime(calendar.getSelectedDate()); this.startDateField.setText(date.toString("dd/M/yyyy")); } private void jScrollPane1KeyPressed(KeyEvent evt) { switch (evt.getKeyCode()) { case KeyEvent.VK_ESCAPE: this.dispose(); break; default: break; } } } Index: FrameHelper.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper/FrameHelper.java,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** FrameHelper.java 21 Nov 2007 21:55:11 -0000 1.24 --- FrameHelper.java 3 Dec 2007 18:25:22 -0000 1.25 *************** *** 15,22 **** --- 15,25 ---- import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; + import java.lang.reflect.Method; import java.text.NumberFormat; import java.util.Locale; import java.util.ResourceBundle; + import javax.swing.JOptionPane; + import javax.swing.JProgressBar; import javax.swing.table.TableModel; *************** *** 34,38 **** */ public class FrameHelper { ! private static final ResourceBundle folderBundle = ResourceBundle.getBundle("net.sf.tails.i18n.Folders"); private static final ResourceBundle packageBundle = ResourceBundle.getBundle("net.sf.tails.i18n.Packages"); --- 37,42 ---- */ public class FrameHelper { ! ! private static final ResourceBundle messageBundle = ResourceBundle.getBundle("net.sf.tails.i18n.Messages"); private static final ResourceBundle folderBundle = ResourceBundle.getBundle("net.sf.tails.i18n.Folders"); private static final ResourceBundle packageBundle = ResourceBundle.getBundle("net.sf.tails.i18n.Packages"); *************** *** 234,236 **** --- 238,286 ---- } + @SuppressWarnings("unchecked") + public void openURL(String url) { + String osName = System.getProperty("os.name"); + try { + if (osName.startsWith("Mac OS")) { + Class fileMgr = Class.forName("com.apple.eio.FileManager"); + Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] {String.class}); + openURL.invoke(null, new Object[] {url}); + } + else if (osName.startsWith("Windows")) { + Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url); + } + else { + //Unix ou Linux + String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" }; + String browser = null; + for (int count = 0; count < browsers.length && browser == null; count++) + { + if (Runtime.getRuntime().exec( new String[] {"which", browsers[count]}).waitFor() == 0) browser = browsers[count]; + } + if (browser == null) + JOptionPane.showMessageDialog(null, messageBundle.getString("LINUX"), "Error", 0); + else Runtime.getRuntime().exec(new String[] {browser, url}); + } + } + catch (Exception e) { + JOptionPane.showMessageDialog(null, messageBundle.getString("MAC_WIN_LINUX"), "Error", 0); + } + } + + public void openURLAfterReportFinish(final String url, final JProgressBar reportProgress) { + new Thread(new Runnable(){ + + @Override + public void run() { + while(reportProgress.getPercentComplete() < 1d){ + + } + openURL(url); + + } + + }).start(); + + } + } Index: CompleteReportGenerator.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper/CompleteReportGenerator.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CompleteReportGenerator.java 21 Nov 2007 21:55:11 -0000 1.11 --- CompleteReportGenerator.java 3 Dec 2007 18:25:22 -0000 1.12 *************** *** 78,84 **** }}).start(); } ! public void generateHTMLFile(final Report report, final List<AnalysisCriterion> criteria, final Period period, final String filePath, final String fileName) throws IOException { final ReportHTMLGenerator generator = new ReportHTMLGenerator(); --- 78,85 ---- }}).start(); + } ! public String generateHTMLFile(final Report report, final List<AnalysisCriterion> criteria, final Period period, final String filePath, final String fileName) throws IOException { final ReportHTMLGenerator generator = new ReportHTMLGenerator(); *************** *** 88,91 **** --- 89,93 ---- final String decisionDir = reportDir + File.separatorChar + "Decisions"; final List<String> urls = new ArrayList<String>(); + new Thread(new Runnable() { *************** *** 124,127 **** --- 126,130 ---- } }).start(); + return reportDir + File.separatorChar + report.getName() + ".html"; } *************** *** 142,145 **** --- 145,149 ---- private File createHTML(String name, StringBuffer html, String directory) throws FileNotFoundException { String htmlPath = directory + File.separatorChar + name; + File reportHtml = new File(htmlPath); OutputStream out = new BufferedOutputStream(new FileOutputStream(reportHtml)); |