コード例 #1
0
 private void showMailList(List<StickMail> mails) {
   resultsPanel.clear();
   if (mails == null || mails.size() == 0) {
     Label noMailsLbl = new Label("You have no scheduled mails.");
     noMailsLbl.addStyleName("ui-nomails");
     resultsPanel.add(noMailsLbl);
     return;
   }
   deleteBtn.setVisible(true);
   SimpleContainer list = new SimpleContainer();
   for (final StickMail mail : mails) {
     HorizontalPanel row = new HorizontalPanel();
     row.addStyleName("ui-row");
     list.add(row);
     PhCheckBox check = new PhCheckBox();
     check.addValueChangeHandler(
         new ValueChangeHandler<Boolean>() {
           public void onValueChange(ValueChangeEvent<Boolean> event) {
             if (!scrollInProgress) {
               if (event.getValue()) {
                 checkedMails.add(mail);
               } else {
                 checkedMails.remove(mail);
               }
             }
           }
         });
     row.add(check);
     TouchHTML mailHtml =
         new TouchHTML(
             "<p class='ui-row-subject'>"
                 + mail.getSubject()
                 + "</p><p class='ui-row-scheduled'>"
                 + GwtUtils.dateToString(mail.getScheduled(), "dd/MM/yyyy HH:mm")
                 + "</p>");
     row.add(mailHtml);
     mailHtml.addTouchEndHandler(
         new TouchEndHandler() {
           public void onTouchEnd(TouchEndEvent event) {
             if (!scrollInProgress) {
               //          PhonegapUtils.log("selected " + mail);
             }
           }
         });
   }
   resultsPanel.add(list);
   TouchUtils.applyFocusPatch();
   GwtUtils.deferredExecution(
       500,
       new Delegate<Void>() {
         public void execute(Void element) {
           resultsPanel.setHeight(
               "" + (Window.getClientHeight() - resultsPanel.getAbsoluteTop()) + "px");
         }
       });
 }