perfapps/memspyui/ui/avkon/src/MemSpyViewKernelObjects.cpp
changeset 53 819e59dfc032
parent 51 b048e15729d6
equal deleted inserted replaced
52:36d60d12b4af 53:819e59dfc032
    24 #include <eikclbd.h>
    24 #include <eikclbd.h>
    25 #include <AknQueryDialog.h>
    25 #include <AknQueryDialog.h>
    26 #include <aknnotewrappers.h>
    26 #include <aknnotewrappers.h>
    27 #include <apgwgnam.h>
    27 #include <apgwgnam.h>
    28 #include <aknmessagequerydialog.h>
    28 #include <aknmessagequerydialog.h>
       
    29 #include <aknwaitdialog.h>
    29 
    30 
    30 // Engine includes
    31 // Engine includes
    31 #include <memspy/engine/memspyengine.h>
    32 #include <memspy/engine/memspyengine.h>
    32 #include <memspy/engine/memspyengineobjectprocess.h>
    33 #include <memspy/engine/memspyengineobjectprocess.h>
    33 #include <memspy/engine/memspyengineobjectthread.h>
    34 #include <memspy/engine/memspyengineobjectthread.h>
    69     if ( iNavContainer && iNavDecorator )
    70     if ( iNavContainer && iNavDecorator )
    70         {
    71         {
    71         iNavContainer->Pop( iNavDecorator );
    72         iNavContainer->Pop( iNavDecorator );
    72         delete iNavDecorator;
    73         delete iNavDecorator;
    73         }
    74         }
    74     delete iModel;
       
    75     delete iItems;
    75     delete iItems;
    76     delete iObjectList;
    76     delete iObjectList;
       
    77     
       
    78     if( iWaitDialog )
       
    79     	delete iWaitDialog;
       
    80     
       
    81     for (TInt i=0; i<iKernelObjectItems.Count(); i++)
       
    82         {
       
    83         delete iKernelObjectItems[i];
       
    84     }
       
    85 
       
    86     iKernelObjectItems.Close();
    77     }
    87     }
    78 
    88 
    79 
    89 
    80 void CMemSpyViewKernelObjects::ConstructL( const TRect& aRect, CCoeControl& aContainer, TAny* aSelectionRune )
    90 void CMemSpyViewKernelObjects::ConstructL( const TRect& aRect, CCoeControl& aContainer, TAny* aSelectionRune )
    81     {
    91     {
       
    92 	iWaitDialog = new (ELeave) CAknWaitDialog((REINTERPRET_CAST(CEikDialog**, &iWaitDialog)), ETrue);
       
    93 	iWaitDialog->PrepareLC( R_MEMSPY_WAIT_NOTE );	
       
    94 	iWaitDialog->RunLD();
       
    95 	
    82     _LIT( KTitle, "Kernel Objects" );
    96     _LIT( KTitle, "Kernel Objects" );
    83     SetTitleL( KTitle );
    97     SetTitleL( KTitle );
    84     iItems = new(ELeave) CDesCArrayFlat(5);
    98     iItems = new(ELeave) CDesCArrayFlat(5);
    85     //
    99     //
    86     CMemSpyViewBase::ConstructL( aRect, aContainer, aSelectionRune );
   100     CMemSpyViewBase::ConstructL( aRect, aContainer, aSelectionRune );
    87     CreateTabsL();
   101     CreateTabsL();
       
   102     
       
   103     iWaitDialog->ProcessFinishedL(); 
    88     }
   104     }
    89 
   105 
    90 
   106 
    91 CEikListBox* CMemSpyViewKernelObjects::ConstructListBoxL()
   107 CEikListBox* CMemSpyViewKernelObjects::ConstructListBoxL()
    92     {
   108     {
   105     return listbox;
   121     return listbox;
   106     }
   122     }
   107 
   123 
   108 
   124 
   109 void CMemSpyViewKernelObjects::RefreshL()
   125 void CMemSpyViewKernelObjects::RefreshL()
   110     {
   126     {	
   111     SetListBoxModelL();
   127     SetListBoxModelL();
   112     CMemSpyViewBase::RefreshL();
   128     CMemSpyViewBase::RefreshL();               
   113     }
   129     }
   114 
   130 
   115 
   131 
   116 TMemSpyViewType CMemSpyViewKernelObjects::ViewType() const
   132 TMemSpyViewType CMemSpyViewKernelObjects::ViewType() const
   117     {
   133     {
   166 void CMemSpyViewKernelObjects::SetListBoxModelL()
   182 void CMemSpyViewKernelObjects::SetListBoxModelL()
   167     {
   183     {
   168     //_LIT( KLineFormatSpec, "\t%S" );
   184     //_LIT( KLineFormatSpec, "\t%S" );
   169     _LIT( KTab, "\t" );
   185     _LIT( KTab, "\t" );
   170        
   186        
       
   187     for (TInt i=0; i<iKernelObjectItems.Count(); i++)
       
   188         {
       
   189         delete iKernelObjectItems[i];
       
   190         }
   171     iMemSpySession.GetKernelObjectItems( iKernelObjectItems, iObjectType );    
   191     iMemSpySession.GetKernelObjectItems( iKernelObjectItems, iObjectType );    
   172     
   192     
   173     iModel = new (ELeave) CDesC16ArrayFlat( iKernelObjectItems.Count() + 1 ); //array for formated items, +1 added there for 0 case - creating 0-sized array panics
   193     CDesC16ArrayFlat* model = new (ELeave) CDesC16ArrayFlat( iKernelObjectItems.Count() + 1 ); //array for formated items, +1 added there for 0 case - creating 0-sized array panics
       
   194     CleanupStack::PushL( model );
   174         
   195         
   175     for ( TInt i = 0; i < iKernelObjectItems.Count(); i++ )
   196     for ( TInt i = 0; i < iKernelObjectItems.Count(); i++ )
   176         {
   197         {
   177         HBufC* tempName = HBufC::NewL( iKernelObjectItems[i]->Name().Length() + 16 );
   198         HBufC* tempName = HBufC::NewL( iKernelObjectItems[i]->Name().Length() + 16 );
   178         CleanupStack::PushL( tempName );
   199         CleanupStack::PushL( tempName );
   180         tempNamePtr.Copy( KTab );
   201         tempNamePtr.Copy( KTab );
   181     	
   202     	
   182         TBuf<KMaxName> temp;
   203         TBuf<KMaxName> temp;
   183         temp.Copy(iKernelObjectItems[i]->Name());    	
   204         temp.Copy(iKernelObjectItems[i]->Name());    	
   184         tempNamePtr.Append( temp	 );
   205         tempNamePtr.Append( temp	 );
   185         iModel->AppendL( tempNamePtr );
   206         model->AppendL( tempNamePtr );
   186             
   207             
   187         CleanupStack::PopAndDestroy( tempName ); 
   208         CleanupStack::PopAndDestroy( tempName ); 
   188         }
   209         }
   189     
   210     
   190     CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox );
   211     CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox );
   191     listbox->Model()->SetItemTextArray( iModel );
   212     listbox->Model()->SetItemTextArray( model );
   192     listbox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );       
   213     listbox->Model()->SetOwnershipType( ELbmOwnsItemArray );
       
   214     
       
   215     CleanupStack::Pop( model );
   193     }
   216     }
   194 
   217 
   195 
   218 
   196 TBool CMemSpyViewKernelObjects::HandleCommandL( TInt aCommand )
   219 TBool CMemSpyViewKernelObjects::HandleCommandL( TInt aCommand )
   197     {
   220     {