public void updatePosition(long startFromMinutes, long durationInMinutes) { if (startFromMinutes < 0) { startFromMinutes = 0; } top = weekGrid.getPixelTopFor((int) startFromMinutes); getElement().getStyle().setTop(top, Unit.PX); if (durationInMinutes > 0) { int heightMinutes = weekGrid.getPixelLengthFor((int) startFromMinutes, (int) durationInMinutes); setHeight(heightMinutes); } else { setHeight(-1); } boolean multiRowCaption = (durationInMinutes > 30); updateCaptions(multiRowCaption); }