private void finalizeFileTableInit() { files = new FileTable(); final RootPanel filePanel = RootPanel.get("fileTable"); filePanel.add(files); connectOutputLocationAndFileTable(); connectTitleAndFileTable(); }
private void finalizeSpectrumQa(final List<SpectrumQaParamFileInfo> list) { if (list == null || list.isEmpty()) { DOM.setStyleAttribute(DOM.getElementById("spectrumQaRow"), "display", "none"); } else { DOM.setStyleAttribute(DOM.getElementById("spectrumQaRow"), "display", ""); spectrumQaSetupPanel = new SpectrumQaSetupPanel(list); final RootPanel rootSpectrumQaPanel = RootPanel.get("spectrumQa"); rootSpectrumQaPanel.add(spectrumQaSetupPanel); } showPageContentsAfterLoad(); }
private void initEditorToggle() { final RootPanel togglePanel = RootPanel.get("paramsToggleButton"); editorToggle = new ToggleButton(new Image("images/triright.png"), new Image("images/tridown.png")); editorToggle.setDown(false); editorToggle.addStyleName("toggle-button"); togglePanel.add(editorToggle); editorToggle.addClickHandler( new ClickHandler() { @Override public void onClick(final ClickEvent event) { paramsEditor.setEditorExpanded(editorToggle.isDown()); } }); }
private void initTitleEditor() { final RootPanel titlePanel = RootPanel.get("title"); title.setVisibleLength(60); titlePanel.add(title); title.addKeyUpHandler( new KeyUpHandler() { @Override public void onKeyUp(final KeyUpEvent event) { userEditedTitle = true; updateOutputLocation(); } }); titleChangeListener = new TitleChangeListener(); title.addChangeHandler(titleChangeListener); }
private void initRunButton() { // Run Button //////////////////////////////////////////// runButton = new PushButton(); RootPanel.get("runButton").add(runButton); runButton.setEnabled(false); runButton.addClickHandler(new RunClickHandler()); }
private void initAddFilesButton() { // Add files button produces a dialog addFileButton = new PushButton( "", new ClickHandler() { @Override public void onClick(final ClickEvent event) { final int clientWidth = Window.getClientWidth(); final int clientHeight = Window.getClientHeight(); final int popupWidth = clientWidth * 3 / 4; final int popupHeight = clientHeight * 3 / 4; final int posX = (clientWidth - popupWidth) / 2; final int posY = (clientHeight - popupHeight) / 2; final FileTreeDialog dialog = new FileTreeDialog(popupWidth, popupHeight); dialog.setPopupPosition(posX, posY); dialog.setSelectedFilesListener( new SelectedFilesListener() { @Override public void selectedFiles(final FileInfo[] info) { files.addFiles(info); } }); dialog.show(); } }); addFileButton.setEnabled(false); RootPanel.get("addFileButton").add(addFileButton); }
private void initOutputLocation() { // currently, the save location is populated deterministically by the combination of // the users's input final RootPanel outputPanel = RootPanel.get("output"); output = new TextBox(); output.setVisibleLength(150); output.addChangeHandler( new ChangeHandler() { @Override public void onChange(final ChangeEvent event) { outputPathUserSpecified = true; updateOutputLocation(); } }); outputPanel.add(output); final RootPanel outputWarning = RootPanel.get("outputWarning"); outputValidationPanel = new ValidationPanel(2); outputWarning.add(outputValidationPanel); connectOutputLocationAndFileTable(); // Fire userChanged to get the output location updated userChanged(); updateOutputLocation(); }
private void initUserList(final ClientUser[] list) { // The user listing is downloaded by an async call. final RootPanel userPanel = RootPanel.get("email"); userPanel.add(users); users.addChangeHandler( new ChangeHandler() { @Override public void onChange(final ChangeEvent event) { userChanged(); } }); users.addItem(SELECT_USER_STRING, ""); userInfo.clear(); for (final ClientUser user : list) { users.addItem(user.getName(), user.getEmail()); userInfo.put(user.getEmail(), user); } // Select the user according to the cookie stored final String userEmail = Cookies.getCookie("email"); selectUser(userEmail); }
private void finalizeInitReport( final Boolean reportEnabled, List<ClientSearchEngine> searchEngines) { boolean quameterEnabled = false; for (ClientSearchEngine engine : searchEngines) { if ("QUAMETER".equals(engine.getEngineConfig().getCode())) { quameterEnabled = true; } } if (reportEnabled || quameterEnabled) { DOM.setStyleAttribute(DOM.getElementById("reportingRow"), "display", ""); final RootPanel rootPanel = RootPanel.get("report"); if (quameterEnabled) { quameterCategorySelector = new QuameterCategorySelector(this, this); rootPanel.add(quameterCategorySelector); } if (reportEnabled) { reportSetupPanel = new ReportSetupPanel(quameterCategorySelector); rootPanel.add(reportSetupPanel); } } else { DOM.setStyleAttribute(DOM.getElementById("reportingRow"), "display", "none"); } }
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()); } } }); }
private void initMessage(final String message) { final RootPanel messagePanel = RootPanel.get("messagePlaceholder"); messageDisplay.setVisible(false); messagePanel.add(messageDisplay); displayMessage(message); }
private void initAdditionalSettings() { additionalSettingsPanel = new AdditionalSettingsPanel(); final RootPanel panel = RootPanel.get("publicResults"); panel.add(additionalSettingsPanel); }