Math2mat

/home/ythoma/docs/math2mat/svn/wp1/framework/m2mGUI/src/m2m/frontend/dynamicview/editPart/LoopIteratorPart.java

Go to the documentation of this file.
00001 
00018 package m2m.frontend.dynamicview.editPart;
00019 
00020 import java.beans.PropertyChangeEvent;
00021 import java.util.Vector;
00022 
00023 import m2m.frontend.dynamicview.editpolicies.EditLayoutPolicy;
00024 import m2m.frontend.dynamicview.figure.LoopIteratorFigure;
00025 import m2m.frontend.dynamicview.model.GraphicLoopIterator;
00026 import m2m.frontend.dynamicview.model.Node;
00027 
00028 import org.eclipse.draw2d.IFigure;
00029 import org.eclipse.gef.EditPolicy;
00030 
00031 
00032 public class LoopIteratorPart extends AbstractEditPart 
00033 {
00038     @Override
00039     protected IFigure createFigure() 
00040     {
00041         IFigure figure = new LoopIteratorFigure();
00042         ((LoopIteratorFigure) figure).addMouseMotionListener(this);
00043         ((LoopIteratorFigure) figure).addMouseListener(this);
00044         return figure;
00045     }
00046     
00047     
00051     @Override
00052     protected void createEditPolicies() 
00053     {
00054         installEditPolicy(EditPolicy.LAYOUT_ROLE, new EditLayoutPolicy()); 
00055     }
00056     
00057     
00061     protected void refreshVisuals()
00062     { 
00063         /* Get the figure and the model */
00064         LoopIteratorFigure figure = (LoopIteratorFigure)getFigure();
00065         GraphicLoopIterator model = (GraphicLoopIterator)getModel();
00066         
00067         /* Update the figure with the model */
00068         figure.setBackgroundColor(model.getColorConditionSelected());
00069         figure.setLayout(model.getLayout());
00070         figure.setVisible(model.getVisible());
00071     }
00072 
00073     
00078     public Vector<Node> getModelChildren()
00079     {
00080         return ((GraphicLoopIterator)getModel()).getChildrenArray();
00081     }
00082 
00083     
00088         @Override
00089         public void propertyChange(PropertyChangeEvent evt) 
00090         {
00091                  if (evt.getPropertyName().equals(Node.LAYOUT)) 
00092                          refreshVisuals();
00093                  else if(evt.getPropertyName().equals(Node.VISIBLE_COMPONENT))
00094                          refreshVisuals();
00095                  else if(evt.getPropertyName().equals(Node.CHANGE_COLOR))
00096                          refreshVisuals();
00097         }
00098 }
 All Classes Namespaces Files Functions Variables Enumerations