Beispiel #1
0
  public void doDraw(Painter p) {
    WorkCraftServer server = ownerDocument.getServer();

    Vec2 ll = boundingBox.getLowerLeft();
    Vec2 ur = boundingBox.getUpperRight();
    Vec2 ul = new Vec2(ll.getX(), ur.getY());
    Vec2 lr = new Vec2(ur.getX(), ll.getY());

    transform.getLocalToViewMatrix().transform(ll);
    transform.getLocalToViewMatrix().transform(ur);
    transform.getLocalToViewMatrix().transform(ul);
    transform.getLocalToViewMatrix().transform(lr);

    BoundingBox superbb = new BoundingBox();

    superbb.addPoint(ll);
    superbb.addPoint(ul);
    superbb.addPoint(ur);
    superbb.addPoint(lr);

    Vec2 v1 = superbb.getLowerLeft();
    Vec2 v2 = superbb.getUpperRight();
    Vec2 center;

    p.setTextColor(getLabelColor());

    PyObject po;
    if (server != null) po = server.python.get("_draw_labels");
    else po = null;

    if ((server == null) || (po != null && po.__nonzero__()))
      if (!label.equals("")) {
        if (labelOrder == 0)
          center = new Vec2(0.5f * (v1.getX() + v2.getX()), v1.getY() + getLabelYOffset());
        else center = new Vec2((v1.getX() + v2.getX()) * 0.5f, v2.getY() + getLabelYOffset());

        //		transform.getLocalToViewMatrix().transform(center);
        p.drawString(label, center, 0.05f, TextAlign.CENTER);
      }

    if (server != null) po = server.python.get("_draw_ids");
    else po = null;

    if ((server == null) || (po != null && po.__nonzero__()))
      if (id != null && !id.equals("")) {
        if (labelOrder == 0) center = new Vec2((v1.getX() + v2.getX()) * 0.5f, v2.getY() + 0.025f);
        else center = new Vec2(0.5f * (v1.getX() + v2.getX()), v1.getY() - 0.05f);
        //		transform.getLocalToViewMatrix().transform(center);
        p.drawString(id, center, 0.05f, TextAlign.CENTER);
      }
  }
Beispiel #2
0
 public boolean __nonzero__() {
   PyType self_type = getType();
   PyObject impl = self_type.lookup("__nonzero__");
   if (impl == null) {
     impl = self_type.lookup("__len__");
     if (impl == null) return super.__nonzero__();
   }
   PyObject o = impl.__get__(this, self_type).__call__();
   if (o.getClass() != PyInteger.class && o.getClass() != PyBoolean.class) {
     throw Py.TypeError(
         String.format("__nonzero__ should return bool or int, returned %s", self_type.getName()));
   }
   return o.__nonzero__();
 }
Beispiel #3
0
    public PyObject __iternext__() {

      while (true) {
        PyObject element = nextElement(iterator);
        if (element != null) {
          // the boolean value of calling predicate with the element
          // or if predicate is null/None of the element itself
          boolean booleanValue =
              predicate != null ? predicate.__call__(element).__nonzero__() : element.__nonzero__();
          if (booleanValue == filterTrue) {
            // if the boolean value is the same as filterTrue return
            // the element
            // for ifilter filterTrue is always true, for
            // ifilterfalse always false
            return element;
          }
        } else {
          return null;
        }
      }
    }