1 package jimm.datavision.gui.sql; 2 import jimm.datavision.*; 3 import jimm.datavision.gui.Designer; 4 import jimm.datavision.source.*; 5 import jimm.datavision.gui.cmd.NewSubreportCommand; 6 import jimm.util.I18N; 7 import java.util.*; 8 import javax.swing.*; 9 10 15 public class SubreportWin extends VisTableWin { 16 17 JLabel thisReportLabel, subreportLabel; 18 19 25 public SubreportWin(Designer designer, Report report) { 26 super(designer, report, new Query(report)); 27 } 28 29 protected void fillJoinsPanel() { 30 delCheckBoxPanel.add(new JLabel(" ")); 31 32 thisReportLabel = new JLabel(I18N.get("SubreportWin.this_report")); 33 fromPanel.add(thisReportLabel); 34 thisReportLabel.setVisible(false); 35 36 relationPanel.add(new JLabel(" ")); 37 38 subreportLabel = new JLabel(I18N.get("SubreportWin.subreport")); 39 toPanel.add(subreportLabel); 40 subreportLabel.setVisible(false); 41 42 super.fillJoinsPanel(); 43 } 44 45 protected void addNewJoin() { 46 super.addNewJoin(); 47 thisReportLabel.setVisible(true); 48 subreportLabel.setVisible(true); 49 } 50 51 protected void deleteSelectedJoins() { 52 super.deleteSelectedJoins(); 53 thisReportLabel.setVisible(!joinFieldsList.isEmpty()); 54 subreportLabel.setVisible(!joinFieldsList.isEmpty()); 55 } 56 57 protected void doSave() { 58 JFileChooser chooser = Designer.getChooser(); 59 int returnVal = chooser.showOpenDialog(designer.getFrame()); 60 if (returnVal == JFileChooser.APPROVE_OPTION) { 61 ArrayList newJoins = new ArrayList(); 62 for (Iterator iter = joinFieldsList.iterator(); iter.hasNext(); ) { 63 JoinFields jf = (JoinFields)iter.next(); 64 Column from = columnFromDropdown(jf.from); 65 String relation = (String )jf.relation.getSelectedItem(); 66 Column to = columnFromDropdown(jf.to); 67 68 newJoins.add(new Join(from, relation, to)); 69 } 70 71 try { 72 NewSubreportCommand cmd = 73 new NewSubreportCommand(designer, report, 74 chooser.getSelectedFile(), newJoins); 75 cmd.perform(); 76 commands.add(cmd); 77 } 78 catch (Exception e) { 79 ErrorHandler.error(e); 80 } 81 } 82 } 83 84 } 85 | Popular Tags |