示例#1
0
 private void scheduleHide() {
   if (showTimer != null) {
     showTimer.cancel();
     showTimer = null;
   }
   if (popup == null || !popup.isShowing() || !popup.isVisible() || hideTimer != null) {
     return;
   }
   hideTimer =
       new Timer() {
         @Override
         public void run() {
           popup.hide();
         }
       };
   hideTimer.schedule(50);
 }
示例#2
0
 private UserPopupPanel createPopupPanel(AccountInfo account) {
   UserPopupPanel popup = new UserPopupPanel(account, false, false);
   popup.addDomHandler(
       new MouseOverHandler() {
         @Override
         public void onMouseOver(MouseOverEvent event) {
           scheduleShow();
         }
       },
       MouseOverEvent.getType());
   popup.addDomHandler(
       new MouseOutHandler() {
         @Override
         public void onMouseOut(MouseOutEvent event) {
           scheduleHide();
         }
       },
       MouseOutEvent.getType());
   return popup;
 }
示例#3
0
 private void scheduleShow() {
   if (hideTimer != null) {
     hideTimer.cancel();
     hideTimer = null;
   }
   if ((popup != null && popup.isShowing() && popup.isVisible()) || showTimer != null) {
     return;
   }
   showTimer =
       new Timer() {
         @Override
         public void run() {
           if (popup == null) {
             popup = createPopupPanel(account);
           }
           if (!popup.isShowing() || !popup.isVisible()) {
             popup.showRelativeTo(target);
           }
         }
       };
   showTimer.schedule(600);
 }