Package ket.display.box

Examples of ket.display.box.Box


    // operatorFactory to something more specific.

    // Only explicitly display a multiplication sign when displaying no arguments,
    // one argument or side-by-side number pairs.
    boolean explicit = Like.numberLikeList(args);
    Box nameBox;
    if (explicit) {
      nameBox = new BoxWord(argument, Symbol.TIMES.toUnicode(), Box.PLAIN_FONT);
    } else {
      nameBox = new BoxWord(argument, " ", Box.PLAIN_FONT);
    }
View Full Code Here


          cleanedArgs.add(arg);
        }
      }

      Vector<Box> boxArgs = BoxTools.padArgs(cleanedArgs, getArgLowerLimit(args.size()), colourScheme);
      Box box = BoxTools.centredHorizontalBoxList(argument, settings, boxArgs);

      // Align arguments.
      boxArgs.firstElement().setProperty(Box.RIGHT_ALIGN|Box.Y_CENTRE_ALIGN);
      for (int i=1; i<args.size(); i++) {
        boolean isContravariant =  (i<contravariant.length) ? contravariant[i] : false;
View Full Code Here

      for (Box b : boxArgs) {
        if (b.getArgument()==null) {
          b.setArgument(argument);
        }
      }
      Box log = new BoxWord(argument, "log", Box.X_CENTRE_ALIGN|Box.Y_CENTRE_ALIGN|Box.PLAIN_FONT);
      Box base = boxArgs.get(0);
      base.setProperty(Box.X_CENTRE_ALIGN|Box.BOTTOM_ALIGN|Box.SMALL_FONT);
      // TODO: Add a bracketWhenAppropriate() method.
      Box arg = boxArgs.get(1);
      arg.setProperty(Box.LEFT_ALIGN|Box.Y_CENTRE_ALIGN);
      BoxList list = new BoxList(argument, Box.X_CENTRE_ALIGN|Box.Y_CENTRE_ALIGN);
      list.nextHorizontalPath(new Box[]{log, base, arg});
      list.nextVerticalPath(new Box[]{log});
      list.nextVerticalPath(new Box[]{base});
      list.nextVerticalPath(new Box[]{arg});
View Full Code Here

    if (args.size()!=1) {
      return super.toBox(argument, settings, colourScheme, args);
    }
    Vector<Box> boxArgs = new Vector<Box>();
    long es = settings|Box.SUPPRESS_BRACKETS;
    Box arg = args.get(0).toBox(es, colourScheme);
    boxArgs.add(arg);
    return toBox(argument, boxArgs, settings, colourScheme);
  }
View Full Code Here

      // Unreachable
      return super.toBox(argument, boxArgs, settings, colourScheme);
    }
    BoxGraphic left = new BoxGraphic(argument, 0L, BoxGraphic.VERTICAL_LINE);
    BoxGraphic right = new BoxGraphic(argument, 0L, BoxGraphic.VERTICAL_LINE);
    Box box = BoxTools.centredHorizontalBoxList(argument, settings, left, boxArgs.firstElement(), right);
    left.setProperty(Box.VERTICAL_STRETCH);
    right.setProperty(Box.VERTICAL_STRETCH);
    box.setProperty(settings);
    return box;
  }
View Full Code Here

    if (args.size()!=1) {
      return super.toBox(argument, settings, colourScheme, args);
    }
    Vector<Box> boxArgs = new Vector<Box>();
    long es = settings|Box.SUPPRESS_BRACKETS;
    Box arg = args.get(0).toBox(es, colourScheme);
    boxArgs.add(arg);
    return toBox(argument, boxArgs, settings, colourScheme);
  }
View Full Code Here

  }

  @Override
  public Box toBox(Argument argument, Vector<Box> boxArgs, long settings, ColourScheme colourScheme) {
    BoxGraphic left1 = new BoxGraphic(argument, 0L, BoxGraphic.VERTICAL_LINE);
    Box left2 = new BoxGap(argument, 0L, left1, 1.0, 1.0, 0.0, 0.0);
    BoxGraphic left3 = new BoxGraphic(argument, 0L, BoxGraphic.VERTICAL_LINE);
    BoxGraphic right1 = new BoxGraphic(argument, 0L, BoxGraphic.VERTICAL_LINE);
    Box right2 = new BoxGap(argument, 0L, left1, 1.0, 1.0, 0.0, 0.0);
    BoxGraphic right3 = new BoxGraphic(argument, 0L, BoxGraphic.VERTICAL_LINE);
    Vector<Box> list = new Vector<Box>();
    list.add(left1);
    list.add(left2);
    list.add(left3);
    list.add(boxArgs.firstElement());
    list.add(right1);
    list.add(right2);
    list.add(right3);
    Box box = BoxTools.centredHorizontalBoxList(argument, settings, list);
    left1.setProperty(Box.VERTICAL_STRETCH);
    left2.setProperty(Box.VERTICAL_STRETCH);
    left3.setProperty(Box.VERTICAL_STRETCH);
    right1.setProperty(Box.VERTICAL_STRETCH);
    right2.setProperty(Box.VERTICAL_STRETCH);
    right3.setProperty(Box.VERTICAL_STRETCH);
    box.setProperty(settings);
    return box;
  }
View Full Code Here

    }
    Argument[][] table = asTable(args);
    if (table!=null) {
      Box[][] boxTable = BoxTools.toBoxTable(table, colourScheme);
      Box[][] grid = BoxTools.padBoxTable(boxTable);
      Box matrixWithoutBrackets = BoxTools.gridToBox(argument, grid);
      matrixWithoutBrackets.setArgument(argument);
      return BoxTools.squareBrackets(argument, matrixWithoutBrackets, settings, colourScheme);
    } else {
      Vector<Box> boxArgs = BoxTools.padArgs(args, getArgLowerLimit(args.size()), colourScheme);
      Box box = BoxTools.centredVerticalBoxList(argument, 0L, boxArgs);
      return BoxTools.squareBrackets(argument, box, settings, colourScheme);
    }
  }
View Full Code Here

        return BoxTools.centredHorizontalBoxList(argument, settings, boxArgs);

      case 2:
      case 3:
        BoxGraphic verticalBar2 = new BoxGraphic(argument, Box.X_CENTRE_ALIGN|Box.VERTICAL_STRETCH, BoxGraphic.VERTICAL_LINE);
        Box subject = boxArgs.get(0);
        Box from = boxArgs.get(1);
        Box to = boxArgs.size()==3 ? boxArgs.get(2) : new BoxWord(argument, " ", 0L);
        BoxList boxList = new BoxList(argument, settings);
        boxList.nextHorizontalPath(new Box[]{to});
        boxList.nextHorizontalPath(new Box[]{subject, verticalBar2});
        boxList.nextHorizontalPath(new Box[]{from});
        boxList.nextVerticalPath(new Box[]{subject});
        boxList.nextVerticalPath(new Box[]{verticalBar2});
        boxList.nextVerticalPath(new Box[]{to, from});
        subject.setProperty(Box.RIGHT_ALIGN|Box.Y_CENTRE_ALIGN);
        from.setProperty(Box.LEFT_ALIGN|Box.BOTTOM_ALIGN|Box.SMALL_FONT);
        to.setProperty(Box.LEFT_ALIGN|Box.TOP_ALIGN|Box.SMALL_FONT);
        return boxList;

      default:
        return null;
    }
View Full Code Here

        if (b.getArgument()==null) {
          b.setArgument(argument);
        }
      }
      // DRY principle; is this still the best place for that code?
      Box subject = boxArgs.firstElement();
      Box subscript = boxArgs.lastElement();
      BoxList box = new BoxList(argument, 0L);
      box.nextHorizontalPath(new Box[]{subject, subscript});
      box.nextVerticalPath(new Box[]{subject});
      box.nextVerticalPath(new Box[]{subscript});
      subject.setProperty(Box.RIGHT_ALIGN|Box.Y_CENTRE_ALIGN);
      subscript.setProperty(Box.LEFT_ALIGN|Box.BOTTOM_ALIGN|Box.SMALL_FONT);
      box.setProperty(settings);
      return box;
    } else {
      return super.toBox(argument, boxArgs, settings, colourScheme);
    }
View Full Code Here

TOP

Related Classes of ket.display.box.Box

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.