1 26 package org.nightlabs.editor2d.viewer.preview; 27 28 import java.awt.Color ; 29 import java.awt.Rectangle ; 30 import java.beans.PropertyChangeEvent ; 31 import java.beans.PropertyChangeListener ; 32 33 import org.nightlabs.editor2d.DrawComponent; 34 import org.nightlabs.editor2d.RectangleDrawComponent; 35 import org.nightlabs.editor2d.impl.RectangleDrawComponentImpl; 36 import org.nightlabs.editor2d.j2d.GeneralShape; 37 import org.nightlabs.editor2d.viewer.IBufferedViewport; 38 import org.nightlabs.editor2d.viewer.awt.DisplayPanel; 39 40 48 public class PreviewPanel 49 extends DisplayPanel 50 { 51 52 55 public PreviewPanel(DrawComponent dc, IBufferedViewport viewport) 56 { 57 super(dc); 58 this.viewport = viewport; 59 init(); 60 } 61 62 protected IBufferedViewport viewport = null; 63 64 protected RectangleDrawComponent viewSelector = null; 65 protected RectangleDrawComponent getViewSelector() 66 { 67 if (viewSelector == null) { 68 viewSelector = new RectangleDrawComponentImpl(); 69 Rectangle r = viewport.getViewBounds(); 70 viewSelector.setGeneralShape(new GeneralShape(r)); 71 viewSelector.setFill(false); 72 viewSelector.setLineColor(Color.RED); 73 viewSelector.setLineWidth(2); 74 } 75 return viewSelector; 76 } 77 78 protected void init() 79 { 80 viewport.addPropertyChangeListener(viewChangeListener); 81 viewport.addPropertyChangeListener(realChangeListener); 82 } 83 84 88 protected PropertyChangeListener viewChangeListener = new PropertyChangeListener () 89 { 90 public void propertyChange(PropertyChangeEvent evt) 91 { 92 if (evt.getPropertyName().equals(DisplayPanel.VIEW_CHANGE)) { 93 Rectangle newViewBounds = (Rectangle ) evt.getNewValue(); 94 setViewSelectorBounds(newViewBounds); 95 } 96 } 97 }; 98 99 103 protected PropertyChangeListener realChangeListener = new PropertyChangeListener () 104 { 105 public void propertyChange(PropertyChangeEvent evt) 106 { 107 if (evt.getPropertyName().equals(DisplayPanel.REAL_CHANGE)) { 108 Rectangle newViewBounds = (Rectangle ) evt.getNewValue(); 109 setViewSelectorBounds(newViewBounds); 110 } 111 } 112 }; 113 114 protected void setViewSelectorBounds(Rectangle newViewBounds) 115 { 116 117 } 118 119 } 120 | Popular Tags |