Пример #1
0
  private PushButton getDropButton() {
    PushButton button = new PushButton(new Image(PgStudio.Images.drop()));
    button.setTitle("Drop RUle");
    button.addClickHandler(
        new ClickHandler() {
          @Override
          public void onClick(ClickEvent event) {
            if (selectionModel.getSelectedObject() != null
                && !"".equals(selectionModel.getSelectedObject().getName())) {

              DropItemObjectPopUp pop = new DropItemObjectPopUp();
              pop.setSelectionModel(selectionModel);
              pop.setDataProvider(dataProvider);
              pop.setItem(item);
              pop.setObject(selectionModel.getSelectedObject().getName());
              pop.setObjectType(ITEM_OBJECT_TYPE.RULE);
              try {
                pop.getDialogBox();
              } catch (PopUpException caught) {
                Window.alert(caught.getMessage());
              }
            }
          }
        });
    return button;
  }
Пример #2
0
      TabWidget(String name) {
        setName(name);
        removeBtn.setTitle("Remove this element");

        setVerticalAlignment(ALIGN_MIDDLE);
        add(nameLabel);
        add(removeBtn);
      }
Пример #3
0
 private PushButton getRefreshButton() {
   PushButton button = new PushButton(new Image(PgStudio.Images.refresh()));
   button.setTitle("Refresh");
   button.addClickHandler(
       new ClickHandler() {
         @Override
         public void onClick(ClickEvent event) {
           refresh();
         }
       });
   return button;
 }
Пример #4
0
  /**
   * Builds a toolbar button.
   *
   * @param imageResource the button's icon
   * @param title the button's tooltip text
   * @param command the command to execute
   * @return a toolbar button
   */
  private Widget buildButton(ImageResource imageResource, String title, final Command command) {

    final PushButton btn = new PushButton(new Image(imageResource));
    btn.setTitle(title);
    btn.addClickHandler(
        new ClickHandler() {
          public void onClick(ClickEvent event) {
            btn.setFocus(false);
            btn.removeStyleName("gwt-ToggleButton-up-hovering");
            command.execute();
          }
        });
    buttons.add(btn);
    return btn;
  }
Пример #5
0
  private void drawForgotPassword() {

    // reset ui
    pUi.clear();

    bForgot.setTitle(
        "This will reset your password, and send you a email of the new password to login.");

    HorizontalPanel hp = new HorizontalPanel();
    hp.setSpacing(4);
    hp.add(tbConsumerKey);
    hp.add(bForgot);
    hp.add(hAccountLogin);

    pUi.add(hp);

    // style
    hForgotPassword.addStyleName("login-Ui-InputOptions");
    hp.setCellVerticalAlignment(hAccountLogin, VerticalPanel.ALIGN_BOTTOM);
  }
Пример #6
0
  private void initComponents() {
    pnlHeader = new FlexTable();
    txtBuscar = new MSearchBox();
    txtBuscar.setPlaceHolder("Buscar");
    form = new UIFormMantenimiento();
    header = new HeaderMenu();
    lblCenter = new Label("SELECCIONAR EQUIPOS");
    btnBack = new PushButton(new Image(MyResource.INSTANCE.getImgBack32()));
    btnBack.setTitle("Volver Atras");
    header.setLeftWidget(btnBack);
    header.setCenterWidget(lblCenter);
    grid = new GridItemPlan();
    // grid.setAlwaysShowScrollBars(true);
    // grid.setMinimumTableWidth(1024, Style.Unit.PX);
    pnlOperacion = new FlowPanel();
    btnOperacion = new Button("Agregar");
    pnlOperacion.add(btnOperacion);
    btnOperacion.setConfirm(true);
    form.getPnlTabla().add(grid);
    form.getPnlTabla().add(grid.getPager());
    form.getPnlTabla().add(pnlOperacion);

    pnlHeader.setWidget(0, 0, header);
    pnlHeader.setWidget(1, 0, txtBuscar);
    form.getPnlBusqueda().add(pnlHeader);
    form.getPnlBotones().setVisible(false);
    grid.addHandler(this, KeyUpEvent.getType());
    grid.getSelectionModel()
        .addSelectionChangeHandler(
            new SelectionChangeEvent.Handler() {
              @Override
              public void onSelectionChange(SelectionChangeEvent event) {}
            });
    this.add(form);
    this.setGlassEnabled(true);
    this.setAnimationEnabled(true);
    this.setModal(true);
    this.setAutoHideEnabled(true);
    this.setSize("700px", "540px");
    this.center();
  }
Пример #7
0
  private PushButton getCreateButton() {
    PushButton button = new PushButton(new Image(PgStudio.Images.create()));
    button.setTitle("Create Rule");

    button.addClickHandler(
        new ClickHandler() {
          @Override
          public void onClick(ClickEvent event) {
            AddRulePopUp pop = new AddRulePopUp();
            pop.setSelectionModel(selectionModel);
            pop.setDataProvider(dataProvider);
            pop.setItem(item);
            try {
              pop.getDialogBox();
            } catch (PopUpException caught) {
              Window.alert(caught.getMessage());
            }
            pop.setupCodePanel();
          }
        });

    return button;
  }
Пример #8
0
  /**
   * Prepares the widgets from the items as A FORM FOR SETTINGS
   *
   * @param items
   */
  public void prepareSettings(final ArrayList<ApplicationFormItem> items) {

    // refresh table events
    final JsonCallbackEvents refreshEvents =
        new JsonCallbackEvents() {
          public void onFinished(JavaScriptObject jso) {
            prepareSettings(items);
          }
        };

    FlexTable ft = new FlexTable();
    ft.addStyleName("borderTable");
    ft.setWidth("100%");
    ft.setCellPadding(8);
    FlexCellFormatter fcf = ft.getFlexCellFormatter();

    ft.setHTML(0, 0, "<strong>Short name</strong>");
    ft.setHTML(0, 1, "<strong>Type</strong>");
    ft.setHTML(0, 2, "<strong>Preview</strong>");
    ft.setHTML(0, 3, "<strong>Edit</strong>");

    fcf.setStyleName(0, 0, "GPBYFDEFD");
    fcf.setStyleName(0, 1, "GPBYFDEFD");
    fcf.setStyleName(0, 2, "GPBYFDEFD");
    fcf.setStyleName(0, 3, "GPBYFDEFD");

    String locale = "en";

    if (LocaleInfo.getCurrentLocale().getLocaleName().equals("default")
        || LocaleInfo.getCurrentLocale().getLocaleName().equals("en")) {
      locale = "en";
    } else {
      locale = "cs";
    }

    int i = 1;
    for (final ApplicationFormItem item : items) {

      final int index = i - 1;

      // not yet set locale on config page
      RegistrarFormItemGenerator gen = new RegistrarFormItemGenerator(item, locale);

      // 0 = label
      String label = "";
      if (gen.isLabelShown()) {
        label = item.getShortname();
      }
      if (item.isRequired() == true) {
        label += "*";
      }
      ft.setHTML(i, 0, label);

      // 1 = type
      ft.setHTML(i, 1, item.getType());

      // 2 = preview
      Widget w = gen.getWidget();
      ft.setWidget(i, 2, w);

      // 3 = EDIT
      FlexTable editTable = new FlexTable();
      editTable.setStyleName("noBorder");
      ft.setWidget(i, 3, editTable);

      // color for items with unsaved changes
      if (item.wasEdited() == true) {
        ft.getFlexCellFormatter().setStyleName(i, 0, "log-changed");
        ft.getFlexCellFormatter().setStyleName(i, 1, "log-changed");
        ft.getFlexCellFormatter().setStyleName(i, 2, "log-changed");
        ft.getFlexCellFormatter().setStyleName(i, 3, "log-changed");
      }

      // mark row for deletion
      if (item.isForDelete()) {

        ft.getFlexCellFormatter().setStyleName(i, 0, "log-error");
        ft.getFlexCellFormatter().setStyleName(i, 1, "log-error");
        ft.getFlexCellFormatter().setStyleName(i, 2, "log-error");
        ft.getFlexCellFormatter().setStyleName(i, 3, "log-error");

        // undelete button
        CustomButton undelete =
            new CustomButton(
                ButtonTranslation.INSTANCE.undeleteFormItemButton(),
                ButtonTranslation.INSTANCE.undeleteFormItem(),
                SmallIcons.INSTANCE.arrowLeftIcon(),
                new ClickHandler() {
                  public void onClick(ClickEvent event) {
                    items.get(index).setForDelete(false);
                    // refresh
                    prepareSettings(items);
                  }
                });

        FlexTable undelTable = new FlexTable();
        undelTable.setStyleName("noBorder");
        undelTable.setHTML(
            0, 0, "<strong><span style=\"color:red;\">MARKED FOR DELETION</span></strong>");
        undelTable.setWidget(0, 1, undelete);
        ft.setWidget(i, 3, undelTable);
      }

      // color for new items to be saved
      if (item.getId() == 0) {
        ft.getFlexCellFormatter().setStyleName(i, 0, "log-success");
        ft.getFlexCellFormatter().setStyleName(i, 1, "log-success");
        ft.getFlexCellFormatter().setStyleName(i, 2, "log-success");
        ft.getFlexCellFormatter().setStyleName(i, 3, "log-success");
      }

      // up
      PushButton upButton =
          new PushButton(
              new Image(SmallIcons.INSTANCE.arrowUpIcon()),
              new ClickHandler() {

                public void onClick(ClickEvent event) {

                  if (index - 1 < 0) return;

                  // move it
                  items.remove(index);
                  items.add(index - 1, item);
                  item.setOrdnum(item.getOrdnum() - 1);

                  item.setEdited(true);

                  // refresh
                  prepareSettings(items);
                }
              });
      editTable.setWidget(0, 0, upButton);
      upButton.setTitle(ButtonTranslation.INSTANCE.moveFormItemUp());

      // down
      PushButton downButton =
          new PushButton(
              new Image(SmallIcons.INSTANCE.arrowDownIcon()),
              new ClickHandler() {

                public void onClick(ClickEvent event) {

                  if (index + 1 >= items.size()) return;

                  // move it
                  items.remove(index);
                  items.add(index + 1, item);
                  item.setOrdnum(item.getOrdnum() + 1);

                  item.setEdited(true);

                  // refresh
                  prepareSettings(items);
                }
              });
      editTable.setWidget(0, 1, downButton);
      downButton.setTitle(ButtonTranslation.INSTANCE.moveFormItemDown());

      // edit
      CustomButton editButton =
          new CustomButton(
              ButtonTranslation.INSTANCE.editFormItemButton(),
              ButtonTranslation.INSTANCE.editFormItem(),
              SmallIcons.INSTANCE.applicationFormEditIcon());
      editButton.addClickHandler(
          new ClickHandler() {
            public void onClick(ClickEvent event) {
              session
                  .getTabManager()
                  .addTabToCurrentTab(new EditFormItemTabItem(item, refreshEvents));
            }
          });
      editTable.setWidget(0, 2, editButton);

      // remove
      CustomButton removeButton =
          new CustomButton(
              ButtonTranslation.INSTANCE.deleteButton(),
              ButtonTranslation.INSTANCE.deleteFormItem(),
              SmallIcons.INSTANCE.deleteIcon());
      removeButton.addClickHandler(
          new ClickHandler() {

            public void onClick(ClickEvent event) {
              HTML text =
                  new HTML(
                      "<p>Deleting of form items is <strong>NOT RECOMMENDED!</strong><p>You will loose access to data users submitted in older applications within this form item!<p>Do you want to continue?");
              Confirm c =
                  new Confirm(
                      "Delete confirm",
                      text,
                      new ClickHandler() {
                        public void onClick(ClickEvent event) {
                          // mark for deletion when save changes
                          items.get(index).setForDelete(true);
                          // remove if newly created
                          if (items.get(index).getId() == 0) {
                            items.remove(index);
                          }
                          // refresh
                          prepareSettings(items);
                        }
                      },
                      true);
              c.setNonScrollable(true);
              c.show();
            }
          });
      editTable.setWidget(0, 3, removeButton);

      // format
      fcf.setHeight(i, 0, "28px");
      fcf.setVerticalAlignment(i, 0, HasVerticalAlignment.ALIGN_MIDDLE);
      fcf.setVerticalAlignment(i, 1, HasVerticalAlignment.ALIGN_MIDDLE);
      fcf.setVerticalAlignment(i, 2, HasVerticalAlignment.ALIGN_MIDDLE);

      i++;
    }

    contents.setWidget(ft);
  }
Пример #9
0
  public SimpleParamsEditorPanel(
      final ServiceAsync serviceAsync,
      final HidesPageContentsWhileLoading contentsHiding,
      Map<String, ClientUser> userInfo) {
    this.serviceAsync = serviceAsync;
    this.userInfo = userInfo;
    selectionController = new ParamSetSelectionController(serviceAsync);
    selectionController.setContentsHiding(contentsHiding);
    validationController = new ValidationController(serviceAsync, selectionController);
    validationController.setContentsHiding(contentsHiding);
    editorElements = new ArrayList();

    contentsHiding.hidePageContentsWhileLoading();
    serviceAsync.login(
        "",
        "",
        new AsyncCallback<Boolean>() { // TODO: real login

          public void onFailure(Throwable caught) {
            contentsHiding.showPageContents();
            handleGlobalError(caught);
          }

          public void onSuccess(Boolean result) {
            contentsHiding.showPageContentsAfterLoad();
          }
        });

    HorizontalPanel hp = new HorizontalPanel();
    RootPanel paramsSelectorPanel = RootPanel.get("paramsSelector");
    paramsSelectorPanel.add(hp);

    selector = new ParamsSelector();
    selectionController.setSelector(selector);
    selectionController.refresh();
    hp.add(selector);

    // save buttons //////////////////////////////////////////////////////////
    PushButton button;
    hp.add(saveButton = new PushButton("Save..."));
    saveButton.addStyleName(ACTION_LINK);
    saveButton.addStyleName(SPACE_AFTER);
    saveButton.addClickListener(
        new ClickListener() {
          public void onClick(Widget widget) {
            save();
          }
        });
    saveButton.setVisible(editorVisible);
    buttons.add(saveButton);

    hp.add(button = new PushButton("Preview..."));
    button.addStyleName(ACTION_LINK);
    button.addStyleName(SPACE_AFTER);
    button.addClickListener(
        new ClickListener() {
          public void onClick(Widget widget) {
            preview();
          }
        });
    buttons.add(button);

    hp.add(deleteButton = new PushButton("Delete..."));
    deleteButton.addStyleName(ACTION_LINK);
    deleteButton.addStyleName(SPACE_AFTER);
    deleteButton.addClickListener(
        new ClickListener() {
          public void onClick(Widget widget) {
            delete();
          }
        });
    buttons.add(deleteButton);

    // description, initially hidden /////////////////////////////////////////////

    HTMLPanel description;
    paramsSelectorPanel.add(
        description = new HTMLPanel("<I>This is a description of the ParameterSet.</I>"));
    description.setSize("500px", "50px");
    description.setStyleName("dottedBorder");
    description.setVisible(false);

    /// Existing DOM //////////////////////////////////////////////////////////////
    // Grab the existing DOM for the parameter rows.

    ExistingDOMPanel edp = new ExistingDOMPanel("paramRow");

    /// database ///////////////////////////////////////////
    {
      ExistingDOMPanel dbrow = new ExistingDOMPanel("paramDbRow");
      Label label = new Label("Database:");
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      label.setStyleName(PARAMS_LABEL);
      editorElements.add(dbrow.append("database", "paramDbLabel", label, editorVisible));

      final ValidationPanel vp = new ValidationPanel(2);

      dlb = new DatabaseListBox("sequence.database", userInfo);

      final HorizontalPanel p = new HorizontalPanel();

      p.add(dlb);
      // dlb.setStyleName("spaceAfter");
      PushButton pb = new PushButton("Add or Review Database...");
      pb.addStyleName(ACTION_LINK);
      pb.setTitle(
          "Click here to review the selected database and potentially modify it for your own needs.");
      pb.addClickListener(
          new ClickListener() {
            public void onClick(Widget widget) {
              popupDbCurator();
            }
          });
      validationController.add(dlb, "sequence.database", vp);
      p.add(pb);

      // Add undeployer link if enabled.
      serviceAsync.isDatabaseUndeployerEnabled(
          new AsyncCallback<Boolean>() {

            public void onFailure(Throwable caught) {
              // Do nothing, do not add undeploy link.
              throw new RuntimeException(
                  "Can not determine if database undeployer is enabled", caught);
            }

            public void onSuccess(Boolean result) {
              if (result.booleanValue()) {
                PushButton du = new PushButton("Undeploy Database");
                du.addStyleName(ACTION_LINK);
                du.setTitle("Click here to undeploy database from search engines.");
                du.addClickListener(new DatabaseUndeploymentAction(serviceAsync, dlb));
                p.add(du);
              }
            }
          });

      editorElements.add(dbrow.append("database", "paramDbEntry", p, editorVisible));

      editorElements.add(dbrow.append("database", "paramDbValidation", vp, editorVisible));
    }

    /// enzyme /////////////////////////////////////////////

    {
      Label label = new Label("Protease:");
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      label.setStyleName(PARAMS_LABEL);
      editorElements.add(edp.append("enzyme", LABEL1, label, editorVisible));

      ValidationPanel vp = new ValidationPanel(2);

      ProteaseListBox tb;
      validationController.add(tb = new ProteaseListBox("sequence.enzyme"), "sequence.enzyme", vp);

      editorElements.add(edp.append("enzyme", ENTRY1, tb, editorVisible));

      Label label1 = new Label("Missed Cleavages:");
      label1.setStyleName(PARAMS_LABEL);
      label1.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      ValidatableTextBox tdb =
          new ValidatableTextBox("sequence.missed_cleavages") {
            protected ClientValue getValueFromString(String value) {
              if ((value == null) || (value.length() == 0)) {
                return null;
              }
              try {
                return new ClientInteger(value);
              } catch (NumberFormatException ignore) {
                ClientValidationList list = new ClientValidationList();
                final ClientValidation cv =
                    new ClientValidation(
                        "Not a number: " + value,
                        "sequence.missed_cleavages",
                        ClientValidation.SEVERITY_ERROR);
                list.add(cv);
                validationController.update("sequence.missed_cleavages", list);
                return null;
              }
            }

            protected String setValueAsString(ClientValue object) {
              return object.toString();
            }

            public void setAllowedValues(List<? extends ClientValue> values) {
              // unused.
            }

            public String getAllowedValuesParam() {
              return null; // no allowed values.
            }
          };
      tdb.setVisibleLength(5);
      editorElements.add(edp.append("enzyme", LABEL2, label1, editorVisible));
      editorElements.add(edp.append("enzyme", ENTRY2, tdb, editorVisible));
      validationController.add(tdb, "sequence.missed_cleavages", vp);

      editorElements.add(edp.append("enzyme", VALIDATION, vp, editorVisible));
    }

    /// modifications /////////////////////////////////////////

    {
      ValidationPanel vp = new ValidationPanel(2);

      Label label = new Label("Fixed Modifications:");
      label.setStyleName(PARAMS_LABEL);
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      editorElements.add(edp.append(MODIFICATIONS, LABEL1, label, editorVisible));

      // fixed mods label
      fixedMods =
          new ModificationsLabel(
              ModificationSelectionEditor.FIXED_PARAM_NAME,
              ModificationSelectionEditor.FIXED_PARAM_NAME);
      ModificationSelectionEditor fixedModsEditor =
          new ModificationSelectionEditor(
              ModificationSelectionEditor.FIXED_PARAM_NAME,
              ModificationSelectionEditor.FIXED_MOD_TYPE);
      fixedMods.setEditor(fixedModsEditor);
      validationController.add(fixedMods, ModificationSelectionEditor.FIXED_PARAM_NAME, vp);

      editorElements.add(edp.append(MODIFICATIONS, ENTRY1, fixedMods, editorVisible));

      // variable mods label
      varMods =
          new ModificationsLabel(
              ModificationSelectionEditor.VARIABLE_PARAM_NAME,
              ModificationSelectionEditor.VARIABLE_PARAM_NAME);
      ModificationSelectionEditor varModsEditor =
          new ModificationSelectionEditor(
              ModificationSelectionEditor.VARIABLE_PARAM_NAME,
              ModificationSelectionEditor.VARIABLE_MOD_TYPE);
      varMods.setEditor(varModsEditor);
      validationController.add(varMods, ModificationSelectionEditor.VARIABLE_PARAM_NAME, vp);

      Label label1 = new Label("Variable Modifications:");
      label1.setStyleName(PARAMS_LABEL);
      label1.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      editorElements.add(edp.append(MODIFICATIONS, LABEL2, label1, editorVisible));

      editorElements.add(edp.append(MODIFICATIONS, ENTRY2, varMods, editorVisible));

      editorElements.add(edp.append(MODIFICATIONS, VALIDATION, vp, editorVisible));
    }

    /// tolerances /////////////////////////////////////////

    {
      Label label = new Label("Peptide Tolerance:");
      label.setStyleName(PARAMS_LABEL);
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      editorElements.add(edp.append(TOLERANCES, LABEL1, label, editorVisible));

      ValidationPanel vp = new ValidationPanel(2);

      ToleranceBox peptideTolerance;
      validationController.add(
          peptideTolerance = new ToleranceBox("tolerance.peptide"), "tolerance.peptide", vp);
      editorElements.add(edp.append(TOLERANCES, ENTRY1, peptideTolerance, editorVisible));

      Label label1 = new Label("Fragment Tolerance:");
      editorElements.add(edp.append(TOLERANCES, LABEL2, label1, editorVisible));
      label1.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      label1.setStyleName(PARAMS_LABEL);

      ToleranceBox fragmentTolerance;
      validationController.add(
          fragmentTolerance = new ToleranceBox("tolerance.fragment"), "tolerance.fragment", vp);
      editorElements.add(edp.append(TOLERANCES, ENTRY2, fragmentTolerance, editorVisible));

      editorElements.add(edp.append(TOLERANCES, VALIDATION, vp, editorVisible));
    }

    /// instrument /////////////////////////////////////////
    ValidationPanel instrumentVp;
    {
      Label label = new Label("Instrument:");
      editorElements.add(edp.append(INSTRUMENT, LABEL1, label, editorVisible));
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      label.setStyleName(PARAMS_LABEL);
      instrumentVp = new ValidationPanel(2);
      InstrumentListBox lb;
      validationController.add(lb = new InstrumentListBox(INSTRUMENT), INSTRUMENT, instrumentVp);
      editorElements.add(edp.append(INSTRUMENT, ENTRY1, lb, editorVisible));
      editorElements.add(edp.append(INSTRUMENT, VALIDATION, instrumentVp, editorVisible));
    }

    /// spectrum extraction params /////////////////////////////////////////
    {
      Label label = new Label("Spectrum extraction:");
      editorElements.add(edp.append(INSTRUMENT, LABEL2, label, editorVisible));
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      label.setStyleName(PARAMS_LABEL);
      SpectrumExtractionEditor ed = new SpectrumExtractionEditor();
      validationController.add(ed, "extractMsnSettings", instrumentVp);
      editorElements.add(edp.append(INSTRUMENT, ENTRY2, ed, editorVisible));
    }

    /// scaffold params /////////////////////////////////////////
    {
      ExistingDOMPanel row = new ExistingDOMPanel("scaffoldRow");

      Label label = new Label("Scaffold:");
      editorElements.add(row.append(SCAFFOLD_SETTINGS, "scaffoldLabel", label, editorVisible));
      label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
      label.setStyleName(PARAMS_LABEL);
      ValidationPanel vp = new ValidationPanel(2);
      ScaffoldSettingsEditor ed = new ScaffoldSettingsEditor();
      validationController.add(ed, SCAFFOLD_SETTINGS, vp);
      editorElements.add(row.append(SCAFFOLD_SETTINGS, "scaffoldEntry", ed, editorVisible));
      editorElements.add(row.append(SCAFFOLD_SETTINGS, "scaffoldValidation", vp, editorVisible));
    }

    validationController.setEnabled(false);
    selectionController.refresh();

    validationController.addChangeListener(
        new ChangeListener() {
          public void onChange(Widget widget) {
            for (PushButton button : buttons) {
              button.setEnabled(isValid());
            }
          }
        });
  }
Пример #10
0
  /** Sets up the tool bar. */
  private void setupToolbar() {
    btnNewForm = new PushButton(FormUtil.createImage(images.newform()));
    btnOpenForm = new PushButton(FormUtil.createImage(images.open()));
    btnSaveForm = new PushButton(FormUtil.createImage(images.save()));

    btnAddNewItem = new PushButton(FormUtil.createImage(images.add()));
    btnAddNewChildItem = new PushButton(FormUtil.createImage(images.addchild()));
    btnDeleteItem = new PushButton(FormUtil.createImage(images.delete()));
    btnMoveItemUp = new PushButton(FormUtil.createImage(images.moveup()));
    btnMoveItemDown = new PushButton(FormUtil.createImage(images.movedown()));

    btnAlignLeft = new PushButton(FormUtil.createImage(images.justifyleft()));
    btnAlignRight = new PushButton(FormUtil.createImage(images.justifyright()));
    btnAlignTop = new PushButton(FormUtil.createImage(images.alignTop()));
    btnAlignBottom = new PushButton(FormUtil.createImage(images.alignBottom()));
    btnSameWidth = new PushButton(FormUtil.createImage(images.samewidth()));
    btnSameHeight = new PushButton(FormUtil.createImage(images.sameheight()));
    btnSameSize = new PushButton(FormUtil.createImage(images.samesize()));

    btnCut = new PushButton(FormUtil.createImage(images.cut()));
    btnCopy = new PushButton(FormUtil.createImage(images.copy()));
    btnPaste = new PushButton(FormUtil.createImage(images.paste()));
    btnRefresh = new PushButton(FormUtil.createImage(images.refresh()));

    btnUndo = new PushButton(FormUtil.createImage(images.undo()));
    btnRedo = new PushButton(FormUtil.createImage(images.redo()));

    btnNewForm.setTitle(LocaleText.get("newForm"));
    btnSaveForm.setTitle(LocaleText.get("save"));

    btnAddNewItem.setTitle(LocaleText.get("addNew"));
    btnAddNewChildItem.setTitle(LocaleText.get("addNewChild"));
    btnDeleteItem.setTitle(LocaleText.get("deleteSelected"));
    btnMoveItemUp.setTitle(LocaleText.get("moveUp"));
    btnMoveItemDown.setTitle(LocaleText.get("moveDown"));

    btnCut.setTitle(LocaleText.get("cut"));
    btnCopy.setTitle(LocaleText.get("copy"));
    btnPaste.setTitle(LocaleText.get("paste"));
    btnRefresh.setTitle(LocaleText.get("refresh"));

    btnAlignLeft.setTitle(LocaleText.get("alignLeft"));
    btnAlignRight.setTitle(LocaleText.get("alignRight"));
    btnAlignTop.setTitle(LocaleText.get("alignTop"));
    btnAlignBottom.setTitle(LocaleText.get("alignBottom"));
    btnSameWidth.setTitle(LocaleText.get("makeSameWidth"));
    btnSameHeight.setTitle(LocaleText.get("makeSameHeight"));
    btnSameSize.setTitle(LocaleText.get("makeSameSize"));

    btnUndo.setTitle(LocaleText.get("undo"));
    btnRedo.setTitle(LocaleText.get("redo"));

    if (Context.isOfflineMode()) panel.add(btnNewForm);

    panel.add(btnOpenForm);

    panel.add(btnSaveForm);

    panel.add(separatorWidget);

    panel.add(btnAddNewItem);
    panel.add(btnAddNewChildItem);
    panel.add(btnDeleteItem);
    panel.add(separatorWidget);
    panel.add(btnMoveItemUp);
    panel.add(btnMoveItemDown);

    panel.add(separatorWidget);
    panel.add(btnCut);
    panel.add(btnCopy);
    panel.add(btnPaste);

    panel.add(separatorWidget);
    panel.add(btnRefresh);

    panel.add(separatorWidget);
    panel.add(btnAlignLeft);
    panel.add(btnAlignRight);
    panel.add(btnAlignTop);
    panel.add(btnAlignBottom);

    panel.add(separatorWidget);
    panel.add(btnSameWidth);
    panel.add(btnSameHeight);
    panel.add(btnSameSize);

    panel.add(separatorWidget);
    panel.add(btnUndo);
    panel.add(btnRedo);

    Label label = new Label(FormDesignerUtil.getTitle());
    panel.add(label);
    panel.setCellWidth(label, "100%");
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);

    label = new Label(LocaleText.get("language"));
    panel.add(label);
    panel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_RIGHT);

    populateLocales();

    cbLanguages.addChangeHandler(
        new ChangeHandler() {
          public void onChange(ChangeEvent event) {
            int index = getLocaleIndex(Context.getLocale().getKey());
            ListBox listBox = (ListBox) event.getSource();
            Locale newLocale =
                new Locale(
                    listBox.getValue(listBox.getSelectedIndex()),
                    listBox.getItemText(listBox.getSelectedIndex()));
            if (!controller.changeLocale(newLocale)) cbLanguages.setSelectedIndex(index);
          }
        });

    panel.add(cbLanguages);
    panel.setCellHorizontalAlignment(cbLanguages, HasHorizontalAlignment.ALIGN_RIGHT);

    // Set a 3 pixels spacing between tool bar buttons.
    panel.setSpacing(3);
  }
Пример #11
0
 protected SvContainer() {
   addBtn.setTitle("Add a new element");
 }
Пример #12
0
 private void setButtonText(PushButton pushButton, Operator operator) {
   pushButton.getUpFace().setText(operator.getSymbol());
   pushButton.getUpHoveringFace().setText(operator.getSymbol());
   pushButton.getDownFace().setText(operator.getSymbol());
   pushButton.setTitle(getOperatorTooltip(operator));
 }
Пример #13
0
  public AnnotationWidget(Annotation a, Labels labels) {
    this.annotation = a;

    // Construct annotation panel
    annotationPanel = new FlowPanel();
    annotationPanel.setStyleName("yuma-annotation-content");

    // Username will be undefined in server-less mode!
    InlineHTML username = null;
    if (annotation.getUserRealName() != null) {
      username = new InlineHTML(annotation.getUserRealName());
    } else if (annotation.getUsername() != null) {
      username = new InlineHTML(annotation.getUsername());
    }

    if (username != null) {
      username.setStyleName("yuma-annotation-username");
      annotationPanel.add(username);
    }

    // Timestamps will be -1 in server-less mode!
    InlineHTML timestamp = new InlineHTML();
    long modified = annotation.getModified();
    if (modified > 0) {
      timestamp.setHTML(DateTimeFormat.getFormat(DATE_FORMAT).format(new Date(modified)));
      timestamp.setStyleName("yuma-annotation-modified");
    }

    annotationPanel.add(new InlineHTML(annotation.getText() + "<br/>"));
    annotationPanel.add(timestamp);

    annotationPanel.addDomHandler(
        new MouseOverHandler() {
          public void onMouseOver(MouseOverEvent event) {
            btnEdit.removeStyleName(CSS_HIDDEN);
            btnDelete.removeStyleName(CSS_HIDDEN);
          }
        },
        MouseOverEvent.getType());

    // Construct button panel
    buttonPanel = new FlowPanel();
    buttonPanel.setStyleName("yuma-annotation-buttons");

    btnDelete = new PushButton();
    btnDelete.setStyleName("yuma-button");
    btnDelete.addStyleName("yuma-button-delete");
    btnDelete.addStyleName(CSS_HIDDEN);
    btnDelete.getElement().getStyle().setFloat(Float.RIGHT);
    btnDelete.getElement().getStyle().setCursor(Cursor.POINTER);

    btnEdit = new PushButton();
    btnEdit.setStyleName("yuma-button");
    btnEdit.addStyleName("yuma-button-edit");
    btnEdit.addStyleName(CSS_HIDDEN);
    btnEdit.getElement().getStyle().setFloat(Float.RIGHT);
    btnEdit.getElement().getStyle().setCursor(Cursor.POINTER);

    if (labels == null) {
      btnDelete.setTitle("Delete this Comment");
      btnEdit.setTitle("Edit this Comment");
    } else {
      btnDelete.setTitle(labels.deleteTooltip());
      btnEdit.setTitle(labels.editTooltip());
    }
    buttonPanel.add(btnDelete);
    buttonPanel.add(btnEdit);

    // Wrap everything into the container panel
    container = new FlowPanel();
    container.setStyleName("yuma-annotation");
    container.add(annotationPanel);
    container.add(buttonPanel);

    container.addDomHandler(
        new MouseOutHandler() {
          public void onMouseOut(MouseOutEvent event) {
            btnEdit.addStyleName(CSS_HIDDEN);
            btnDelete.addStyleName(CSS_HIDDEN);
          }
        },
        MouseOutEvent.getType());

    initWidget(container);
  }