/* * Copyright (C) 2015 Language In Interaction * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package nl.ru.languageininteraction.language.client.view; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import nl.ru.languageininteraction.language.client.UserDetailsBuilder; import nl.ru.languageininteraction.language.client.exception.AudioException; import nl.ru.languageininteraction.language.client.listener.PresenterEventListner; import nl.ru.languageininteraction.language.client.service.AudioPlayer; /** * @since Feb 4, 2015 1:21:58 PM (creation date) * @author Peter Withers <p.withers@psych.ru.nl> */ public class PlayerDetailsView extends AbstractSvgView { protected final UserDetailsBuilder svgBuilder = new UserDetailsBuilder(); protected PresenterEventListner age1ButtonListner; protected PresenterEventListner age2ButtonListner; protected PresenterEventListner age3ButtonListner; protected PresenterEventListner shareCheckBoxListner; protected PresenterEventListner addListner; protected PresenterEventListner removeListner; protected PresenterEventListner editNameListner; protected PresenterEventListner addLanguageListner; protected PresenterEventListner deleteLanguageListner; public PlayerDetailsView(AudioPlayer audioPlayer) throws AudioException { super(audioPlayer); } @Override protected void getSvg(SafeHtmlBuilder builder) { svgBuilder.getSvg(builder); } public void setAge1ButtonListner(PresenterEventListner age1ButtonListner) { this.age1ButtonListner = age1ButtonListner; } public void setAge2ButtonListner(PresenterEventListner age2ButtonListner) { this.age2ButtonListner = age2ButtonListner; } public void setAge3ButtonListner(PresenterEventListner age3ButtonListner) { this.age3ButtonListner = age3ButtonListner; } public void setShareCheckBoxListner(PresenterEventListner shareCheckBoxListner) { this.shareCheckBoxListner = shareCheckBoxListner; } public void setAddListner(PresenterEventListner addListner) { this.addListner = addListner; } public void setRemoveListner(PresenterEventListner removeListner) { this.removeListner = removeListner; } public void setEditNameListner(PresenterEventListner editNameListner) { this.editNameListner = editNameListner; } public void setAddLanguageListner(PresenterEventListner addLanguageListner) { this.addLanguageListner = addLanguageListner; } public void setDeleteLanguageListner(PresenterEventListner deleteLanguageListner) { this.deleteLanguageListner = deleteLanguageListner; } public void setShareData(Boolean shareOption) { if (shareOption) { // svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.ShareCheckBoxChecked); // svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.ShareCheckBoxUnchecked); } else { // svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.ShareCheckBoxUnchecked); // svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.ShareCheckBoxChecked); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.ShareBox); } } public void clearAge() { svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1Selected); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2Selected); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3); } public void setAge1() { svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2Selected); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3); } public void setAge2() { svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1Selected); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3); } public void setAge3() { svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2Selected); svgBuilder.hideGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat3Selected); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat2); svgBuilder.showGroup(UserDetailsBuilder.SvgGroupStates.AgeCat1); } public void setUserNameField(String userName) { svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan3285, userName); svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan4521, messages.text4519()); svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan5873, messages.shareDetailsText()); } public void setSpokenLanguages(String spokenLanguage1, String spokenLanguage2, String spokenLanguage3, String spokenLanguage4) { svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan3559, spokenLanguage1); svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan3561, spokenLanguage2); svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan3563, spokenLanguage3); svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan3567, spokenLanguage4); } public void setUserScoreField(int userScore) { svgBuilder.setLabel(UserDetailsBuilder.SvgTextElements.tspan3303, String.valueOf(userScore)); } @Override protected boolean performClick(final String svgGroupStateString) { boolean consumed = false; showDebugLabel(svgGroupStateString); UserDetailsBuilder.SvgGroupStates svgGroup = UserDetailsBuilder.SvgGroupStates.valueOf(svgGroupStateString); switch (svgGroup) { case NameField: consumed = true; editNameListner.eventFired(null); break; case AgeCat1: consumed = true; age1ButtonListner.eventFired(null); break; case AgeCat1Selected: consumed = true; break; case AgeCat2: consumed = true; age2ButtonListner.eventFired(null); break; case AgeCat2Selected: consumed = true; break; case AgeCat3: consumed = true; age3ButtonListner.eventFired(null); break; case AgeCat3Selected: consumed = true; break; // case Background: // backEventListner.eventFired(null); // break; case ShareBox: case ShareCheckBoxChecked: case ShareCheckBoxUnchecked: shareCheckBoxListner.eventFired(null); consumed = true; break; case ShareAndContinueButton: nextEventListner.eventFired(null); consumed = true; break; case AddLangButton: addLanguageListner.eventFired(null); consumed = true; break; case DeleteLangButton: deleteLanguageListner.eventFired(null); consumed = true; break; } return consumed; } @Override public void showAudioEnded() { } }