17,10 → 17,15 |
|
import java.util.Date; |
|
import com.google.gwt.user.client.DOM; |
import com.google.gwt.user.client.Element; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.HTTPRequest; |
import com.google.gwt.user.client.ResponseTextHandler; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.ChangeListener; |
import com.google.gwt.user.client.ui.CheckBox; |
import com.google.gwt.user.client.ui.ClickListener; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.Grid; |
28,9 → 33,7 |
import com.google.gwt.user.client.ui.HorizontalPanel; |
import com.google.gwt.user.client.ui.KeyboardListener; |
import com.google.gwt.user.client.ui.PopupPanel; |
import com.google.gwt.user.client.ui.RootPanel; |
import com.google.gwt.user.client.ui.TextBox; |
import com.google.gwt.user.client.ui.UIObject; |
import com.google.gwt.user.client.ui.VerticalPanel; |
import com.google.gwt.user.client.ui.Widget; |
|
38,7 → 41,7 |
* Composite permet de wrapper des Widget pour creer un nouveau Widget cf methode initWidget() |
*/ |
|
public class EntryPanel extends Composite implements ClickListener { |
public class EntryPanel extends Composite { |
|
private NameAssistant nameAssistant = null; |
private LocationAssistant locationAssistant = null; |
49,6 → 52,11 |
boolean visible=false; |
Mediator mediator=null; |
|
private String serviceBaseUrl = null; |
|
private String user= null; |
private String ordre =null; |
|
final CalendarWidget calendar = new CalendarWidget(); |
|
private PopupPanel choicesPopup = new PopupPanel(true); |
67,11 → 75,15 |
mediator.registerComplementLocation(complementLocation); |
|
|
user=mediator.getUser(); |
serviceBaseUrl = mediator.getServiceBaseUrl(); |
|
|
|
VerticalPanel outer = new VerticalPanel(); |
|
|
outer.add(new HTML("<b>Nouvelle observation:</b>")); |
// outer.add(new HTML("<b>Nouvelle observation:</b>")); |
|
|
|
121,7 → 133,7 |
visible=true; |
choicesPopup.show(); |
choicesPopup.setPopupPosition(dateSelector.getAbsoluteLeft(), |
dateSelector.getAbsoluteTop() + dateSelector.getOffsetHeight()); |
dateSelector.getAbsoluteTop() - dateSelector.getOffsetHeight() - choicesPopup.getOffsetHeight()); |
choicesPopup.setWidth(dateSelector.getOffsetWidth() + "px"); |
} |
} |
238,64 → 250,154 |
} |
); |
|
|
Button addButton = new Button("Ajout"); |
Button updateButton = new Button("Modification"); |
|
addButton.addClickListener( |
|
|
new ClickListener() { |
|
public void onClick(Widget w) { |
mediator.onAddInventoryItem(); |
} |
} |
); |
|
HorizontalPanel buttonPanel = new HorizontalPanel(); |
|
|
updateButton.addClickListener( |
|
new ClickListener() { |
|
public void onClick(Widget w) { |
mediator.onModifyInventoryItem(ordre); |
} |
} |
); |
|
|
buttonPanel.add(addButton); |
buttonPanel.add(updateButton); |
|
|
inner.setWidth("100%"); |
|
outer.add(inner); |
outer.setCellWidth(inner, "100%"); |
outer.setSpacing(20); |
|
outer.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER); |
outer.add(buttonPanel); |
|
|
Button close = new Button("Cacher"); |
close.addClickListener(this); |
|
outer.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER); |
|
|
outer.add(close); |
|
|
initWidget(outer); |
|
setPixelSize(1000,200); |
|
|
} |
|
public void onClick(Widget sender) { |
hide(); |
} |
|
|
public void show() { |
|
DOM.setStyleAttribute(getElement(), "backgroundColor", "white"); |
this.setOpacity(this,85); |
RootPanel.get().remove(this); |
RootPanel.get().add(this,200,200); |
} |
|
/* |
* Numero d'ordre du relevé affiché |
* |
*/ |
|
public void hide() { |
this.setOpacity(RootPanel.get(),100); |
RootPanel.get().remove(this); |
public void setOrdre(String ordre) { |
this.ordre = ordre; |
} |
|
|
/* |
* Numero d'ordre du relevé affiché |
* |
*/ |
|
private void setOpacity(UIObject e, int percentage) { |
if ( percentage > 100 ) percentage = 100; |
if ( percentage < 0 ) percentage = 0; |
|
String opac; |
if ( percentage == 100 ) opac = "1"; |
else if ( percentage == 0 ) opac = "0"; |
else if ( percentage < 10 ) opac = ".0" + percentage; |
else opac = "." + percentage; |
|
Element h = e.getElement(); |
DOM.setStyleAttribute(h, "filter", "alpha(opacity=" + percentage + ")"); |
DOM.setStyleAttribute(h, "opacity", opac); |
public String getOrdre() { |
return this.ordre; |
} |
|
|
|
|
/** |
* Mise a jour de l'affichage a partir de données deja saisie |
* |
*/ |
|
public void update() { |
|
HTTPRequest.asyncGet(serviceBaseUrl + "/Inventory/" + user + "/" + ordre, |
|
new ResponseTextHandler() { |
|
public void onCompletion(String str) { |
|
JSONValue jsonValue = JSONParser.parse(str); |
JSONArray jsonArray; |
|
|
if ((jsonArray = jsonValue.isArray()) != null) { |
// Nom saisi |
nameAssistant.setText(((JSONString) jsonArray.get(0)).stringValue()); |
|
// Numero nomenclatural |
|
String ann=((JSONString) jsonArray .get(3)).stringValue(); |
|
if (ann.compareTo("0")!=0) { |
nameAssistant.setValue(ann); |
} |
|
// Commune |
String aloc=((JSONString) jsonArray .get(6)).stringValue(); |
|
if (aloc.compareTo("000null")!=0) { |
locationAssistant.setText(aloc); |
} |
else { |
locationAssistant.setText(""); |
} |
|
String adate=((JSONString) jsonArray .get(8)).stringValue(); |
|
// Date |
if (adate.compareTo("0000-00-00 00:00:00")!=0) { |
date.setText(adate); |
} |
else { |
date.setText(""); |
} |
|
|
String astation=((JSONString) jsonArray .get(9)).stringValue(); |
|
// Station |
if (astation.compareTo("null")!=0) { |
complementLocation.setText(astation); |
} |
else { |
complementLocation.setText(""); |
} |
|
|
String acomment=((JSONString) jsonArray .get(10)).stringValue(); |
// Notes |
if (acomment.compareTo("null")!=0) { |
comment.setText(acomment); |
} |
else { |
comment.setText(""); |
} |
|
} |
|
|
|
} |
}); |
|
} |
|
|
} |