Back to index

wims  3.65+svn20090927
Public Member Functions | Protected Attributes | Package Attributes
rene.zirkel.constructors.PlumbConstructor Class Reference
Inheritance diagram for rene.zirkel.constructors.PlumbConstructor:
Inheritance graph
[legend]
Collaboration diagram for rene.zirkel.constructors.PlumbConstructor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

PrimitiveLineObject create (Construction c, PrimitiveLineObject l, PointObject p)
void showStatus (ZirkelCanvas zc)
boolean construct (XmlTree tree, Construction c) throws ConstructionException
String getPrompt ()
String getTag ()
void construct (Construction c, String name, String params[], int nparams) throws ConstructionException
void mousePressed (MouseEvent e, ZirkelCanvas zc)
boolean waitForLastPoint ()
void finishConstruction (MouseEvent e, ZirkelCanvas zc)
void mouseMoved (MouseEvent e, ZirkelCanvas zc, boolean simple)
PointObject select (int x, int y, ZirkelCanvas zc)
PrimitiveLineObject selectline (int x, int y, ZirkelCanvas zc)
void reset (ZirkelCanvas zc)
void mouseReleased (MouseEvent e, ZirkelCanvas zc)
void mouseDragged (MouseEvent e, ZirkelCanvas zc)
boolean waitForPoint ()
void resetFirstTime (ZirkelCanvas zc)
void invalidate (ZirkelCanvas zc)
boolean testTree (XmlTree t, String tag)
void setName (XmlTag tag, ConstructionObject o)
void set (XmlTree tree, ConstructionObject o) throws ConstructionException
void setConditionals (XmlTree tree, Construction c, ConstructionObject o)
void pause (boolean flag)
boolean useSmartBoard ()

Protected Attributes

boolean Dragging = false

Package Attributes

PointObject P = null
PrimitiveLineObject L = null

Detailed Description

Definition at line 11 of file PlumbConstructor.java.


Member Function Documentation

Reimplemented from rene.zirkel.constructors.ParallelConstructor.

Definition at line 21 of file PlumbConstructor.java.

       {      if (!testTree(tree,"Plumb")) return false;
              XmlTag tag=tree.getTag();
              if (!tag.hasParam("point") || !tag.hasParam("line"))
                     throw new ConstructionException("Plumb parameters missing!");
              try
              {      PointObject p1=(PointObject)c.find(tag.getValue("point"));
                     PrimitiveLineObject p2=(PrimitiveLineObject)c.find(tag.getValue("line"));
                     PlumbObject o=new PlumbObject(c,p2,p1);
                     if (tag.hasParam("valid"))
                                   o.setRestricted(false);
                     setName(tag,o);
                     set(tree,o);
                     if (tag.hasParam("partial")) o.setPartial(true);
                     c.add(o);
                     setConditionals(tree,c,o);
              }
              catch (ConstructionException e)
              {      throw e;
              }
              catch (Exception e)
              {      throw new ConstructionException("Plumb parameters illegal!");
              }
              return true;
       }

Here is the call graph for this function:

void rene.zirkel.constructors.PlumbConstructor.construct ( Construction  c,
String  name,
String  params[],
int  nparams 
) throws ConstructionException [inline]

Reimplemented from rene.zirkel.constructors.ParallelConstructor.

Definition at line 52 of file PlumbConstructor.java.

       {      if (nparams!=2)
                     throw new ConstructionException(Zirkel.name("exception.nparams"));
              ConstructionObject
                     P1=c.find(params[0]);
              if (P1==null)
                     throw new ConstructionException(Zirkel.name("exception.notfound")+" "+
                            params[0]);
              ConstructionObject
                     P2=c.find(params[1]);
              if (P2==null)
                     throw new ConstructionException(Zirkel.name("exception.notfound")+" "+
                            params[1]);
              if (!(P1 instanceof PrimitiveLineObject))
                     throw new ConstructionException(Zirkel.name("exception.type")+" "+
                            params[0]);
              if (!(P2 instanceof PointObject))
                     throw new ConstructionException(Zirkel.name("exception.type")+" "+
                            params[1]);
              PlumbObject s=new PlumbObject(c,
                     (PrimitiveLineObject)P1,(PointObject)P2);
              if (!name.equals("")) s.setNameCheck(name);
              c.add(s);
              s.setDefaults();
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.constructors.ParallelConstructor.

Definition at line 12 of file PlumbConstructor.java.

{      public PrimitiveLineObject create (Construction c, PrimitiveLineObject l, PointObject p)
       {      return new PlumbObject(c,l,p);
       }
void rene.zirkel.constructors.ParallelConstructor.finishConstruction ( MouseEvent  e,
ZirkelCanvas  zc 
) [inline, inherited]

Reimplemented from rene.zirkel.constructors.ObjectConstructor.

Definition at line 40 of file ParallelConstructor.java.

       {      P=select(e.getX(),e.getY(),zc);
              if (P!=null)
              {      ConstructionObject o=create(zc.getConstruction(),L,P);
                     zc.addObject(o);
                     o.setDefaults();
                     zc.validate();
                     zc.repaint();
                     P=null;
              }      
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.constructors.ParallelConstructor.

Definition at line 47 of file PlumbConstructor.java.

       {      return Zirkel.name("prompt.plumb");
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.constructors.ParallelConstructor.

Definition at line 51 of file PlumbConstructor.java.

{ return "Plumb"; }
void rene.zirkel.constructors.ObjectConstructor.mouseDragged ( MouseEvent  e,
ZirkelCanvas  zc 
) [inline, inherited]
void rene.zirkel.constructors.ParallelConstructor.mouseMoved ( MouseEvent  e,
ZirkelCanvas  zc,
boolean  simple 
) [inline, inherited]

Reimplemented from rene.zirkel.constructors.ObjectConstructor.

Definition at line 51 of file ParallelConstructor.java.

       {      if (!simple && waitForLastPoint())
              {      if (zc.isPreview())
                     {      zc.movePreview(e);
                     }
                     else
                     {      zc.prepareForPreview(e);
                            finishConstruction(e,zc);
                     }
              }
              if (L==null) zc.indicateLineObjects(e.getX(),e.getY());
              else if (P==null) zc.indicateCreatePoint(e.getX(),e.getY(),false);
       }

Here is the call graph for this function:

void rene.zirkel.constructors.ParallelConstructor.mousePressed ( MouseEvent  e,
ZirkelCanvas  zc 
) [inline, inherited]

Reimplemented from rene.zirkel.constructors.ObjectConstructor.

Definition at line 15 of file ParallelConstructor.java.

       {      if (!zc.Visual) return;
              if (L==null)
              {      L=selectline(e.getX(),e.getY(),zc);
                     if (L!=null)
                     {      L.setSelected(true);
                            zc.repaint();
                     }
                     showStatus(zc);
              }
              else
              {      P=select(e.getX(),e.getY(),zc);
                     if (P!=null)
                     {      ConstructionObject o=create(zc.getConstruction(),L,P);
                            zc.addObject(o);
                            o.setDefaults();
                            P=null; L=null;
                            zc.clearSelected();
                            showStatus(zc);
                     }
              }
       }

Here is the call graph for this function:

void rene.zirkel.constructors.ObjectConstructor.mouseReleased ( MouseEvent  e,
ZirkelCanvas  zc 
) [inline, inherited]
void rene.zirkel.constructors.ObjectConstructor.pause ( boolean  flag) [inline, inherited]

Reimplemented in rene.zirkel.tools.ObjectTracker.

Definition at line 216 of file ObjectConstructor.java.

       {
       }

Here is the caller graph for this function:

Reimplemented from rene.zirkel.constructors.ObjectConstructor.

Definition at line 73 of file ParallelConstructor.java.

       {      super.reset(zc);
              if (zc.Visual)
              {      P=null; L=null;
                     showStatus(zc);
              }
              else
              {      zc.setPrompt(getPrompt());
              }
       }

Here is the call graph for this function:

Reimplemented in rene.zirkel.tools.MoverTool.

Definition at line 56 of file ObjectConstructor.java.

       {      reset(zc);
       }

Here is the call graph for this function:

PointObject rene.zirkel.constructors.ParallelConstructor.select ( int  x,
int  y,
ZirkelCanvas  zc 
) [inline, inherited]

Definition at line 64 of file ParallelConstructor.java.

       {      return zc.selectCreatePoint(x,y);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 67 of file ParallelConstructor.java.

       {      return zc.selectLine(x,y);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 76 of file ObjectConstructor.java.

       {      XmlTag tag=tree.getTag();
              if (tag.hasParam("n"))
              {      try
                     {      o.setNCount(new Integer(tag.getValue("n")).intValue());
                            o.setGotNCount(true);
                     }
                     catch (Exception ex)
                     {      throw new ConstructionException("Illegal count!");
                     }
              }
              if (tag.hasParam("hidden"))
              {      if (tag.getValue("hidden").equals("super")) o.setSuperHidden(true);
                     else o.setHidden(true);
              }
              if (tag.hasTrueParam("showvalue"))
              {      o.setShowValue(true);
              }
              if (tag.hasTrueParam("showname"))
              {      o.setShowName(true);
              }
              if (tag.hasTrueParam("background"))
              {      o.setBack(true);
              }
              else o.setBack(false);
              if (tag.hasTrueParam("parameter"))
              {      o.setParameter();
              }
              if (tag.hasTrueParam("mainparameter"))
              {      o.setMainParameter();
              }
              if (tag.hasTrueParam("target"))
              {      o.setTarget(true);
              }
              if (tag.hasTrueParam("break"))
              {      o.setBreak(true);
              }
              if (tag.hasTrueParam("hidebreak"))
              {      o.setHideBreak(true);
              }
              if (tag.hasTrueParam("solid"))
              {      o.setSolid(true);
              }
              if (tag.hasTrueParam("bold"))
              {      o.setBold(true);
              }
              if (tag.hasTrueParam("large"))
              {      o.setLarge(true);
              }
              if (tag.hasParam("xoffset") || tag.hasParam("yoffset"))
              {      int x=0,y=0;
                     try
                     {      if (tag.hasParam("xoffset"))
                                   x=Integer.parseInt(tag.getValue("xoffset"));
                            if (tag.hasParam("yoffset"))
                                   y=Integer.parseInt(tag.getValue("yoffset"));
                            o.setOffset(x,y);
                     }
                     catch (Exception e)
                     {      throw new ConstructionException("Illegal offset value");
                     }
              }
              if (tag.hasTrueParam("keepclose"))
              {      o.setKeepClose(true);
              }
              if (tag.hasParam("xcoffset") || tag.hasParam("ycoffset"))
              {      double x=0,y=0;
                     try
                     {      if (tag.hasParam("xcoffset"))
                                   x=new Double(tag.getValue("xcoffset")).doubleValue();
                            if (tag.hasParam("ycoffset"))
                                   y=new Double(tag.getValue("ycoffset")).doubleValue();
                            o.setcOffset(x,y);
                     }
                     catch (Exception e)
                     {      throw new ConstructionException("Illegal offset value");
                     }
              }
              if (tag.hasParam("color"))
              {      try
                     {      String s=tag.getValue("color");
                            int n=-1;
                            for (int i=0; i<ZirkelFrame.ColorStrings.length; i++)
                            {      if (s.equals(ZirkelFrame.ColorStrings[i]))
                                   {      o.setColor(i); n=i; break;
                                   }
                            }
                            if (n<0)
                            {      n=Integer.parseInt(s);
                                   if (n<0 || n>=ZirkelFrame.Colors.length)
                                          throw new Exception("");
                                   o.setColor(n);
                            }
                     }
                     catch (Exception ex)
                     {      throw new ConstructionException("Illegal color index (1-"+
                                   (ZirkelFrame.Colors.length-1)+")");
                     }
              }
              if (tag.hasParam("type"))
              {      String type=tag.getValue("type");
                     if (type.equals("thick")) o.setColorType(ConstructionObject.THICK);
                     if (type.equals("thin")) o.setColorType(ConstructionObject.THIN);
                     if (type.equals("invisible")) o.setColorType(ConstructionObject.INVISIBLE);
              }
              if (tag.hasParam("unit"))
                     o.setUnit(tag.getValue("unit"));
              else
                     o.setUnit("");
              Enumeration e=tree.getContent();
              while (e.hasMoreElements())
              {      tree=(XmlTree)e.nextElement();
                     if (tree.getTag() instanceof XmlTagText)
                     {      o.setText(((XmlTagText)tree.getTag()).getContent(),true);
                     }
              }
       }

Here is the call graph for this function:

Definition at line 194 of file ObjectConstructor.java.

       {      o.clearConditionals();
              int i=0;
              XmlTag tag=tree.getTag();
              while (tag.hasParam("ctag"+i) && tag.hasParam("cexpr"+i))
              {      String t=tag.getValue("ctag"+i);
                     String e=tag.getValue("cexpr"+i);
                     Expression ex=new Expression(e,c,o);
                     o.addConditional(t,ex);
                     i++;
              }
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 68 of file ObjectConstructor.java.

       {      if (tag.hasParam("name"))
              {      o.setName(tag.getValue("name"));
              }
              if (tag.hasParam("alias"))
              {      o.setAlias(tag.getValue("alias"));
              }
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.constructors.ParallelConstructor.

Definition at line 15 of file PlumbConstructor.java.

       {      if (L==null) zc.showStatus(
                     Zirkel.name("message.plumb.first","Plumb Line: Choose a line!"));
              else zc.showStatus(
                     Zirkel.name("message.plumb.second","Plumb Line: Choose a Point!"));
       }

Here is the call graph for this function:

boolean rene.zirkel.constructors.ObjectConstructor.testTree ( XmlTree  t,
String  tag 
) [inline, inherited]

Definition at line 65 of file ObjectConstructor.java.

       {      return t.getTag().name().equals(tag);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from rene.zirkel.constructors.ObjectConstructor.

Definition at line 37 of file ParallelConstructor.java.

       {      return L!=null;
       }

Here is the caller graph for this function:


Member Data Documentation

Reimplemented in rene.zirkel.tools.ZoomerTool, and rene.zirkel.tools.DrawerTool.

Definition at line 15 of file ObjectConstructor.java.

Definition at line 14 of file ParallelConstructor.java.

Definition at line 13 of file ParallelConstructor.java.


The documentation for this class was generated from the following file: