/branches/v1.12-aluminium/src/org/tela_botanica/del/client/composants/motsclesimages/propositions/MotCleProposition.css |
---|
New file |
0,0 → 1,21 |
.logoTag { |
width:30px; |
height:30px; |
margin:0 5px; |
float:right; |
} |
.motCle { |
width:80px; |
margin:5px; |
cursor:pointer; |
} |
.lienMotCle { |
background: none repeat scroll 0 0 #DDDDDD; |
border-radius: 9px 9px 9px 9px; |
height: 40px; |
margin: 2px; |
padding: 3px; |
width: 160px; |
} |
/branches/v1.12-aluminium/src/org/tela_botanica/del/client/composants/motsclesimages/propositions/MotClePropositionVue.ui.xml |
---|
New file |
0,0 → 1,14 |
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' |
xmlns:g='urn:import:com.google.gwt.user.client.ui' |
ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat' |
ui:generateLocales="default"> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
<ui:style src="MotCleProposition.css" /> |
<g:FocusPanel styleName="{style.lienMotCle} gauche motclesPicto" ui:field="lienMotCle" title="{constants.aideLiaisonMotCle}"> |
<g:HTMLPanel> |
<g:CheckBox ui:field="ajouterMotCle" text="motcle" styleName=" {style.motCle} texteMotClePicto"></g:CheckBox> |
<g:Image styleName="{style.logoTag}" ui:field="iconeTag"/> |
</g:HTMLPanel> |
</g:FocusPanel> |
</ui:UiBinder> |
/branches/v1.12-aluminium/src/org/tela_botanica/del/client/composants/motsclesimages/propositions/MotClePropositionPresenteur.java |
---|
New file |
0,0 → 1,81 |
package org.tela_botanica.del.client.composants.motsclesimages.propositions; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class MotClePropositionPresenteur extends Presenteur{ |
public interface Vue extends IsWidget { |
public void setMotCle(String motcle); |
public HasClickHandlers getLienMotCle(); |
public void toggleCb(); |
public boolean estAAjouter(); |
public void setEstAAjouter(); |
public HasClickHandlers getAjouterMotCle(); |
} |
private Vue vue; |
private String motcle; |
public MotClePropositionPresenteur(Vue vue, String motCle) { |
this.vue = vue; |
this.motcle = motCle; |
vue.setMotCle(motCle); |
} |
@Override |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
@Override |
protected void gererEvenements() { |
/* Attention : dans la gestion des évènements, comme la case à cocher est contenu dans |
* le lien Mot Cle, lorsque je clique sur la case directement, l'application : |
* - change la valeur de la case suite à l'évènement sur la case |
* - rechange la valeur de la case suite à l'évènement sur le lien |
* Il est donc impossible de changer la valeur de la case ! |
* |
* La solution consiste à ajouter un changement de valeur lorsqu'on clique sur la case : |
*/ |
vue.getAjouterMotCle().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
vue.toggleCb(); |
event.stopPropagation(); |
} |
}); |
// Ajout du changement de valeur de la case lors du clic sur la case |
vue.getLienMotCle().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
vue.toggleCb(); |
event.stopPropagation(); |
} |
}); |
} |
public boolean estAAjouter() { |
return vue.estAAjouter(); |
} |
public void setEstAAjouter() { |
vue.setEstAAjouter(); |
} |
public String getTag() { |
return this.motcle; |
} |
} |
/branches/v1.12-aluminium/src/org/tela_botanica/del/client/composants/motsclesimages/propositions/MotClePropositionVue.java |
---|
New file |
0,0 → 1,68 |
package org.tela_botanica.del.client.composants.motsclesimages.propositions; |
import org.tela_botanica.del.client.config.Config; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.CheckBox; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FocusPanel; |
import com.google.gwt.user.client.ui.Image; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
public class MotClePropositionVue extends Composite implements MotClePropositionPresenteur.Vue { |
@UiField |
CheckBox ajouterMotCle; |
@UiField |
Image iconeTag; |
@UiField |
FocusPanel lienMotCle; |
interface MyUiBinder extends UiBinder<Widget, MotClePropositionVue> {} |
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); |
public MotClePropositionVue() { |
// sets listBox |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public void setMotCle(String motcle) { |
ajouterMotCle.setText(motcle); |
iconeTag.setUrl((new Config()).getUrl("iconeBaseUrl") + motcle + ".png"); |
} |
public HasClickHandlers getLienMotCle() { |
return lienMotCle; |
} |
public void toggleCb() { |
boolean val = ajouterMotCle.getValue(); |
ajouterMotCle.setValue(!ajouterMotCle.getValue()); |
if(ajouterMotCle.getValue()) { |
addStyleName("motClePictoCoche"); |
} else { |
removeStyleName("motClePictoCoche"); |
} |
} |
public boolean estAAjouter() { |
return ajouterMotCle.getValue(); |
} |
public void setEstAAjouter() { |
ajouterMotCle.setValue(true); |
addStyleName("motClePictoCoche"); |
} |
public HasClickHandlers getAjouterMotCle() { |
return ajouterMotCle; |
} |
} |