AOLabBubbleSortAppUi.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 <AOLabBubbleSort.rsg>
  6. #include <f32file.h>
  7. #include <s32file.h>
  8. #include "AOLabBubbleSortAppUi.h"
  9. #include "AOLabBubbleSortContainer.h"
  10. #include "AOLabBubbleSort.hrh"
  11. // Symbian 2nd phase constructor
  12. void CAOLabBubbleSortAppUi::ConstructL()
  13.     {
  14.     BaseConstructL();
  15. iAppContainer = CAOLabBubbleSortContainer::NewL(ClientRect());
  16. }
  17. // C++  constructor
  18. CAOLabBubbleSortAppUi::CAOLabBubbleSortAppUi()
  19.     {
  20.     // No implementation required
  21.     }
  22. // C++ Destructor
  23. CAOLabBubbleSortAppUi::~CAOLabBubbleSortAppUi()
  24.     {
  25.     delete iAppContainer;
  26.     }
  27. // 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 CAOLabBubbleSortAppUi::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
  32.     {
  33.     if (aResourceId == R_MENU)
  34.         {
  35.         if (iAppContainer->IsSorting())
  36.             {
  37.             aMenuPane->SetItemTextL(ECommandSort, R_COMMAND_CANCELSORTING);
  38.             }
  39.         else
  40.          {
  41.          aMenuPane->SetItemTextL(ECommandSort,R_COMMAND_STARTSORTING);
  42.          }
  43.         }
  44.     }
  45.     
  46. // Takes care of command handling
  47. void CAOLabBubbleSortAppUi::HandleCommandL( TInt aCommand )
  48.     {
  49.     switch( aCommand )
  50.         {
  51.         case EEikCmdExit:
  52.         case EAknSoftkeyExit:
  53.          {
  54.             Exit();
  55.             break;
  56.          }
  57.         case ECommandSort:
  58.             {
  59.             if (iAppContainer->IsSorting())
  60.              {
  61.              iAppContainer->CancelSortL();
  62.              }
  63.             else
  64.                {
  65.                iAppContainer->SortL();
  66.              }
  67.             break;
  68.             }
  69.             
  70.         default:
  71.             break;
  72.         }
  73.     }
  74. //  Called by the framework when the application status pane size is changed.
  75. void CAOLabBubbleSortAppUi::HandleStatusPaneSizeChange()
  76. {
  77. iAppContainer->SetRect( ClientRect() );
  78. // End of File