AOLabTextFlashAppUi.cpp
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:2k
源码类别:

Symbian

开发平台:

C/C++

  1. // Copyright (c) 2006 Nokia Corporation.
  2. #include <avkon.hrh>
  3. #include <aknnotewrappers.h>
  4. #include <stringloader.h>
  5. #include <AOLabTextFlash.rsg>
  6. #include <f32file.h>
  7. #include <s32file.h>
  8. #include "AOLabTextFlashAppUi.h"
  9. #include "AOLabTextFlashContainer.h"
  10. #include "AOLabTextFlash.hrh"
  11. // Symbian 2nd phase constructor
  12. void CAOLabTextFlashAppUi::ConstructL()
  13.     {
  14.     BaseConstructL();
  15. iAppContainer = CAOLabTextFlashContainer::NewL(ClientRect());
  16. }
  17. // C++ constructor
  18. CAOLabTextFlashAppUi::CAOLabTextFlashAppUi()
  19.     {
  20.     // No implementation
  21.     }
  22. // C++ destructor
  23. CAOLabTextFlashAppUi::~CAOLabTextFlashAppUi()
  24.     {
  25.     delete iAppContainer;
  26.     }
  27. //  This function is called by the EIKON framework just before it displays
  28. //  a menu pane. Its default implementation is empty, and by overriding it,
  29. //  the application can set the state of menu items dynamically according
  30. //  to the state of application data.
  31. void CAOLabTextFlashAppUi::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
  32.     {
  33.     if (aResourceId == R_MENU)
  34.         {
  35.         if (iAppContainer->IsFlashing())
  36.             {
  37.             aMenuPane->SetItemTextL(ECommandFlashText, R_COMMAND_STOPFLASHING);
  38.             }
  39.         else
  40.          {
  41.          aMenuPane->SetItemTextL(ECommandFlashText, R_COMMAND_STARTFLASHING);
  42.          }
  43.         }
  44.     }
  45.     
  46.     
  47. // Takes care of command handling.
  48. void CAOLabTextFlashAppUi::HandleCommandL( TInt aCommand )
  49.     {
  50.     switch ( aCommand )
  51.         {
  52.         case EAknSoftkeyExit:
  53.         case EEikCmdExit:
  54.             Exit();
  55.             break;
  56.         case ECommandFlashText:
  57.          {
  58.             if (iAppContainer->IsFlashing())
  59.                 {
  60.                 iAppContainer->StopFlashing();
  61.                 }
  62.             else
  63.                 {
  64.                 iAppContainer->FlashingText();
  65.                 }
  66.                 
  67.             break;
  68.          }
  69.         default:
  70.             break;      
  71.         }
  72.     }
  73.     
  74.     
  75. //  Called by the framework when the application status pane
  76. //  size is changed.
  77. void CAOLabTextFlashAppUi::HandleStatusPaneSizeChange()
  78. {
  79. iAppContainer->SetRect( ClientRect() );
  80. // End of File