Example #1
0
 public AddFriendsSheet(RobonoboFrame frame) {
   super(frame);
   setPreferredSize(size);
   double[][] cellSizen = {{10, 90, 5, 250, 10}, {10, 25, 10, 30, 10, 25, 10, 30, 10}};
   setLayout(new TableLayout(cellSizen));
   setName("playback.background.panel");
   RLabel titleLbl = new RLabel16B("Add friends");
   add(titleLbl, "1,1,3,1");
   JPanel blurb =
       new LineBreakTextPanel(
           "Enter your friends' email addresses below to invite them to robonobo:",
           RoboFont.getFont(13, false),
           345);
   add(blurb, "1,3,3,3");
   RLabel newFriendLbl = new RLabel12("New friends:");
   add(newFriendLbl, "1,5");
   emailField = new RTextField(DEFAULT_EMAILS);
   emailField.addKeyListener(
       new KeyAdapter() {
         public void keyReleased(KeyEvent e) {
           shareBtn.setEnabled(targetSelected());
         }
       });
   emailField.addMouseListener(
       new MouseAdapter() {
         public void mouseClicked(MouseEvent e) {
           if (emailField.getText().equals(DEFAULT_EMAILS)) emailField.setText("");
         }
       });
   add(emailField, "3,5");
   add(new ButtonPanel(), "3,7,r,t");
 }
  public RTextField createRGGElement(Element element, RGG rggInstance) {
    if (element.getNodeType() != Element.ELEMENT_NODE) {
      throw new IllegalArgumentException("elements node type must be ELEMENT_NODE");
    }

    RTextField rtextfield = new RTextField();
    VTextField vtextfield = new VTextField();

    /**
     * **************** initialize and set attributes values *************************************
     */
    String var = element.getAttribute(RGG.getConfiguration().getString("VAR"));
    String label = element.getAttribute(RGG.getConfiguration().getString("LABEL"));
    String colspan = element.getAttribute(RGG.getConfiguration().getString("COLUMN-SPAN"));
    String defaultvalue = element.getAttribute(RGG.getConfiguration().getString("DEFAULT-VALUE"));
    String datatype = element.getAttribute(RGG.getConfiguration().getString("DATA-TYPE"));
    String size = element.getAttribute(RGG.getConfiguration().getString("SIZE"));
    String enabled = element.getAttribute(RGG.getConfiguration().getString("ENABLED"));
    /**
     * ********************************************************************************************
     */
    if (StringUtils.isNotBlank(var)) {
      rtextfield.setVar(var);
    }

    if (StringUtils.isNotBlank(label)) {
      rtextfield.setLabel(label);
    }

    vtextfield.setLabelText(rtextfield.getLabel());

    if (StringUtils.isNotBlank(colspan)) {
      if (StringUtils.isNumeric(colspan)) {
        vtextfield.setColumnSpan(Integer.parseInt(colspan));
      } else if (StringUtils.equals(colspan, RGG.getConfiguration().getString("FULL-SPAN"))) {
        vtextfield.setColumnSpan(LayoutInfo.FULL_SPAN);
      } else {
        throw new NumberFormatException(
            RGG.getConfiguration().getString("COLUMN-SPAN")
                + " seems not to be a number: "
                + colspan
                + "nor a known keyword!");
      }
    }

    if (StringUtils.isNotBlank(defaultvalue)) {
      vtextfield.setDefaultvalue(defaultvalue);
    }

    if (StringUtils.isNotBlank(datatype)) {
      if (StringUtils.equalsIgnoreCase(RGG.getConfiguration().getString("NUMERIC"), datatype)) {
        vtextfield.setNumeric(true);
      }
    }

    if (StringUtils.isNotBlank(size) && StringUtils.isNumeric(size)) {
      vtextfield.setColumns(Integer.parseInt(size));
    }

    if (StringUtils.isNotBlank(enabled)) {
      if (util.match("/(\\w+)\\./", enabled)) {
        String id = util.group(1);
        enabled = util.substitute("s/" + id + "\\.//g", enabled);
        AutoBinding<Object, Object, Object, Object> binding =
            Bindings.createAutoBinding(
                AutoBinding.UpdateStrategy.READ, // one-way binding
                rggInstance.getObject(id), // source of value
                ELProperty.create(enabled), // the property to get
                vtextfield, // the "backing bean"
                BeanProperty.create("enabled") // property to set
                );
        binding.bind();
      }
    }

    rtextfield.setTextfield(vtextfield);
    return rtextfield;
  }
Example #3
0
 private boolean targetSelected() {
   // Could bugger about with regexes here, but I don't think it's worth it
   return (emailField.getText().length() > 0 && !emailField.getText().equals(DEFAULT_EMAILS));
 }
Example #4
0
 @Override
 public void onShow() {
   emailField.requestFocusInWindow();
   emailField.selectAll();
 }