javauis/lcdui_akn/lcdui/src/CMIDCanvasKeypad.cpp
branchRCL_3
changeset 60 6c158198356e
parent 19 04becd199f91
equal deleted inserted replaced
59:e5618cc85d74 60:6c158198356e
   376     {
   376     {
   377         iScreenRect = screenRect;
   377         iScreenRect = screenRect;
   378     }
   378     }
   379     SetRectForAllButtons();//Needed for updating OSK-buttons when closing/opening hw-keyboard
   379     SetRectForAllButtons();//Needed for updating OSK-buttons when closing/opening hw-keyboard
   380     CreateButtonsL();
   380     CreateButtonsL();
   381     InitializeKeys();
   381     InitializeKeysL();
   382     ActivateL(); // Window owning control draws all children (buttons)
   382     ActivateL(); // Window owning control draws all children (buttons)
   383     MakeVisible(ETrue);
   383     MakeVisible(ETrue);
   384     DrawDeferred();
   384     DrawDeferred();
   385     iOSKInBackground = EFalse;
   385     iOSKInBackground = EFalse;
   386 }
   386 }
   502             buttonData.iButton->ConstructFromResourceL(reader);
   502             buttonData.iButton->ConstructFromResourceL(reader);
   503             buttonData.iButton->SetContainerWindowL(*this);
   503             buttonData.iButton->SetContainerWindowL(*this);
   504             buttonData.iButton->SetExtent(iRockerRect.iTl, iRockerRect.Size());
   504             buttonData.iButton->SetExtent(iRockerRect.iTl, iRockerRect.Size());
   505             buttonData.iButton->ActivateL();
   505             buttonData.iButton->ActivateL();
   506             InitializeKeyEvents(TKeypadKeys(i), &buttonData);
   506             InitializeKeyEvents(TKeypadKeys(i), &buttonData);
   507             iButtonData.Append(buttonData);
   507             iButtonData.AppendL(buttonData);
   508             CleanupStack::Pop(buttonData.iButton);
   508             CleanupStack::Pop(buttonData.iButton);
   509         }
   509         }
   510         CleanupStack::PopAndDestroy(); // reader;
   510         CleanupStack::PopAndDestroy(); // reader;
   511     }
   511     }
   512 
   512 
   552 
   552 
   553         buttonDataGameA.iButton->SetContainerWindowL(*this);
   553         buttonDataGameA.iButton->SetContainerWindowL(*this);
   554         buttonDataGameA.iButton->SetExtent(iGameARect.iTl, iGameARect.Size());
   554         buttonDataGameA.iButton->SetExtent(iGameARect.iTl, iGameARect.Size());
   555         buttonDataGameA.iButton->ActivateL();
   555         buttonDataGameA.iButton->ActivateL();
   556         InitializeKeyEvents(EGameA, &buttonDataGameA);
   556         InitializeKeyEvents(EGameA, &buttonDataGameA);
   557         iButtonData.Append(buttonDataGameA);
   557         iButtonData.AppendL(buttonDataGameA);
   558 
   558 
   559         //GameB
   559         //GameB
   560         bitmap = NULL;
   560         bitmap = NULL;
   561         mask =NULL;
   561         mask =NULL;
   562         AknsUtils::CreateColorIconLC(
   562         AknsUtils::CreateColorIconLC(
   587 
   587 
   588         buttonDataGameB.iButton->SetContainerWindowL(*this);
   588         buttonDataGameB.iButton->SetContainerWindowL(*this);
   589         buttonDataGameB.iButton->SetExtent(iGameBRect.iTl, iGameBRect.Size());
   589         buttonDataGameB.iButton->SetExtent(iGameBRect.iTl, iGameBRect.Size());
   590         buttonDataGameB.iButton->ActivateL();
   590         buttonDataGameB.iButton->ActivateL();
   591         InitializeKeyEvents(EGameB, &buttonDataGameB);
   591         InitializeKeyEvents(EGameB, &buttonDataGameB);
   592         iButtonData.Append(buttonDataGameB);
   592         iButtonData.AppendL(buttonDataGameB);
   593 
   593 
   594         //GameC
   594         //GameC
   595         bitmap = NULL;
   595         bitmap = NULL;
   596         mask =NULL;
   596         mask =NULL;
   597         AknsUtils::CreateColorIconLC(
   597         AknsUtils::CreateColorIconLC(
   622 
   622 
   623         buttonDataGameC.iButton->SetContainerWindowL(*this);
   623         buttonDataGameC.iButton->SetContainerWindowL(*this);
   624         buttonDataGameC.iButton->SetExtent(iGameCRect.iTl, iGameCRect.Size());
   624         buttonDataGameC.iButton->SetExtent(iGameCRect.iTl, iGameCRect.Size());
   625         buttonDataGameC.iButton->ActivateL();
   625         buttonDataGameC.iButton->ActivateL();
   626         InitializeKeyEvents(EGameC, &buttonDataGameC);
   626         InitializeKeyEvents(EGameC, &buttonDataGameC);
   627         iButtonData.Append(buttonDataGameC);
   627         iButtonData.AppendL(buttonDataGameC);
   628 
   628 
   629         //GameD
   629         //GameD
   630         bitmap = NULL;
   630         bitmap = NULL;
   631         mask =NULL;
   631         mask =NULL;
   632         AknsUtils::CreateColorIconLC(
   632         AknsUtils::CreateColorIconLC(
   656 
   656 
   657         buttonDataGameD.iButton->SetContainerWindowL(*this);
   657         buttonDataGameD.iButton->SetContainerWindowL(*this);
   658         buttonDataGameD.iButton->SetExtent(iGameDRect.iTl, iGameDRect.Size());
   658         buttonDataGameD.iButton->SetExtent(iGameDRect.iTl, iGameDRect.Size());
   659         buttonDataGameD.iButton->ActivateL();
   659         buttonDataGameD.iButton->ActivateL();
   660         InitializeKeyEvents(EGameD, &buttonDataGameD);
   660         InitializeKeyEvents(EGameD, &buttonDataGameD);
   661         iButtonData.Append(buttonDataGameD);
   661         iButtonData.AppendL(buttonDataGameD);
   662     }
   662     }
   663 
   663 
   664     //LSK & RSK buttons
   664     //LSK & RSK buttons
   665     TButtonData buttonDataLSK;
   665     TButtonData buttonDataLSK;
   666     TButtonData buttonDataRSK;
   666     TButtonData buttonDataRSK;
   828 
   828 
   829     buttonDataLSK.iButton->SetContainerWindowL(*this);
   829     buttonDataLSK.iButton->SetContainerWindowL(*this);
   830     buttonDataLSK.iButton->SetExtent(iLskRect.iTl, iLskRect.Size());
   830     buttonDataLSK.iButton->SetExtent(iLskRect.iTl, iLskRect.Size());
   831     buttonDataLSK.iButton->ActivateL();
   831     buttonDataLSK.iButton->ActivateL();
   832     InitializeKeyEvents(ELsk, &buttonDataLSK);
   832     InitializeKeyEvents(ELsk, &buttonDataLSK);
   833     iButtonData.Append(buttonDataLSK);
   833     iButtonData.AppendL(buttonDataLSK);
   834 
   834 
   835     buttonDataRSK.iButton->SetContainerWindowL(*this);
   835     buttonDataRSK.iButton->SetContainerWindowL(*this);
   836     buttonDataRSK.iButton->SetExtent(iRskRect.iTl, iRskRect.Size());
   836     buttonDataRSK.iButton->SetExtent(iRskRect.iTl, iRskRect.Size());
   837     buttonDataRSK.iButton->ActivateL();
   837     buttonDataRSK.iButton->ActivateL();
   838     InitializeKeyEvents(ERsk, &buttonDataRSK);
   838     InitializeKeyEvents(ERsk, &buttonDataRSK);
   839     iButtonData.Append(buttonDataRSK);
   839     iButtonData.AppendL(buttonDataRSK);
   840 
   840 
   841 }
   841 }
   842 
   842 
   843 void CMIDCanvasKeypad::InitializeKeys()
   843 void CMIDCanvasKeypad::InitializeKeysL()
   844 {
   844 {
   845     TInt buttonCount = iButtonData.Count();
   845     TInt buttonCount = iButtonData.Count();
   846     iCurrentButtonData.Reset();
   846     iCurrentButtonData.Reset();
   847     iButtonStack.Reset();
   847     iButtonStack.Reset();
   848 
   848 
   854         {
   854         {
   855             if (iButtonData[i].iButton)
   855             if (iButtonData[i].iButton)
   856             {
   856             {
   857                 iButtonData[i].iButton->SetPosition(iRockerRect.iTl);
   857                 iButtonData[i].iButton->SetPosition(iRockerRect.iTl);
   858                 iButtonData[i].iButton->SetSize(iRockerRect.Size());
   858                 iButtonData[i].iButton->SetSize(iRockerRect.Size());
   859                 iCurrentButtonData.Append(&iButtonData[i]);
   859                 iCurrentButtonData.AppendL(&iButtonData[i]);
   860                 iButtonStack.Append(i);
   860                 iButtonStack.AppendL(i);
   861             }
   861             }
   862         }
   862         }
   863         // Other keys
   863         // Other keys
   864         else
   864         else
   865         {
   865         {
   868             {
   868             {
   869                 if (iButtonData[i].keyType == EGameA)
   869                 if (iButtonData[i].keyType == EGameA)
   870                 {
   870                 {
   871                     iButtonData[i].iButton->SetPosition(iGameARect.iTl);
   871                     iButtonData[i].iButton->SetPosition(iGameARect.iTl);
   872                     iButtonData[i].iButton->SetSize(iGameARect.Size());
   872                     iButtonData[i].iButton->SetSize(iGameARect.Size());
   873                     iCurrentButtonData.Append(&iButtonData[i]);
   873                     iCurrentButtonData.AppendL(&iButtonData[i]);
   874                     iButtonStack.Append(i);
   874                     iButtonStack.AppendL(i);
   875                 }
   875                 }
   876                 else if (iButtonData[i].keyType == EGameB)
   876                 else if (iButtonData[i].keyType == EGameB)
   877                 {
   877                 {
   878                     iButtonData[i].iButton->SetPosition(iGameBRect.iTl);
   878                     iButtonData[i].iButton->SetPosition(iGameBRect.iTl);
   879                     iButtonData[i].iButton->SetSize(iGameBRect.Size());
   879                     iButtonData[i].iButton->SetSize(iGameBRect.Size());
   880                     iCurrentButtonData.Append(&iButtonData[i]);
   880                     iCurrentButtonData.AppendL(&iButtonData[i]);
   881                     iButtonStack.Append(i);
   881                     iButtonStack.AppendL(i);
   882                 }
   882                 }
   883                 else if (iButtonData[i].keyType == EGameC)
   883                 else if (iButtonData[i].keyType == EGameC)
   884                 {
   884                 {
   885                     iButtonData[i].iButton->SetPosition(iGameCRect.iTl);
   885                     iButtonData[i].iButton->SetPosition(iGameCRect.iTl);
   886                     iButtonData[i].iButton->SetSize(iGameCRect.Size());
   886                     iButtonData[i].iButton->SetSize(iGameCRect.Size());
   887                     iCurrentButtonData.Append(&iButtonData[i]);
   887                     iCurrentButtonData.AppendL(&iButtonData[i]);
   888                     iButtonStack.Append(i);
   888                     iButtonStack.AppendL(i);
   889                 }
   889                 }
   890                 else if (iButtonData[i].keyType == EGameD)
   890                 else if (iButtonData[i].keyType == EGameD)
   891                 {
   891                 {
   892                     iButtonData[i].iButton->SetPosition(iGameDRect.iTl);
   892                     iButtonData[i].iButton->SetPosition(iGameDRect.iTl);
   893                     iButtonData[i].iButton->SetSize(iGameDRect.Size());
   893                     iButtonData[i].iButton->SetSize(iGameDRect.Size());
   894                     iCurrentButtonData.Append(&iButtonData[i]);
   894                     iCurrentButtonData.AppendL(&iButtonData[i]);
   895                     iButtonStack.Append(i);
   895                     iButtonStack.AppendL(i);
   896                 }
   896                 }
   897             }
   897             }
   898 
   898 
   899             // LSK and RSK
   899             // LSK and RSK
   900             if (iButtonData[i].keyType == ELsk && iIsFullScreenMode)
   900             if (iButtonData[i].keyType == ELsk && iIsFullScreenMode)
   901             {
   901             {
   902                 iButtonData[i].iButton->SetExtent(iLskRect.iTl, iLskRect.Size());
   902                 iButtonData[i].iButton->SetExtent(iLskRect.iTl, iLskRect.Size());
   903                 iCurrentButtonData.Append(&iButtonData[i]);
   903                 iCurrentButtonData.AppendL(&iButtonData[i]);
   904                 iButtonStack.Append(i);
   904                 iButtonStack.AppendL(i);
   905             }
   905             }
   906             else if (iButtonData[i].keyType == ERsk && iIsFullScreenMode)
   906             else if (iButtonData[i].keyType == ERsk && iIsFullScreenMode)
   907             {
   907             {
   908                 iButtonData[i].iButton->SetExtent(iRskRect.iTl, iRskRect.Size());
   908                 iButtonData[i].iButton->SetExtent(iRskRect.iTl, iRskRect.Size());
   909                 iCurrentButtonData.Append(&iButtonData[i]);
   909                 iCurrentButtonData.AppendL(&iButtonData[i]);
   910                 iButtonStack.Append(i);
   910                 iButtonStack.AppendL(i);
   911             }
   911             }
   912         }
   912         }
   913     }
   913     }
   914 }
   914 }
   915 
   915 
  1391             if (aFeedbckRpt)
  1391             if (aFeedbckRpt)
  1392             {
  1392             {
  1393                 feedback->InstantFeedback(ETouchFeedbackSensitiveButton);
  1393                 feedback->InstantFeedback(ETouchFeedbackSensitiveButton);
  1394             }
  1394             }
  1395             break;
  1395             break;
  1396 #endif //RD_JAVA_ADVANCED_TACTILE_FEEDBACK                            
  1396 #endif //RD_JAVA_ADVANCED_TACTILE_FEEDBACK
  1397         }
  1397         }
  1398     }
  1398     }
  1399 #endif // RD_TACTILE_FEEDBACK
  1399 #endif // RD_TACTILE_FEEDBACK
  1400 
  1400 
  1401     (void)aFeedbckRpt;  // Just to remove a compiler warning
  1401     (void)aFeedbckRpt;  // Just to remove a compiler warning