/* * (non-Javadoc) * * @seecom.google.gwt.widgetideas.table.client.filter.ColumnFilter# * createFilterWidget() */ public Widget createFilterWidget() { filterTextBox = new TextBox(); filterTextBox.addStyleName("textBox"); filterTextBox.addKeyboardListener( new KeyboardListener() { public void onKeyDown(Widget sender, char keyCode, int modifiers) {} public void onKeyPress(Widget sender, char keyCode, int modifiers) {} public void onKeyUp(Widget sender, char keyCode, int modifiers) { fireColumnFilterChanged( new TextColumnFilterInfo(getColumn(), filterTextBox.getText(), operator)); } }); if (supportedOperators.length > 1) { operatorButton = new PushButton(); setButtonText(operatorButton, operator); operatorButton.addClickListener(clickListener); operatorButton.addStyleName("operatorButton"); HorizontalPanel horizontalPanel = new HorizontalPanel(); horizontalPanel.addStyleName("columnTextFilter"); horizontalPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE); horizontalPanel.add(operatorButton); horizontalPanel.add(filterTextBox); horizontalPanel.setCellWidth(operatorButton, "30px"); horizontalPanel.setCellWidth(filterTextBox, "100%"); horizontalPanel.setSpacing(2); return horizontalPanel; } else { return filterTextBox; } }
/** constructor */ public LoginUiHorizontal() { HorizontalPanel hp = new HorizontalPanel(); hp.add(wLoading); hp.add(pUi); pWidget.add(hp); initWidget(pWidget); // observers bLogin.addClickListener(this); bForgot.addClickListener(this); tbConsumerKey.addClickListener(this); tbConsumerKey.addChangeListener(this); tbConsumerKey.addKeyboardListener(this); tbConsumerKey.addFocusListener(this); tbConsumerSecret.addClickListener(this); tbConsumerSecret.addChangeListener(this); tbConsumerSecret.addKeyboardListener(this); tbConsumerSecret.addFocusListener(this); tbConsumerSecretPass.addClickListener(this); tbConsumerSecretPass.addChangeListener(this); tbConsumerSecretPass.addKeyboardListener(this); tbConsumerSecretPass.addFocusListener(this); cbRemberMe.addKeyboardListener(this); cbRemberMe.addClickListener(this); hAccountLogin.addClickListener(this); hForgotPassword.addClickListener(this); // style pWidget.setStyleName("login-Ui"); // defaults pError.setVisible(false); hp.setCellVerticalAlignment(wLoading, VerticalPanel.ALIGN_MIDDLE); // debug // pWidget.addStyleName("test2"); }
protected static PushButton createButton(String name, ClickListener cl) { PushButton btn = new PushButton(name); DOM.setElementAttribute(btn.getElement(), "id", "my-button-id"); if (cl != null) { btn.addClickListener(cl); } return btn; }
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()); } } }); }
/** * Creates a new widget. This class needs access to certain fields and methods on the application * enclosing it. * * @param parent the host application */ public RichTextWidget(final GWTNote parent) { super(); VerticalPanel top = new VerticalPanel(); top.setWidth("100%"); HorizontalPanel header = new HorizontalPanel(); top.add(header); header.setWidth("100%"); header.add(new Label("GWT GearsNote")); header.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); status = new Label("Ready"); header.add(status); this.bodyWidget = new RichTextArea(); bodyWidget.addKeyboardListener( new KeyboardListenerAdapter() { @Override public void onKeyPress(Widget sender, char keyCode, int modifiers) { String newText = bodyWidget.getText(); if (((newText == null) && (curText != null)) || ((newText != null) && !newText.equals(curText))) { curText = newText; } } }); HorizontalPanel controls = new HorizontalPanel(); RichTextToolbar tb = new RichTextToolbar(this.bodyWidget); name = new TextBox(); name.setText("default"); name.setEnabled(false); nameEdit = new PushButton("Edit"); nameEdit.addClickListener( new ClickListener() { public void onClick(Widget sender) { String curName = name.getText(); boolean doNotify = !oldName.equals(curName); if (!nameEditable) { // if becoming editable, store off current value oldName = curName; } if (nameEditable && (curName == null || "".equals(curName))) { // if becoming un-editable, check to make sure it's valid Window.alert("The note name cannot be blank. Please try again."); nameEdit.setText(oldName); return; } // if all else is good, just flip the state nameEditable = !nameEditable; name.setEnabled(nameEditable); nameEdit.getUpFace().setText((nameEditable ? "Confirm" : "Edit")); if (doNotify) { notifyNameListeners(); } } }); nameEdit.addStyleName("edit-button"); options = new ListBox(); controls.add(tb); options.addItem("default"); options.setSelectedIndex(0); options.addChangeListener( new ChangeListener() { public void onChange(Widget sender) { String newName = options.getItemText(options.getSelectedIndex()); name.setText(newName); notifyNameListeners(); } }); HorizontalPanel tmp = new HorizontalPanel(); tmp.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); tmp.add(new Label("Note name:")); tmp.add(name); tmp.add(nameEdit); tmp.add(options); controls.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); controls.setWidth("100%"); controls.add(tmp); top.add(controls); top.add(bodyWidget); this.bodyWidget.setWidth("100%"); top.setCellHeight(bodyWidget, ((int) (Window.getClientHeight() * .75)) + "px"); this.bodyWidget.setHeight("100%"); initWidget(top); }