Hi,
I am relatively new to GWT devlopment and was wondering of someone
could please help to explain why the progress dialog is not displaying
in the following function. Also, the "timeperiod" window is not hiding
itself until after the line has been drawn. Any ideas would be
gratefully received as I have been struggling with this all day.
protected static void showTrackHistory(final Node item) {
final String trackName = ((Element)item).getAttribute
("NAME").toString();
Node firstReport = item.getFirstChild();
Node lastReport = item.getLastChild();
//Ask the User to specify a range of data to view for the
specified
track
Panel timePanel = new Panel();
timePanel.setBorder(false);
timePanel.setPaddings(15);
VerticalPanel startTimePanel = new VerticalPanel();
startTimePanel.setSpacing(15);
Date startDate = new Date(Long.valueOf(((Element)
firstReport).getAttribute("TOF")).longValue() * 1000);
final TextField startTextField = new TextField("Date");
startTextField.setWidth(180);
startTextField.setHideLabel(true);
startTextField.setValue(startDate.toString());
DatePicker datePicker = new DatePicker();
datePicker.setValue(startDate);
datePicker.setTodayText("Now");
datePicker.addListener(new DatePickerListenerAdapter() {
public void onSelect(DatePicker dataPicker, Date date) {
startTextField.setValue(date.toString());
}
});
FieldSet startFS = new FieldSet();
startFS.setPaddings(5);
startFS.setCheckboxToggle(false);
startFS.setFrame(true);
startFS.setTitle("Start");
startFS.setCollapsed(false);
startFS.add(datePicker);
startFS.add(startTextField);
startTimePanel.add(startFS);
VerticalPanel endTimePanel = new VerticalPanel();
endTimePanel.setSpacing(15);
Date endDate = new Date(Long.valueOf(((Element)
lastReport).getAttribute("TOF")).longValue() * 1000);
final TextField endTextField = new TextField("Date");
endTextField.setWidth(180);
endTextField.setHideLabel(true);
endTextField.setValue(endDate.toString());
DatePicker endDatePicker = new DatePicker();
endDatePicker.setValue(endDate);
endDatePicker.setTodayText("Now");
endDatePicker.addListener(new DatePickerListenerAdapter() {
public void onSelect(DatePicker dataPicker, Date date) {
endTextField.setValue(date.toString());
}
});
FieldSet endFS = new FieldSet();
endFS.setPaddings(5);
endFS.setCheckboxToggle(false);
endFS.setFrame(true);
endFS.setTitle("End");
endFS.setCollapsed(false);
endFS.add(endDatePicker);
endFS.add(endTextField);
endTimePanel.add(endFS);
HorizontalPanel startEndPanel = new HorizontalPanel();
startEndPanel.add(startTimePanel);
startEndPanel.add(endTimePanel);
Button btnOK = new Button("OK");
btnOK.setWidth("200px");
final ProgressBar pBar = new ProgressBar();
pBar.setWidth(250);
pBar.setText("Ready");
pBar.enable();
HorizontalPanel btnPanel = new HorizontalPanel();
btnPanel.setSpacing(5);
btnPanel.add(btnOK);
btnPanel.add(pBar);
timePanel.add(startEndPanel);
timePanel.add(btnPanel);
timePeriod = new Window();
timePeriod.setTitle("History Period Selection for Track : " +
trackName);
timePeriod.setClosable(true);
timePeriod.setWidth(520);
timePeriod.setHeight(400);
timePeriod.setPlain(true);
timePeriod.setCloseAction(Window.HIDE);
timePeriod.add(timePanel);
timePeriod.setModal(true);
timePeriod.setButtonAlign(Position.CENTER);
btnOK.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
long historyStartTime = new
Date(startTextField.getValueAsString
()).getTime();
long historyEndTime = new
Date(endTextField.getValueAsString
()).getTime();
final NodeList historyItems =
item.getChildNodes();
((Button)sender).setEnabled(false);
pBar.enable();
pBar.updateText("Processing Data...");
pBar.reset();
timePeriod.hide();
MessageBox.show(new MessageBoxConfig() {
{
setTitle("Please wait...");
setMsg("Processing Data...");
setWidth(240);
setProgress(true);
setClosable(true);
WaitConfig waitConfig = new
WaitConfig();
waitConfig.setInterval(2000);
waitConfig.setIncrement(historyItems.getLength());
setWaitConfig(waitConfig);
setModal(true);
}
});
LatLng[] pointList = new
LatLng[historyItems.getLength()];
for (int i = 0; i < historyItems.getLength();
i++) {
Node point = historyItems.item(i);
final String id = ((Element)
point).getAttribute("ID").toString
();
final double lat =
Float.valueOf(((Element) point).getAttribute
("LAT")).floatValue();
final double longit =
Float.valueOf(((Element) point).getAttribute
("LONGIT")).floatValue();
final int hdop =
Integer.valueOf(((Element) point).getAttribute
("HDOP")).intValue();
final Date nodeUpdateTime = new
Date(Long.valueOf(((Element)
point).getAttribute("TOF")).longValue() * 1000);
if ((nodeUpdateTime.getTime() >=
historyStartTime) &&
(nodeUpdateTime.getTime() <= historyEndTime)) {
final LatLng historyPoint =
LatLng.newInstance(lat, longit);
pointList[i] = historyPoint;
}
float pBarValue =
Integer.valueOf(i).floatValue() /
Integer.valueOf(historyItems.getLength()).floatValue();
pBar.setValue(pBarValue);
MessageBox.updateProgress(i, "Loading
item " + i + " of " +
historyItems.getLength() + "... ");
}
PolylineOptions options =
PolylineOptions.newInstance(true,
false);
Polyline polyline = new Polyline(pointList,
"#0000FF", 3, 0.7,
options);
polyline.addPolylineClickHandler(new
PolylineClickHandler () {
public void onClick(PolylineClickEvent
event) {
LatLng clickPos =
event.getLatLng();
InfoWindow infoWindow =
map.getInfoWindow();
InfoWindowContent content = new
InfoWindowContent("<br/>" +
trackName);
infoWindow.open(clickPos,
content);
}
});
map.addOverlay(polyline);
map.setZoomLevel(map.getBoundsZoomLevel(polyline.getBounds()));
map.panTo(polyline.getBounds().getCenter());
MessageBox.hide();
}
});
timePeriod.show();
}
Regards
Gary1975
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---