1 32 33 package it.businesslogic.ireport.undo; 34 import it.businesslogic.ireport.gui.event.*; 35 import it.businesslogic.ireport.*; 36 import it.businesslogic.ireport.gui.*; 37 import it.businesslogic.ireport.util.*; 38 import java.awt.*; 39 40 import java.util.*; 41 42 49 public class UnGroupEmentsOperation implements it.businesslogic.ireport.UndoOperation { 50 51 54 private Vector elements = null; 55 56 private JReportFrame jrf = null; 57 58 public UnGroupEmentsOperation(JReportFrame jrf) { 59 this.elements = new Vector(); 60 this.jrf = jrf; 61 } 62 63 public void redo() 64 { 65 if (jrf == null) return; 67 Enumeration e = this.getElements().elements(); 68 while ( e.hasMoreElements() ) 69 { 70 GroupPositionedElement pe = (GroupPositionedElement)e.nextElement(); 71 ReportElement element = pe.getElement(); 72 73 element.setElementGroup( pe.getNewElementGroup() ); 74 75 jrf.getReport().getElements().remove( pe.getOldPosition() ); 77 78 jrf.getReport().getElements().insertElementAt(element, pe.getNewPosition()); 79 jrf.addSelectedElement( element , false); 80 } 81 jrf.fireSelectionChangedEvent(); 82 jrf.getReportPanel().repaint(); 83 } 84 85 public void undo() 86 { 87 if (jrf == null) return; 89 90 jrf.setSelectedElement(null); 91 for (int i= this.getElements().size()-1; i>=0; --i) 92 { 93 GroupPositionedElement pe = (GroupPositionedElement)this.getElements().elementAt(i); 94 ReportElement element = pe.getElement(); 95 96 element.setElementGroup( pe.getOldElementGroup() ); 97 98 jrf.getReport().getElements().remove( pe.getNewPosition() ); 100 101 jrf.getReport().getElements().insertElementAt(element, pe.getOldPosition()); 102 jrf.addSelectedElement( element , false); 103 } 104 jrf.fireSelectionChangedEvent(); 105 jrf.getReportPanel().repaint(); 106 } 107 108 public String toString() 109 { 110 return "ungroup element(s)"; 111 } 112 113 120 public java.util.Vector getElements() { 121 return elements; 122 } 123 124 128 public void setElements(java.util.Vector elements) { 129 this.elements = elements; 130 } 131 132 141 public void addElement(ReportElement element, int oldPosition, int newPostion, String oldElementGroup, String newElementGroup) { 142 143 GroupPositionedElement pe = new GroupPositionedElement(element, oldPosition, newPostion,oldElementGroup, newElementGroup); 144 getElements().add(pe); 145 } 146 147 } 148 149 | Popular Tags |