List of usage examples for com.google.gwt.user.client.ui HTMLPanel HTMLPanel
private HTMLPanel(Element elem)
From source file:strat.mining.multipool.stats.client.mvp.view.impl.DonationViewImpl.java
License:Open Source License
@Override public void setNotAvailable() { mainContainer.remove(progressBar);//from w ww . j ava2 s .co m mainContainer.remove(notAvailablePanel); notAvailablePanel = new HTMLPanel( "Not Available. <a href=\"http://blockchain.info\" target=\"_blank\">Blockchain.info</a> may be down."); mainContainer.add(notAvailablePanel, new HtmlData(".donationProgressBar")); }
From source file:stroom.editor.client.view.HtmlViewImpl.java
License:Apache License
@Override public void setHtml(final String html) { final HTMLPanel htmlPanel = new HTMLPanel(html); scrollPanel.setWidget(htmlPanel);/* www . j ava 2 s .co m*/ }
From source file:uk.ac.ncl.openlab.intake24.client.CallbackRequestForm.java
private void doRequest() { requestCallbackButton.setEnabled(false); errorMessage.clear();//from w w w . ja va 2 s . c o m if (nameTextBox.getText().isEmpty() || phoneNumberTextBox.getText().isEmpty()) { errorMessage .add(new HTMLPanel(SafeHtmlUtils.fromSafeConstant(messages.callbackRequestForm_fieldsEmpty()))); errorMessage.getElement().addClassName("intake24-login-error-message"); requestCallbackButton.setEnabled(true); return; } if (EmbeddedData.surveyId.equals("demo")) { errorMessage.add(new HTMLPanel(SafeHtmlUtils .fromSafeConstant(messages.callbackRequestForm_disabledForDemo("support@intake24.co.uk")))); errorMessage.getElement().addClassName("intake24-login-error-message"); requestCallbackButton.setEnabled(true); return; } errorMessage.add(new LoadingWidget()); HelpService.INSTANCE.requestCallback(EmbeddedData.surveyId, new CallbackRequest(nameTextBox.getText(), phoneNumberTextBox.getText()), new MethodCallback<Void>() { @Override public void onFailure(Method method, Throwable exception) { if (method.getResponse().getStatusCode() == 429) { errorMessage.clear(); errorMessage.getElement().addClassName("intake24-login-error-message"); errorMessage.add(new HTMLPanel( SafeHtmlUtils.fromSafeConstant(messages.callbackRequestForm_tooSoon()))); GoogleAnalytics.trackHelpCallbackRejected(); } else { errorMessage.clear(); errorMessage.add( new HTMLPanel(SafeHtmlUtils.fromSafeConstant(messages.serverErrorTitle()))); errorMessage.add(new HTMLPanel(SafeHtmlUtils .fromSafeConstant(messages.serverErrorText(EmbeddedData.surveySupportEmail)))); errorMessage.getElement().addClassName("intake24-login-error-message"); requestCallbackButton.setEnabled(true); } } @Override public void onSuccess(Method method, Void response) { errorMessage.clear(); errorMessage.getElement().addClassName("intake24-login-success-message"); errorMessage.add(new HTMLPanel( SafeHtmlUtils.fromSafeConstant(messages.callbackRequestForm_success()))); GoogleAnalytics.trackHelpCallbackAccepted(); } }); }
From source file:uk.ac.ncl.openlab.intake24.client.survey.FlatFinalPage.java
License:Apache License
@Override public SimpleSurveyStageInterface getInterface(Callback1<Survey> onComplete, Callback2<Survey, Boolean> onIntermediateStateChange) { final CompletedSurvey finalData = data.finalise(log); final FlowPanel contents = new FlowPanel(); contents.addStyleName("intake24-survey-content-container"); contents.add(new LoadingPanel(messages.submitPage_loadingMessage())); SurveyService.INSTANCE.submitSurvey(EmbeddedData.surveyId, finalData, new MethodCallback<SurveySubmissionResponse>() { @Override//from w w w .j a v a 2s . c o m public void onFailure(Method method, Throwable exception) { contents.clear(); if (exception instanceof RequestTimeoutException) { final MethodCallback<SurveySubmissionResponse> outer = this; contents.add( new HTMLPanel(SafeHtmlUtils.fromSafeConstant(messages.submitPage_timeout()))); contents.add(WidgetFactory.createGreenButton(messages.submitPage_tryAgainButton(), "finalPageTryAgainButton", new ClickHandler() { @Override public void onClick(ClickEvent event) { SurveyService.INSTANCE.submitSurvey(EmbeddedData.surveyId, finalData, outer); } })); } else { contents.add( new HTMLPanel(SafeHtmlUtils.fromSafeConstant(messages.submitPage_error()))); } contents.add(new HTMLPanel(finalPageHtml)); } @Override public void onSuccess(Method method, SurveySubmissionResponse response) { contents.clear(); HTMLPanel p = new HTMLPanel(SafeHtmlUtils.fromSafeConstant(messages.submitPage_success())); p.getElement().getStyle().setMarginBottom(30, Style.Unit.PX); contents.add(p); if (response.redirectToFeedback) { HTMLPanel p1 = new HTMLPanel("h4", surveyMessages.finalPage_feedbackLabel()); p1.getElement().getStyle().setMarginBottom(0, Style.Unit.PX); contents.add(p1); Button feedbackButton = WidgetFactory.createGreenButton( surveyMessages.finalPage_feedbackButtonLabel(), "feedbackButton", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { UrlBuilder builder = Window.Location.createUrlBuilder(); for (String paramName : Window.Location.getParameterMap().keySet()) { builder.removeParameter(paramName); } builder.setPath(Window.Location.getPath() + "/feedback"); builder.setHash("/"); Window.open(builder.buildString(), "_blank", ""); } }); contents.add(feedbackButton); } response.followUpUrl.accept(new Option.SideEffectVisitor<String>() { @Override public void visitSome(String url) { if (response.redirectToFeedback) { HTMLPanel p2 = new HTMLPanel("h4", surveyMessages.finalPage_externalFollowUpLabel_afterFeedback()); p2.getElement().getStyle().setMarginBottom(0, Style.Unit.PX); contents.add(p2); } else { HTMLPanel p2 = new HTMLPanel("h4", surveyMessages.finalPage_externalFollowUpLabel_noFeedback()); p2.getElement().getStyle().setMarginBottom(0, Style.Unit.PX); contents.add(p2); } FlowPanel externalLinkDiv = new FlowPanel(); externalLinkDiv.add(WidgetFactory.createGreenButton( surveyMessages.finalPage_externalFollowUpButtonLabel(), "finalPageExternalUrlButton", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { Window.open(url, "_blank", ""); } })); contents.add(externalLinkDiv); } @Override public void visitNone() { } }); contents.add(new HTMLPanel(finalPageHtml)); UxEventsHelper.cleanSessionId(); StateManagerUtil.clearLatestState(AuthCache.getCurrentUserId()); } }); return new SimpleSurveyStageInterface(contents, FlatFinalPage.class.getSimpleName()); }
From source file:uk.ac.ncl.openlab.intake24.client.survey.NavigationPanel.java
License:Apache License
public void stateChanged(final Survey state) { mealsPanel.clear();//w w w . j a v a 2s. c om Button addMealButton = WidgetFactory.createButton(messages.addMealLabel(), new ClickHandler() { @Override public void onClick(ClickEvent event) { requestAddMeal.call(); } }); addMealButton.getElement().setId("intake24-add-meal-button"); UnorderedList<MealPanel> mealList = new UnorderedList<MealPanel>(); mealList.addStyleName("intake24-meal-list"); for (WithIndex<Meal> m : state.mealsSortedByTime) { MealPanel p = new MealPanel(m.value, m.index, state.selectedElement, new Callback1<Selection>() { @Override public void call(Selection arg1) { requestSelection.call(arg1); } }); mealList.addItem(p); } headerContainer = new FlowPanel(); headerContainer.addStyleName("intake24-meals-panel-header-container"); headerButton = new FlowPanel(); headerButton.addStyleName("intake24-meals-panel-header-button"); HTMLPanel header = new HTMLPanel(SafeHtmlUtils.fromSafeConstant(messages.navPanelHeader())); header.addStyleName("intake24-meals-panel-header"); headerContainer.add(headerButton); headerContainer.add(header); mealsPanel.add(headerContainer); mealsPanel.add(mealList); mealsPanel.add(addMealButton); headerButton.sinkEvents(Event.ONCLICK | Event.ONTOUCHSTART); headerButton.addHandler(new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { togglePanel(); } }, ClickEvent.getType()); headerButton.addHandler(new TouchStartHandler() { @Override public void onTouchStart(TouchStartEvent touchStartEvent) { togglePanel(); } }, TouchStartEvent.getType()); onWindowResize(); }
From source file:uk.ac.ncl.openlab.intake24.client.survey.prompts.AssociatedFoodPrompt.java
License:Apache License
@Override public SurveyStageInterface getInterface(final Callback1<MealOperation> onComplete, Callback1<Function1<Pair<FoodEntry, Meal>, Pair<FoodEntry, Meal>>> updateIntermediateState) { final EncodedFood food = (EncodedFood) pair.left; final AssociatedFood prompt = food.enabledPrompts.get(promptIndex); final FlowPanel content = new FlowPanel(); PromptUtil.addBackLink(content);/*from w w w .java 2 s. c o m*/ final Panel promptPanel = WidgetFactory.createPromptPanel( SafeHtmlUtils.fromSafeConstant("<p>" + SafeHtmlUtils.htmlEscape(prompt.promptText) + "</p>"), WidgetFactory.createHelpButton(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { String promptType = AssociatedFoodPrompt.class.getSimpleName(); GoogleAnalytics.trackHelpButtonClicked(promptType); ShepherdTour.startTour(getShepherdTourSteps(), promptType); } })); content.add(promptPanel); ShepherdTour.makeShepherdTarget(promptPanel); UxEventsHelper.postManualAssociatedFoodReceived( new ManualReceivedData(new FoodHeader(food.data.code, food.data.localDescription), prompt)); final Callback1<FoodData> addNewFood = new Callback1<FoodData>() { @Override public void call(final FoodData result) { onComplete.call(MealOperation.update(new Function1<Meal, Meal>() { @Override public Meal apply(final Meal meal) { // Special case for cereal: // if a "milk on cereal" food is linked to a cereal food // copy bowl type from the parent food Option<String> bowl_id = getParamValue(food, "bowl"); FoodData foodData = bowl_id.accept(new Option.Visitor<String, FoodData>() { @Override public FoodData visitSome(String bowl_id) { return result.withPortionSizeMethods( appendPotionSizeParameter(result.portionSizeMethods, "bowl", bowl_id)); } @Override public FoodData visitNone() { return result; } }); EncodedFood assocFood = new EncodedFood(foodData, FoodLink.newUnlinked(), "associated food prompt"); return linkAssociatedFood(meal.plusFood(assocFood), food, assocFood, prompt.linkAsMain); } ; })); } }; final Callback addMissingFood = new Callback() { @Override public void call() { onComplete.call(MealOperation.update(new Function1<Meal, Meal>() { @Override public Meal apply(final Meal meal) { FoodEntry missingFood = new MissingFood(FoodLink.newUnlinked(), prompt.genericName.substring(0, 1).toUpperCase() + prompt.genericName.substring(1), false, Option.<MissingFoodDescription>none()) .withCustomDataField(MissingFood.KEY_ASSOC_FOOD_NAME, food.description()) .withCustomDataField(MissingFood.KEY_ASSOC_FOOD_CATEGORY, prompt.foodOrCategoryCode.getRightOrDie()); return linkAssociatedFood(meal.plusFood(missingFood), food, missingFood, prompt.linkAsMain); } })); } }; final Callback1<FoodEntry> addExistingFood = new Callback1<FoodEntry>() { @Override public void call(final FoodEntry existing) { onComplete.call(MealOperation.update(new Function1<Meal, Meal>() { @Override public Meal apply(final Meal meal) { return linkAssociatedFood(meal, food, existing, prompt.linkAsMain); } ; })); } }; foodBrowser = new FoodBrowser(locale, new Callback2<FoodData, Integer>() { @Override public void call(FoodData result, Integer index) { UxEventsHelper.postManualAssociatedFoodConfirmed( new ManualConfirmedData(new FoodHeader(food.data.code, food.data.localDescription), getSelectedFoods(), prompt, new FoodHeader(result.code, result.localDescription))); addNewFood.call(result); } }, new Callback1<String>() { @Override public void call(String code) { throw new RuntimeException("Special foods are not allowed as associated foods"); } }, new Callback() { @Override public void call() { addMissingFood.call(); } }, Option.<SkipFoodHandler>none(), false, Option.<Pair<String, String>>none(), Option.none(), Option.none()); Button no = WidgetFactory.createButton(messages.assocFoods_noButtonLabel(), new ClickHandler() { @Override public void onClick(ClickEvent event) { UxEventsHelper.postManualAssociatedFoodRejected( new ManualRejectedData(new FoodHeader(food.data.code, food.data.localDescription), prompt)); onComplete .call(MealOperation.updateEncodedFood(foodIndex, new Function1<EncodedFood, EncodedFood>() { @Override public EncodedFood apply(EncodedFood argument) { return argument.minusPrompt(promptIndex); } })); } }); Button yes = WidgetFactory.createButton(messages.assocFoods_yesButtonLabel(), new ClickHandler() { @Override public void onClick(ClickEvent event) { if (prompt.foodOrCategoryCode.isRight()) { content.clear(); PromptUtil.addBackLink(content); content.add(promptPanel); content.add(new HTMLPanel( SafeHtmlUtils.fromSafeConstant(messages.assocFoods_specificFoodPrompt()))); content.add(interf); content.add(foodBrowser); isInBrowserMode = true; foodBrowser.browse(prompt.foodOrCategoryCode.getRightOrDie(), messages.assocFoods_allFoodsDataSetName()); } else { content.clear(); content.add(new LoadingPanel(messages.foodBrowser_loadingMessage())); FoodDataService.INSTANCE.getFoodData(locale, prompt.foodOrCategoryCode.getLeftOrDie(), new MethodCallback<FoodData>() { @Override public void onFailure(Method method, Throwable exception) { content.clear(); content.add(WidgetFactory.createDefaultErrorMessage()); content.add(WidgetFactory.createBackLink()); } @Override public void onSuccess(Method method, FoodData response) { UxEventsHelper.postManualAssociatedFoodConfirmed(new ManualConfirmedData( new FoodHeader(food.data.code, food.data.localDescription), getSelectedFoods(), prompt, new FoodHeader(response.code, response.localDescription))); addNewFood.call(response); } }); } } }); yes.getElement().setId("intake24-assoc-food-yes-button"); final int existingIndex = CollectionUtils.indexOf(pair.right.foods, new Function1<FoodEntry, Boolean>() { @Override public Boolean apply(FoodEntry argument) { return argument.accept(new FoodEntry.Visitor<Boolean>() { @Override public Boolean visitRaw(RawFood food) { return false; } @Override public Boolean visitEncoded(EncodedFood food) { // don't suggest foods that are already linked to other // foods if (food.link.isLinked()) return false; // don't suggest linking the food to itself else if (food.link.id.equals(pair.left.link.id)) return false; // don't suggest if the food has foods linked to it else if (!Meal.linkedFoods(pair.right.foods, food).isEmpty()) return false; else if (prompt.foodOrCategoryCode.isRight()) return food.isInCategory(prompt.foodOrCategoryCode.getRightOrDie()); else return food.data.code.equals(prompt.foodOrCategoryCode.getLeftOrDie()); } @Override public Boolean visitTemplate(TemplateFood food) { return false; } @Override public Boolean visitMissing(MissingFood food) { return false; } @Override public Boolean visitCompound(CompoundFood food) { return false; } }); } }); no.getElement().setId("intake24-assoc-food-no-button"); tour = TreePVector.<ShepherdTour.Step>empty() .plus(new ShepherdTour.Step("noButton", "#intake24-assoc-food-no-button", helpMessages.assocFood_noButtonTitle(), helpMessages.assocFood_noButtonDescription())) .plus(new ShepherdTour.Step("yesButton", "#intake24-assoc-food-yes-button", helpMessages.assocFood_yesButtonTitle(), helpMessages.assocFood_yesButtonDescription())); if (existingIndex != -1) { Button yesExisting = WidgetFactory.createButton(messages.assocFoods_alreadyEntered(), new ClickHandler() { @Override public void onClick(ClickEvent event) { UxEventsHelper.postManualAssociatedFoodAlreadyReported(new ManualAlreadyReportedData( new FoodHeader(food.data.code, food.data.localDescription), prompt)); addExistingFood.call(pair.right.foods.get(existingIndex)); } }); yesExisting.getElement().setId("intake24-assoc-food-yes-existing-button"); tour = tour.plus(new ShepherdTour.Step("yesButton", "#intake24-assoc-food-yes-existing-button", helpMessages.assocFood_yesExistingButtonTitle(), helpMessages.assocFood_yesExistingButtonDescription(), "top right", "bottom right")); ShepherdTour.makeShepherdTarget(yesExisting); buttonsPanel = WidgetFactory.createButtonsPanel(no, yes, yesExisting); } else { buttonsPanel = WidgetFactory.createButtonsPanel(no, yes); } content.add(buttonsPanel); ShepherdTour.makeShepherdTarget(yes, no); interf = new FlowPanel(); return new SurveyStageInterface.Aligned(content, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP, SurveyStageInterface.DEFAULT_OPTIONS, AssociatedFoodPrompt.class.getSimpleName()); }
From source file:uk.ac.ncl.openlab.intake24.client.survey.prompts.ConfirmCompletionPromptFlexibleRecall.java
private FlowPanel createAlert(String alertText) { FlowPanel result = new FlowPanel(); HTMLPanel promptPanel = new HTMLPanel(alertText); promptPanel.addStyleName("intake24-alert"); result.add(promptPanel);// w w w. j a v a 2 s .c om return result; }
From source file:uk.ac.ncl.openlab.intake24.client.survey.prompts.SameAsBeforePrompt.java
@Override public SurveyStageInterface getInterface(final Callback1<MealOperation> onComplete, Callback1<Function1<Pair<FoodEntry, Meal>, Pair<FoodEntry, Meal>>> updateIntermediateState) { final FlowPanel content = new FlowPanel(); PromptUtil.addBackLink(content);//from w w w.j av a 2 s .co m final Panel promptPanel = WidgetFactory.createPromptPanel( SafeHtmlUtils.fromSafeConstant(messages .sameAsBefore_promptText(SafeHtmlUtils.htmlEscape(food.description().toLowerCase()))), ShepherdTour.createTourButton(tour, SameAsBeforePrompt.class.getSimpleName())); content.add(promptPanel); final EncodedFood mainFoodAsBefore = asBefore.mainFood; final PVector<FoodEntry> assocFoodsAsBefore = asBefore.linkedFoods; final double leftoversWeight = mainFoodAsBefore.completedPortionSize().leftoversWeight(); final double servingWeight = mainFoodAsBefore.completedPortionSize().servingWeight(); final int leftoversPercent = (int) (leftoversWeight * 100.0 / servingWeight); final int leftoversPercentRounded = (leftoversPercent + 4) / 5 * 5; final String portionSize = messages.sameAsBefore_servingSize( Integer.toString((int) servingWeight) + (mainFoodAsBefore.isDrink() ? " ml" : " g")); final String leftovers = (leftoversWeight < 0.01) ? (mainFoodAsBefore.isDrink() ? messages.sameAsBefore_noLeftoversDrink() : messages.sameAsBefore_noLeftoversFood()) : messages.sameAsBefore_leftovers(leftoversPercentRounded + "%"); HTMLPanel portionSizePanel = new HTMLPanel(portionSize); portionSizePanel.getElement().setId("intake24-sab-portion-size"); content.add(portionSizePanel); HTMLPanel leftoversPanel = new HTMLPanel(leftovers); leftoversPanel.getElement().setId("intake24-sab-leftovers"); content.add(leftoversPanel); String assocFoodsHTML = messages.sameAsBefore_hadItWith(); if (!assocFoodsAsBefore.isEmpty()) assocFoodsHTML += "<ul>"; for (FoodEntry f : assocFoodsAsBefore) { EncodedFood assocFood = f.asEncoded(); String assocFoodDescription; if (assocFood.isInCategory(SpecialData.FOOD_CODE_MILK_IN_HOT_DRINK)) assocFoodDescription = SafeHtmlUtils.htmlEscape(assocFood.description()) + " (" + SafeHtmlUtils.htmlEscape(MilkInHotDrinkPortionSizeScript.amounts.get( Integer.parseInt(assocFood.completedPortionSize().data.get("milkPartIndex"))).name) + ")"; else assocFoodDescription = SafeHtmlUtils.htmlEscape(assocFood.description()) + " (" + Integer.toString((int) assocFood.completedPortionSize().servingWeight()) + (assocFood.isDrink() ? " ml" : " g") + ")"; assocFoodsHTML += "<li>" + assocFoodDescription + "</li>"; } HTMLPanel assocFoodsPanel; if (!assocFoodsAsBefore.isEmpty()) { assocFoodsHTML += "</ul>"; assocFoodsPanel = new HTMLPanel(assocFoodsHTML); } else { assocFoodsPanel = new HTMLPanel(messages.sameAsBefore_noAddedFoods()); } assocFoodsPanel.getElement().setId("intake24-sab-assoc-foods"); content.add(assocFoodsPanel); Button yes = WidgetFactory.createButton(messages.sameAsBefore_confirmButtonLabel(), new ClickHandler() { @Override public void onClick(ClickEvent event) { onComplete.call(MealOperation.update(new Function1<Meal, Meal>() { @Override public Meal apply(final Meal meal) { PVector<FoodEntry> updatedFoods = meal.foods .with(foodIndex, food.withPortionSize( PortionSize.complete(mainFoodAsBefore.completedPortionSize())) .disableAllPrompts()) .plusAll(map(assocFoodsAsBefore, new Function1<FoodEntry, FoodEntry>() { @Override public FoodEntry apply(FoodEntry assocFood) { return assocFood.relink(FoodLink.newLinked(food.link.id)); } })); return meal.withFoods(updatedFoods); } })); } }); yes.getElement().setId("intake24-sab-yes-button"); Button no = WidgetFactory.createButton(messages.sameAsBefore_rejectButtonLabel(), new ClickHandler() { @Override public void onClick(ClickEvent event) { onComplete .call(MealOperation.updateEncodedFood(foodIndex, new Function1<EncodedFood, EncodedFood>() { @Override public EncodedFood apply(EncodedFood argument) { return argument.markNotSameAsBefore(); } })); } }); no.getElement().setId("intake24-sab-no-button"); content.add(WidgetFactory.createButtonsPanel(yes, no)); ShepherdTour.makeShepherdTarget(promptPanel, portionSizePanel, leftoversPanel, assocFoodsPanel, yes, no); return new SurveyStageInterface.Aligned(content, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP, SurveyStageInterface.DEFAULT_OPTIONS, SameAsBeforePrompt.class.getSimpleName()); }
From source file:uk.ac.ncl.openlab.intake24.client.survey.prompts.simple.OptionalFoodPrompt.java
License:Apache License
@Override public FlowPanel getInterface(final Callback1<Option<String>> onComplete) { final FlowPanel content = new FlowPanel(); final Panel promptPanel = WidgetFactory.createPromptPanel(def.promptHtml); content.add(promptPanel);/* w w w.j a va 2s. c o m*/ final FoodBrowser foodBrowser = new FoodBrowser(locale, new Callback2<FoodData, Integer>() { @Override public void call(FoodData result, Integer index) { onComplete.call(Option.some(result.code)); } }, new Callback1<String>() { @Override public void call(String code) { throw new RuntimeException("Special foods are not allowed as associated foods"); } }, new Callback() { @Override public void call() { // FIXME: A quick hack to get rid of compiler errors -- this // prompt seems to be unused // fix this if this is actually used! onComplete.call(Option.<String>none()); } }, Option.<SkipFoodHandler>none(), true, Option.<Pair<String, String>>none(), Option.none(), Option.none()); Button no = WidgetFactory.createButton(def.noButtonText/* "No, I did not" */, new ClickHandler() { @Override public void onClick(ClickEvent event) { onComplete.call(Option.<String>none()); } }); Button yes = WidgetFactory.createButton(def.yesButtonText/* "Yes, I had some" */, new ClickHandler() { @Override public void onClick(ClickEvent event) { content.clear(); PromptUtil.addBackLink(content); content.add(promptPanel); content.add(new HTMLPanel(def.foodChoicePromptHtml /* * SafeHtmlUtils * . * fromSafeConstant * ( * "<p>Please select the specific type of this food that you've had:</p>" * ) */)); content.add(interf); content.add(foodBrowser); foodBrowser.browse(def.categoryCode, "?"); } }); buttonsPanel = WidgetFactory.createButtonsPanel(no, yes); content.add(buttonsPanel); interf = new FlowPanel(); return content; }
From source file:uk.ac.ncl.openlab.intake24.client.survey.WelcomePage.java
License:Apache License
@Override public SimpleSurveyStageInterface getInterface(final Callback1<Survey> onComplete, Callback2<Survey, Boolean> onIntermediateStateChange) { final Button startButton = WidgetFactory.createGreenButton(surveyMessages.welcomePage_ready(), "welcomePageReadyButton", new ClickHandler() { public void onClick(ClickEvent event) { onComplete.call(initialData.withFlag(FLAG_WELCOME_PAGE_SHOWN)); }//from w ww.j av a 2s . c om }); FlowPanel contents = new FlowPanel(); contents.getElement().addClassName("intake24-survey-content-container"); HTMLPanel htmlPanel = new HTMLPanel(SafeHtmlUtils.fromSafeConstant(welcomeHtml)); contents.add(htmlPanel); contents.add(startButton); return new SimpleSurveyStageInterface(contents, WelcomePage.class.getSimpleName()); }