Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
663 benjamin 1
package org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions;
2
 
3
import org.tela_botanica.del.client.modeles.Commentaire;
4
import org.tela_botanica.del.client.modeles.PropositionDetermination;
5
import org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions.ForumInterventionPresenteur.Vue;
6
 
7
import com.google.gwt.core.client.GWT;
978 gduche 8
import com.google.gwt.event.dom.client.HasClickHandlers;
1001 aurelien 9
import com.google.gwt.event.dom.client.HasMouseOutHandlers;
10
import com.google.gwt.event.dom.client.HasMouseOverHandlers;
663 benjamin 11
import com.google.gwt.i18n.client.DateTimeFormat;
12
import com.google.gwt.uibinder.client.UiBinder;
13
import com.google.gwt.uibinder.client.UiField;
14
import com.google.gwt.user.client.ui.Composite;
1001 aurelien 15
import com.google.gwt.user.client.ui.FocusPanel;
16
import com.google.gwt.user.client.ui.HTML;
966 gduche 17
import com.google.gwt.user.client.ui.HTMLPanel;
978 gduche 18
import com.google.gwt.user.client.ui.HasWidgets;
19
import com.google.gwt.user.client.ui.Hyperlink;
663 benjamin 20
import com.google.gwt.user.client.ui.IsWidget;
966 gduche 21
import com.google.gwt.user.client.ui.Label;
1117 gduche 22
import com.google.gwt.user.client.ui.Panel;
663 benjamin 23
import com.google.gwt.user.client.ui.Widget;
24
 
25
public class ForumInterventionVue extends Composite implements Vue {
26
 
27
	private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
28
 
29
	interface ForumUIiBinder extends UiBinder<Widget, ForumInterventionVue> {
30
	};
31
 
32
	@UiField
1001 aurelien 33
	FocusPanel proposition;
663 benjamin 34
 
966 gduche 35
	@UiField
1108 gduche 36
	Label nom, nomTaxon, date, commentaire, repondre, labelDeterminationProposee;
966 gduche 37
 
38
	@UiField
978 gduche 39
	HTMLPanel voter, zoneVoter, zoneDetermination, zoneEnfants;
966 gduche 40
 
978 gduche 41
 
1001 aurelien 42
	@UiField
43
	FocusPanel conteneurLienSuppression;
44
 
45
	@UiField
1117 gduche 46
	HTML supprimer, nbVotesHtml;
1001 aurelien 47
 
1117 gduche 48
	@UiField
49
	FocusPanel conteneurPanneauVotes;
50
 
51
 
663 benjamin 52
	public ForumInterventionVue() {
53
		initWidget(uiBinder.createAndBindUi(this));
54
	}
1001 aurelien 55
 
56
	@Override
57
	public HasClickHandlers getLienSuppression() {
58
		return conteneurLienSuppression;
59
	}
60
 
61
	@Override
62
	public void afficherLienSuppression() {
63
		conteneurLienSuppression.setVisible(true);
64
	}
65
 
66
	@Override
67
	public void cacherLienSuppression() {
68
		conteneurLienSuppression.setVisible(false);
69
	}
663 benjamin 70
 
71
	@Override
72
	public void ajouterInterventionDetermination(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires) {
73
 
966 gduche 74
		nom.setText(determination.getAuteur());
75
		nomTaxon.setText(determination.getEspece());
1104 gduche 76
 
966 gduche 77
		voter.add(barreRepartition);
893 gduche 78
 
966 gduche 79
		date.setText(DateTimeFormat.getFormat("dd/MM/yyyy").format(determination.getDate()));
80
 
81
		commentaire.setText(determination.getCommentaire());
893 gduche 82
 
83
		if (determination.estFils()) {
966 gduche 84
			proposition.setStyleName("enfant");
893 gduche 85
		}
663 benjamin 86
	}
87
 
88
	@Override
966 gduche 89
	public void ajouterInterventionCommentaire(Commentaire nouveauCommentaire, IsWidget arbreCommentaires) {
663 benjamin 90
 
968 gduche 91
		zoneVoter.setVisible(false);
92
		zoneDetermination.setVisible(false);
93
 
966 gduche 94
		nom.setText(nouveauCommentaire.getAuteur());
893 gduche 95
 
966 gduche 96
		date.setText(DateTimeFormat.getFormat("dd/MM/yyyy").format(nouveauCommentaire.getDate()));
97
 
98
		commentaire.setText(nouveauCommentaire.getCommentaire());
99
 
100
		if (nouveauCommentaire.estFils()) {
101
			proposition.setStyleName("enfant");
893 gduche 102
		}
663 benjamin 103
	}
978 gduche 104
 
105
	@Override
106
	public HasClickHandlers getRepondre() {
107
		return repondre;
108
	}
663 benjamin 109
 
978 gduche 110
	@Override
111
	public HasWidgets getEnfants() {
112
 
113
		return zoneEnfants;
114
	}
115
 
1001 aurelien 116
	@Override
117
	public HasMouseOverHandlers getConteneurInterventionMouseOver() {
118
		return proposition;
119
	}
120
 
121
	@Override
122
	public HasMouseOutHandlers getConteneurInterventionMouseOut() {
123
		return proposition;
124
	}
1104 gduche 125
 
126
	public HasClickHandlers getEspece() {
127
		return nomTaxon;
128
	}
129
 
130
	public void ajouterLienEspece() {
131
		nomTaxon.addStyleName("labelLien");
132
	}
133
 
134
	public HasClickHandlers getAuteur() {
135
		return nom;
136
	}
137
 
138
	public void ajouterLienAuteur() {
139
		nom.addStyleName("lien");
140
		nom.setTitle("Voir le profil");
141
	}
1108 gduche 142
 
143
	public void cacherDeterminationProposee() {
144
		labelDeterminationProposee.setVisible(false);
145
	}
1001 aurelien 146
 
1117 gduche 147
	@Override
148
	public void ajouterLienVotes() {
149
		conteneurPanneauVotes.addStyleName("nombreVotes");
150
	}
151
 
152
	public void masquerLienVotes() {
153
		conteneurPanneauVotes.removeStyleName("nombreVotes");
154
		nbVotesHtml.setVisible(false);
155
	}
156
 
157
	@Override
158
	public void setNbVotes(int votes) {
159
		nbVotesHtml.setText(String.valueOf(votes));
160
	}
161
 
162
	public HasClickHandlers getZoneNbVotes() {
163
		return this.conteneurPanneauVotes;
164
	}
165
 
663 benjamin 166
}