// Helper method to make list of buttons on left side of View public void makeSideBar(HorizontalPanel hp) { VerticalPanel sidePanel = new VerticalPanel(); hp.add(sidePanel); sidePanel.setSize("72px", "98px"); Button postAdButton = new Button("Post Ad"); postAdButton.setStyleName("sideBarButton"); postAdButton.setText("Post Ad"); // add a clickListener to the button postAdButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { viewPostAdForm(); } }); sidePanel.add(postAdButton); Button viewAdsButton = new Button("View Ads"); viewAdsButton.setStyleName("sideBarButton"); viewAdsButton.setText("View Ads"); // add a clickListener to the button viewAdsButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { control.viewAdDataFromServer(); } }); sidePanel.add(viewAdsButton); Hyperlink adminHyperlink = new Hyperlink("Admin Page", false, "newHistoryToken"); sidePanel.add(adminHyperlink); }
public void setActivated(boolean activated) { if (activated == true) { activated_btn.setText("Deactivate"); } else { activated_btn.setText("Activate"); } }
private HorizontalPanel makePostRow(final PostData post, final VerticalPanel mainPanel) { HorizontalPanel row = new HorizontalPanel(); Label titleLabel = new Label("Title: " + post.getTitle() + " "); titleLabel.addStyleName("postLabel"); Label descrLabel = new Label(post.getDescription() + " "); descrLabel.addStyleName("postLabel"); Label priceLabel = new Label("Price: $" + post.getPrice() + " "); priceLabel.addStyleName("postLabel"); Label nameLabel = new Label("Seller Name: " + post.getSellerName() + " "); nameLabel.addStyleName("postLabel"); Anchor link = new Anchor("Uploaded File", post.getURL()); link.setTarget("_blank"); Button addressButton = new Button("Address"); addressButton.addStyleName("postInfoButton"); addressButton.setText("Address"); // add a clickListener to the button addressButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { doMapPopup(post); } }); Button deleteButton = new Button("Delete"); deleteButton.addStyleName("postInfoButton"); deleteButton.setText("Delete"); // add a clickListener to the button deleteButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { control.handleDeleteRequest(post); } }); Button editButton = new Button("Edit"); editButton.addStyleName("postInfoButton"); editButton.setText("Edit"); // add a clickListener to the button editButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { viewPostEditForm(post); } }); row.add(titleLabel); row.add(descrLabel); row.add(priceLabel); row.add(nameLabel); row.add(link); row.add(new Label(" ")); row.add(addressButton); row.add(new Label(" ")); row.add(editButton); row.add(new Label(" ")); row.add(deleteButton); return row; }
public void onClick(ClickEvent e) { Element target = e.getNativeEvent().getEventTarget().cast(); boolean isEditing = assignmentsTable.isVisible(); if (target == btApply.getElement()) { if (isEditing) { hide(); app.getActiveEuclidianView().requestFocusInWindow(); app.storeUndoInfo(); app.getKernel().notifyRepaint(); } else { assignmentsTable.setVisible(true); checkAssignmentsTable.setVisible(false); btTest.setText(app.getPlain("Test")); btApply.setText(app.getPlain("OK")); hide(); setGlassEnabled(true); center(); } } else if (target == btTest.getElement()) { if (isEditing) { assignmentsTable.setVisible(false); checkAssignmentsTable.setVisible(true); check(); btTest.setText(app.getPlain("Check")); btApply.setText(app.getPlain("Back")); hide(); setGlassEnabled(false); center(); } else { check(); } } }
public void setSearchButtonStatus(boolean status) { if (status) { searchButton.setText("Search"); } else { searchButton.setText("Searching..."); } searchButton.setEnabled(status); }
public DeleteContentPopup() { super(false); add(binder.createAndBindUi(this)); this.setGlassEnabled(true); h3Panel.setVisible(false); lblRemoving.setVisible(false); lblRemoving.getElement().getStyle().setMargin(26, Unit.PX); txtConfirmAction.setVisible(false); setButtonVisibility(true); setElementId(); txtConfirmAction.addKeyUpHandler(new ValidateConfirmText()); txtConfirmAction.getElement().getStyle().setColor("#515151"); txtConfirmAction.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { if (!txtConfirmAction.getText().isEmpty()) { if (txtConfirmAction .getText() .toLowerCase() .equalsIgnoreCase(i18n.GL1175().toLowerCase())) { txtConfirmAction.setText(""); txtConfirmAction.getElement().getStyle().setColor("#000000"); } } } }); txtConfirmAction.addBlurHandler( new BlurHandler() { @Override public void onBlur(BlurEvent event) { if (txtConfirmAction.getText().isEmpty()) { txtConfirmAction.getElement().getStyle().setColor("#515151"); } } }); StringUtil.setAttributes(txtConfirmAction, true); btnNegitive.setText(StringUtil.generateMessage(i18n.GL0142())); btnNegitive.getElement().setAttribute("alt", StringUtil.generateMessage(i18n.GL0142())); btnNegitive.getElement().setAttribute("title", StringUtil.generateMessage(i18n.GL0142())); btnPositive.setText(StringUtil.generateMessage(i18n.GL0190())); btnPositive.getElement().setAttribute("alt", StringUtil.generateMessage(i18n.GL0190())); btnPositive.getElement().setAttribute("title", StringUtil.generateMessage(i18n.GL0190())); /*lblDeleteText.setText(i18n.GL2189()); StringUtil.setAttributes(lblDeleteText.getElement(), "lblDeleteText", null, "lblDeleteText");*/ Window.enableScrolling(false); AppClientFactory.fireEvent(new SetHeaderZIndexEvent(98, false)); this.center(); }
public ShellImpl(EventBus eventBus) { this.eventBus = eventBus; initWidget(uiBinder.createAndBindUi(this)); logOutBtn.setText(constants.logOut()); userBtn.setText(constants.user()); initializeActBtns(7); }
private void updateButtons() { btnPrevious.setEnabled(slidePanel.hasPrevious()); if (!slidePanel.hasNext()) { btnNext.setText(R.lang.AddScenario()); btnNext.setEnabled(mecController.getLastValue()); } else { btnNext.setText(R.lang.Next()); btnNext.setEnabled(true); } }
private void makeEditable(boolean editable) { if (editable) { editorPanel.setStylePrimaryName(style.editorPanelVisible()); viewPanel.setStylePrimaryName(style.viewPanelHidden()); clickToEdit.setText("Done"); } else { editorPanel.setStylePrimaryName(style.editorPanelHidden()); viewPanel.setStylePrimaryName(style.viewPanelVisible()); clickToEdit.setText("Edit"); } }
private void toogleWindowLog() { if (windowOpen) { $("#logRow").hide(); $(clearLogButton.getElement()).hide(); windowOpen = false; windowToogleButton.setText(SHOW_WINDOW_EVENT); } else { $("#logRow").show(); $(clearLogButton.getElement()).show(); windowOpen = true; windowToogleButton.setText(HIDE_WINDOW_EVENT); } }
/** Constructor. */ public AddNewModuleView() { super(); initWidget(BINDER.createAndBindUi(this)); saveButton.setText(AdminConstants.SAVE_BUTTON); cancelButton.setText(AdminConstants.CANCEL_BUTTON); saveButton.setHeight(AdminConstants.BUTTON_HEIGHT); cancelButton.setHeight(AdminConstants.BUTTON_HEIGHT); dialogBox = new DialogBox(); name.setReadOnly(false); validateNameTextBox = new ValidatableWidget<TextBox>(name); validateNameTextBox .getWidget() .addValueChangeHandler( new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> arg0) { validateNameTextBox.toggleValidDateBox(); } }); validateNameTextBox.addValidator(new EmptyStringValidator(name)); validateDescTextBox = new ValidatableWidget<TextBox>(description); validateDescTextBox .getWidget() .addValueChangeHandler( new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { validateDescTextBox.toggleValidDateBox(); } }); validateDescTextBox.addValidator(new EmptyStringValidator(description)); addNewModuleViewPanel.setSpacing(BatchClassManagementConstants.FIVE); nameLabel.setText(AdminConstants.NAME); descLabel.setText(AdminConstants.DESCRIPTION); descStar.setText(AdminConstants.STAR); nameStar.setText(AdminConstants.STAR); nameLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE); descLabel.setStyleName(AdminConstants.BOLD_TEXT_STYLE); descStar.setStyleName(AdminConstants.FONT_RED_STYLE); nameStar.setStyleName(AdminConstants.FONT_RED_STYLE); addNewModuleViewButtonsPanel.setSpacing(BatchClassManagementConstants.TEN); }
/** * @function setLabelsAndIds * @created_date : Jan 2, 2014 * @description To set Labels and Id for buttons. * @parm(s) : * @return : void * @throws : <Mentioned if any exceptions> */ private void setLabelsAndIds() { btnResourceLink.setText(i18n.GL0548()); btnResourceLink.getElement().setId("btnResourceLink"); btnResourceLink.getElement().setAttribute("alt", i18n.GL0548()); btnResourceLink.getElement().setAttribute("title", i18n.GL0548()); lblGooruFieldTrip.setText(i18n.GL0549()); lblGooruFieldTrip.getElement().setId("lblGooruFieldTrip"); lblGooruFieldTrip.getElement().setAttribute("alt", i18n.GL0549()); lblGooruFieldTrip.getElement().setAttribute("title", i18n.GL0549()); // lblGooruFieldTripDescUnforseen.setText(i18n.GL0550); // lblGooruFieldTripDescOriginal.setText(i18n.GL0552); lblGooruFieldTripDescOriginal.setText(""); lblGooruFieldTripDescOriginal.getElement().setId("lblGooruFieldTripDescOriginal"); lblGooruFieldTripDescOriginal.getElement().setAttribute("alt", ""); lblGooruFieldTripDescOriginal.getElement().setAttribute("title", ""); lblDontForget.setText(i18n.GL0551()); lblDontForget.getElement().setId("lblDontForget"); lblDontForget.getElement().setAttribute("alt", i18n.GL0551()); lblDontForget.getElement().setAttribute("title", i18n.GL0551()); imgFieldTrip.getElement().setId("imgFieldTrip"); imgFieldTrip.setUrl("images/framebraker/field-trip.png"); resoruceFrameBrakerContainer.getElement().setId("fpnlResoruceFrameBrakerContainer"); resourceCategory.getElement().setId("pnlResourceCategory"); lblGooruFieldTripDescUnforseen.getElement().setId("lblGooruFieldTripDescUnforseen"); supportTip.getElement().setId("lblSupportTip"); // learnMoreLbl.setText("Learn more."); }
private Widget getHeaderWidget() { FlexTable widget = new FlexTable(); widget.setHTML(0, 0, DashboardMessages.MSG.office()); officesLB = new ListBox(); officesLB.setWidth("250px"); widget.setWidget(0, 1, officesLB); widget.setHTML(0, 2, DashboardMessages.MSG.broker()); brokersLB = new ListBox(); brokersLB.setWidth("250px"); widget.setWidget(0, 3, brokersLB); widget.setHTML(0, 4, DashboardMessages.MSG.userStatus()); estateStatusLB = new ListBox(); for (EstateStatusSearchType status : EstateStatusSearchType.values()) { estateStatusLB.addItem(status.getTitle(), "" + status.getId()); } widget.setWidget(0, 5, estateStatusLB); findButton = new Button(); findButton.setText(BaseMessages.MSG.find()); widget.setWidget(0, 6, findButton); return widget; }
@Override public void displayUsers(Map<Integer, String> users) { usersList.clear(); for (Integer userId : users.keySet()) { HTMLPanel panel = new HTMLPanel(""); Anchor linkToEdit = new Anchor(); linkToEdit.setText(users.get(userId)); PlaceRequest placeToGo = new PlaceRequest.Builder() .nameToken(NameTokens.USER) .with(NameTokens.PARAM_ID, String.valueOf(userId)) .build(); linkToEdit.setHref("#" + tokenFormatter.toPlaceToken(placeToGo)); Button deleteButton = new Button(); deleteButton.setText("X"); deleteButton.addClickHandler(clickEvent -> getUiHandlers().deleteUser(userId)); panel.add(linkToEdit); panel.add(deleteButton); usersList.add(panel); } }
public void run(final RootPanel rp, final String nick) { if (Cookies.getCookie(nick) == null) Cookies.setCookie(nick, "" + 0); cl.setPageSize(500); final Button sendMessage = new Button( "sendMessage", new ClickHandler() { public void onClick(ClickEvent event) { if (!message.getText().equals("")) { new Post().postJson(SERVERURL, nick.toString(), message.getText()); message.setText(""); } } }); rp.get("mainDiv2").setVisible(true); message.getElement().setAttribute("placeholder", "Introduce your message"); message.getElement().setAttribute("id", "message"); cl.getElement().setAttribute("id", "chatBox"); sendMessage.getElement().setAttribute("id", "sendMessage"); sendMessage.setText("Send"); vp.getElement().setAttribute("id", "verticalPanel"); hp.getElement().setAttribute("id", "horizontalPanel"); panel.getElement().setAttribute("id", "scroller"); hp.add(message); hp.add(sendMessage); panel.add(cl); vp.add(panel); vp.add(hp); rp.get("mainDiv2").add(vp); Timer t = new Timer() { @Override public void run() { getMessages(); if (chatList != null && Integer.parseInt(Cookies.getCookie(nick)) < chatList.size()) { cl.setRowCount(chatList.size() + 1, true); cl.setRowData( Integer.parseInt(Cookies.getCookie(nick)), chatList.subList(Integer.parseInt(Cookies.getCookie(nick)), chatList.size())); panel.setVerticalScrollPosition(panel.getMaximumVerticalScrollPosition() - 1); Cookies.setCookie(nick, "" + chatList.size()); } } }; t.scheduleRepeating(1000); }
@Override public void init(TaskDetailsPresenter presenter) { this.presenter = presenter; // Commented out until we add the posibility of adding sub tasks // for (String strategy : subTaskStrategies) { // subTaskStrategyListBox.addItem(strategy); // // } for (int i = 0; i < priorities.length; i++) { final Option option = new Option(); option.setText(priorities[i]); option.setValue(String.valueOf(i)); taskPriorityListBox.add(option); } taskPriorityListBox.refresh(); taskStatusLabel.setText(constants.Status()); userLabel.setText(constants.User()); dueDateLabel.setText(constants.Due_On()); taskPriorityLabel.setText(constants.Priority()); taskDescriptionLabel.setText(constants.Description()); updateTaskButton.setText(constants.Update()); dueDate.getDateBox().setContainer(this); }
/** * Constructs a button with text string and with step target * * <p>Verify datas only on click "Next" button * * <p>store datas if * * @param text * @param toStep * @return build button */ protected Button prepareButton(String text, final int toStep) { Button button = new Button(); button.setText(text); button.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { if (stepNumber < toStep) { try { if (!controller.isDebugActivated()) { // Ask to verify datas Map<SetupWizardData, String> datas = verifyDatas(toStep); // Ask to controller to store these datas controller.storeDatas(datas, toStep); } controller.displayScreen(toStep); } catch (InvalidWizardViewFieldException e) { controller.displayError(e.getWizardMessage()); } } else { controller.displayScreen(toStep); } } }); return button; }
/** Log a user off */ public void logout() { loginButton.setText("Login"); RootPanel.get().clear(); RootPanel.get().add(this); // Window.alert("( o ) ( o ) HONEY T**S!!!"); }
/** {@inheritDoc} */ @Override public void setPrefix(String prefix) { prefixHeader.setText(prefix); deletePrefixLabel.setText("Delete prefix " + prefix + ":"); deleteButton.setText("Delete " + prefix); uploadPrefix.setValue(prefix); settingsPrefix.setValue(prefix); }
public DialogBoxFrame( String header, PopupPanel popup, Widget w, closeAction action, String close_btn_text) { initWidget(uiBinder.createAndBindUi(this)); parentPopup = popup; contents.add(w); this.action = action; this.header.setText(header); button.setText(close_btn_text); }
public GlobalTooltipWithButton(String header, String description, String btnName) { setWidget(uiBinder.createAndBindUi(this)); desLbl.setText(description); btnConfirm.setText(btnName); headerText.setText(header); setGlassEnabled(true); show(); setPanelPosition(); }
private void setElementId() { lblOops.setText(i18n.GL0061()); lblErrorIEMessage.setText(i18n.GL2038()); btnOk.setText(i18n.GL0190()); StringUtil.setAttributes(lblOops.getElement(), i18n.GL0061(), i18n.GL0061(), i18n.GL0061()); StringUtil.setAttributes( lblErrorIEMessage.getElement(), i18n.GL2038(), i18n.GL2038(), i18n.GL2038()); StringUtil.setAttributes(btnOk.getElement(), i18n.GL0190(), i18n.GL0190(), i18n.GL0190()); }
public DeriveOpenTextualVariableStepView() { value = new SuggestBox(valueOracle = new MultiWordSuggestOracleWithDisplay()); widget = uiBinder.createAndBindUi(this); radioGroup = new RadioGroup<Method>(); radioGroup.addButton(auto, Method.AUTOMATICALLY); radioGroup.addButton(manual, Method.MANUAL); auto.setValue(true); addButton.setText("Add"); addPanel.setText(translations.addValueMapping()); }
private void onItemSelected() { itemDetailsPanel.showItemDetails(selectedItem); if (Accounter.isIpadApp()) { rightVpPanel.add(transactionButton); transactionButton.setText(messages2.transactionListFor(selectedItem.getDisplayName())); } transactionHistoryGrid.setSelectedItem(selectedItem); MainFinanceWindow.getViewManager().updateButtons(); callRPC(0, 25); }
private Button createButton(int buttonsType, String text, ClickHandler clickHandler) { Button b; if (buttonsType == CONFIG_DEFAULT) b = new GWTCButton(); else b = new GWTCButton(GWTCButton.BUTTON_TYPE_0, ""); if (buttonsType == CONFIG_FLAT_BUTTONS) b.addStyleDependentName("flat"); if (clickHandler != null) b.addClickHandler(clickHandler); b.setText(text); return b; }
// GWT module entry point method. public void onModuleLoad() { /* * Asynchronously loads the Maps API. * * The first parameter should be a valid Maps API Key to deploy this * application on a public server, but a blank key will work for an * application served from localhost. */ // Maps.loadMapsApi("AIzaSyBjDoqh_8ZFoxVvvW4ETGdJvADLzTX6-sI", "2", false, new Runnable() { // public void run() { // buildUi(); // } // }); // // Maps.loadMapsApi("", "2", false, new Runnable() { // public void run() { // buildUi(); // findLocation(map, "whistler"); // } // }); propertyMap theMap = new propertyMap(); theMap.buildUi(); // Add map to the container // mapContainerPanel.add(theMap.getMap()); // build streetview map // Add street view map to the container // streetViewContainerPanel.add(streetMap.getMap()); // assemble map panel // mapsPanel.add(mapContainerPanel); // mapsPanel.add(streetViewContainerPanel); Button theButton = new Button(); theButton.setText("test"); HorizontalPanel panel = new HorizontalPanel(); // panel.setSize("100%","500px"); // SimplePanel sp = new SimplePanel(); // sp.setSize("100%", "100%"); panel.add(theMap.getMap()); // panel.add(sp); panel.add(theButton); panel.setCellWidth(theMap.getMap(), "500px"); panel.setCellHeight(theMap.getMap(), "500px"); panel.setCellHorizontalAlignment(theMap.getMap(), HorizontalPanel.ALIGN_LEFT); panel.setCellHorizontalAlignment(theButton, HorizontalPanel.ALIGN_RIGHT); panel.setWidth("100%"); RootPanel.get().add(panel); }
public SettingsPageGenerated() { FlowPanel flowPanel = new FlowPanel(); flowPanel.setStyleName("gwt-SettingsPage"); initWidget(flowPanel); flowPanel.setSize("100%", "100%"); FlowPanel flowPanel_1 = new FlowPanel(); flowPanel.add(flowPanel_1); flowPanel_1.setStyleName("gwt-insidePanel"); Label lblZmieHaso = new Label("Zmień hasło"); flowPanel_1.add(lblZmieHaso); lblZmieHaso.setStyleName("gwt-GroupLabel"); FlexTable flexTable = new FlexTable(); flexTable.setStyleName("gwt-table"); flowPanel_1.add(flexTable); Label lblStareHaso = new Label("STARE HASŁO"); lblStareHaso.setStyleName("gwt-LabelCustom"); flexTable.setWidget(0, 0, lblStareHaso); oldPassTextBox = new PasswordTextBox(); flexTable.setWidget(0, 1, oldPassTextBox); Label lblNoweHaso = new Label("NOWE HASŁO"); lblNoweHaso.setStyleName("gwt-LabelCustom"); flexTable.setWidget(1, 0, lblNoweHaso); newPassTextBox = new PasswordTextBox(); flexTable.setWidget(1, 1, newPassTextBox); Label lblPowtrzHaso = new Label("POWTÓRZ HASŁO"); lblPowtrzHaso.setStyleName("gwt-LabelCustom"); flexTable.setWidget(2, 0, lblPowtrzHaso); flexTable.getCellFormatter().setHorizontalAlignment(2, 0, HasHorizontalAlignment.ALIGN_RIGHT); flexTable.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_RIGHT); flexTable.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT); newPassConfirmTextBox = new PasswordTextBox(); flexTable.setWidget(2, 1, newPassConfirmTextBox); changePassButton = new Button("New button"); changePassButton.setStyleName("gwt-ButtonCustom"); changePassButton.setText("Zmień"); flexTable.setWidget(3, 1, changePassButton); flexTable.getCellFormatter().setHorizontalAlignment(3, 1, HasHorizontalAlignment.ALIGN_RIGHT); errorLabel = new Label(""); errorLabel.setStyleName("gwt-LabelErr"); flowPanel_1.add(errorLabel); }
private void OncusotmerSelected() { this.selectedCustomer = custGrid.getSelectedCustomer(); if (Accounter.isIpadApp()) { rightVpPanel.add(transactionButton); transactionButton.setText(messages2.transactionListFor(selectedCustomer.getDisplayName())); } detailsPanel.showCustomerDetails(selectedCustomer); custHistoryGrid.setSelectedCustomer(selectedCustomer); MainFinanceWindow.getViewManager().updateButtons(); showButtonBar(); callRPC(0, getPageSize()); }
@Override public void resetQuestionView() { openEndedQuestionText.setHTML(""); hintsButton.setText(i18n.GL0667()); hintsButton.getElement().setAttribute("alt", i18n.GL0667()); hintsButton.getElement().setAttribute("title", i18n.GL0667()); hintsButton.setStyleName(oeStyle.hintsActiveButton()); explanaionButton.setStyleName(oeStyle.hintsActiveButton()); explanationContainer.removeStyleName(oeStyle.explanationTextBorder()); hintsContainer.clear(); explanationContainer.clear(); clearAnswerOptionsContainer(); openEndedQuestionImage.getElement().removeAttribute("src"); }
public void setId() { saveBtn.setText(i18n.GL0141()); saveBtn.getElement().setId("saveBtnId"); saveBtn.getElement().setAttribute("alt", i18n.GL0141()); saveBtn.getElement().setAttribute("title", i18n.GL0141()); errorLabel.getElement().setId("errorLblId"); saveLblText.setText(i18n.GL3426()); saveLblText.getElement().setId("saveLblTxtId"); saveLblText.setVisible(false); assignedCourse.setText(i18n.GL3440()); courseAssigned.setText(i18n.GL3441()); studentsNotes.setText(i18n.GL3442()); createCourseBtn.setText(i18n.GL3443()); lessonPacingPanel.setText(i18n.GL3444()); minimumScrPanel.setText(i18n.GL3445()); miniNotesPanel.setText(i18n.GL3446()); pacingWorks.setText(i18n.GL3447()); pacingNotes.setText(i18n.GL3448()); assessmentsLbl.setText(i18n.GL3449()); collectionLbl.setText(i18n.GL3450()); contentRedirectionLbl.setText(i18n.GL3593()); }