uifw/EikStd/coctlsrc/EIKMENUP.CPP
branchRCL_3
changeset 5 aabf2c525e0f
parent 3 8ca85d2f0db7
child 6 9f56a4e1b8ab
equal deleted inserted replaced
3:8ca85d2f0db7 5:aabf2c525e0f
  3871                 {
  3871                 {
  3872                 iExtension->ImmediateFeedback( ETouchFeedbackPopUp );
  3872                 iExtension->ImmediateFeedback( ETouchFeedbackPopUp );
  3873                 }
  3873                 }
  3874             iExtension->iShowCascadeTransition = ETrue;
  3874             iExtension->iShowCascadeTransition = ETrue;
  3875             CloseCascadeMenu();  
  3875             CloseCascadeMenu();  
       
  3876             // Submenu of submenu was closed
       
  3877             if ( iCascadeMenuPane  )
       
  3878                 {
       
  3879                 iCascadeMenuPane->iExtension->EnableHighlight( EFalse );
       
  3880                 iCascadeMenuPane->RepaintHighlight();
       
  3881                 iExtension->iDownOnMenuArea = EFalse;
       
  3882                 }
       
  3883             else
       
  3884                 {
       
  3885                 iExtension->EnableHighlight( EFalse );
       
  3886                 RepaintHighlight();            
       
  3887                 }
  3876             IgnoreEventsUntilNextPointerUp();
  3888             IgnoreEventsUntilNextPointerUp();
  3877             _AKNTRACE( "[%s]", "HandlePointerEventL return 2" );
  3889             _AKNTRACE( "[%s]", "HandlePointerEventL return 2" );
  3878             _AKNTRACE_FUNC_EXIT;
  3890             _AKNTRACE_FUNC_EXIT;
  3879             return;
  3891             return;
  3880             }
  3892             }
  4208                             iExtension->ImmediateFeedback( ETouchFeedbackPopUp );
  4220                             iExtension->ImmediateFeedback( ETouchFeedbackPopUp );
  4209                             }
  4221                             }
  4210                         //Just close sub menu
  4222                         //Just close sub menu
  4211                         iExtension->iShowCascadeTransition = ETrue;
  4223                         iExtension->iShowCascadeTransition = ETrue;
  4212                         CloseCascadeMenu();
  4224                         CloseCascadeMenu();
  4213                         iExtension->EnableHighlight( EFalse );
  4225                         // Submenu of submenu was closed
  4214                         RepaintHighlight();
  4226                         if ( iCascadeMenuPane  )
       
  4227                             {
       
  4228                             iCascadeMenuPane->iExtension->EnableHighlight( EFalse );
       
  4229                             iCascadeMenuPane->RepaintHighlight();
       
  4230                             iExtension->iDownOnMenuArea = EFalse;
       
  4231                             }
       
  4232                         else
       
  4233                             {
       
  4234                             iExtension->EnableHighlight( EFalse );
       
  4235                             RepaintHighlight();            
       
  4236                             }
  4215                         IgnoreEventsUntilNextPointerUp();                                                                  
  4237                         IgnoreEventsUntilNextPointerUp();                                                                  
  4216                         break;
  4238                         break;
  4217                         }
  4239                         }
  4218                     }
  4240                     }
  4219                 else
  4241                 else
  4319                             {
  4341                             {
  4320                             iExtension->ImmediateFeedback( ETouchFeedbackPopUp );
  4342                             iExtension->ImmediateFeedback( ETouchFeedbackPopUp );
  4321                             }
  4343                             }
  4322                         iExtension->iShowCascadeTransition = ETrue;
  4344                         iExtension->iShowCascadeTransition = ETrue;
  4323                         CloseCascadeMenu(); //Just close sub menu.
  4345                         CloseCascadeMenu(); //Just close sub menu.
  4324                         iExtension->EnableHighlight( EFalse );
  4346                         // Submenu of submenu was closed
  4325                         RepaintHighlight();
  4347                         if ( iCascadeMenuPane  )
       
  4348                             {
       
  4349                             iCascadeMenuPane->iExtension->EnableHighlight( EFalse );
       
  4350                             iCascadeMenuPane->RepaintHighlight();
       
  4351                             }
       
  4352                         else
       
  4353                             {
       
  4354                             iExtension->EnableHighlight( EFalse );
       
  4355                             RepaintHighlight();                        
       
  4356                             }
  4326                         IgnoreEventsUntilNextPointerUp();
  4357                         IgnoreEventsUntilNextPointerUp();
  4327                         }
  4358                         }
  4328                     else
  4359                     else
  4329                         {
  4360                         {
  4330                         ReportCanceled();   //Close main menu.
  4361                         ReportCanceled();   //Close main menu.
  4357             	}
  4388             	}
  4358             
  4389             
  4359             TPoint drag = iExtension->iStartPoint - 
  4390             TPoint drag = iExtension->iStartPoint - 
  4360                 aPointerEvent.iPosition;
  4391                 aPointerEvent.iPosition;
  4361             TInt threshold = drag.iY;      
  4392             TInt threshold = drag.iY;      
  4362             if( Abs( threshold ) > iExtension->iPhysics->DragThreshold() )
  4393             if( Abs( threshold ) > iExtension->iPhysics->DragThreshold() 
       
  4394                 && iExtension->iDownOnMenuArea )
  4363                 {
  4395                 {
  4364                 iExtension->iButtonDownItem = KErrNotFound;
  4396                 iExtension->iButtonDownItem = KErrNotFound;
  4365                 iExtension->ResetPressedHighlight();
  4397                 iExtension->ResetPressedHighlight();
  4366                 iExtension->iNextHighlightItem = KErrNotFound;
  4398                 iExtension->iNextHighlightItem = KErrNotFound;
  4367                 iExtension->iPanningActive = ETrue;
  4399                 iExtension->iPanningActive = ETrue;
  4385                 iExtension->ResetPressedHighlight();
  4417                 iExtension->ResetPressedHighlight();
  4386                 }
  4418                 }
  4387        
  4419        
  4388             // act in Menu Sct or Option Menu repectively
  4420             // act in Menu Sct or Option Menu repectively
  4389             if (( iExtension->iSct && menuSctRect.Contains(aPointerEvent.iPosition)) ||
  4421             if (( iExtension->iSct && menuSctRect.Contains(aPointerEvent.iPosition)) ||
  4390                 ( !iExtension->iSct && innerRect.Contains(aPointerEvent.iPosition)))
  4422                 ( !iExtension->iSct && innerRect.Contains(aPointerEvent.iPosition)) &&
       
  4423                 iExtension->iDownOnMenuArea ) 
  4391                {
  4424                {
  4392                 iExtension->iDraggedOutside = EFalse;
  4425                 iExtension->iDraggedOutside = EFalse;
  4393                 // Scroll only through visible items
  4426                 // Scroll only through visible items
  4394                 for ( TInt ii = topItem; ii < bottomItem; ++ii )
  4427                 for ( TInt ii = topItem; ii < bottomItem; ++ii )
  4395                     {
  4428                     {