memspyui/ui/avkon/src/MemSpyViewWindowGroups.cpp
changeset 48 da3ec8478e66
parent 47 11fa016241a4
child 54 9347c563e054
--- a/memspyui/ui/avkon/src/MemSpyViewWindowGroups.cpp	Thu Sep 02 20:27:24 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "MemSpyViewWindowGroups.h"
-
-// System includes
-#include <eikclbd.h>
-#include <aknmessagequerydialog.h>
-#include <aknnotewrappers.h>
-
-// Engine includes
-#include <memspy/engine/memspyengine.h>
-#include <memspy/engine/memspyengineobjectcontainer.h>
-#include <memspy/engine/memspyengineobjectthread.h>
-
-// User includes
-#include "MemSpyUiUtils.h"
-#include "MemSpyViewMainMenu.h"
-#include "MemSpyContainerObserver.h"
-
-// Literal constants
-const TInt KMaxInfoLength = 128;
-
-
-CMemSpyViewWindowGroups::CMemSpyViewWindowGroups( CMemSpyEngine& aEngine, MMemSpyViewObserver& aObserver )
-:   CMemSpyViewBase( aEngine, aObserver )
-    {
-    }
-
-
-CMemSpyViewWindowGroups::~CMemSpyViewWindowGroups()
-    {
-    delete iWindowGroupList;
-    }
-
-
-void CMemSpyViewWindowGroups::ConstructL( const TRect& aRect, CCoeControl& aContainer, TAny* aSelectionRune )
-    {
-    _LIT( KTitle, "Window Groups" );
-    SetTitleL( KTitle );
-    //
-    CMemSpyViewBase::ConstructL( aRect, aContainer, aSelectionRune );
-    }
-
-
-CEikListBox* CMemSpyViewWindowGroups::ConstructListBoxL()
-    {
-    delete iListBox;
-    iListBox = NULL;
-    CAknSingleNumberStyleListBox* listbox = new (ELeave) CAknSingleNumberStyleListBox();
-    iListBox = listbox;
-    listbox->ConstructL( this, EAknListBoxSelectionList | EAknListBoxLoopScrolling );
-    listbox->SetContainerWindowL( *this );
-    listbox->CreateScrollBarFrameL( ETrue );
-    SetListBoxModelL();
-    listbox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-    listbox->SetListBoxObserver( this );
-    listbox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-    listbox->SetObserver( this );
-    return listbox;
-    }
-
-void CMemSpyViewWindowGroups::RefreshL()
-    {
-    SetListBoxModelL();
-    CMemSpyViewBase::RefreshL();
-    }
-
-
-TMemSpyViewType CMemSpyViewWindowGroups::ViewType() const
-    {
-    return EMemSpyViewTypeWindowGroups;
-    }
-
-
-CMemSpyViewBase* CMemSpyViewWindowGroups::PrepareParentViewL()
-    {
-    CMemSpyViewMainMenu* parent = new(ELeave) CMemSpyViewMainMenu( iEngine, iObserver );
-    CleanupStack::PushL( parent );
-    parent->ConstructL( Rect(), *Parent(), (TAny*) ViewType() );
-    CleanupStack::Pop( parent );
-    return parent;
-    }
-
-
-CMemSpyViewBase* CMemSpyViewWindowGroups::PrepareChildViewL()
-    {
-    CMemSpyViewBase* child = NULL;
-    if ( iListBox && 
-         iListBox->Model()->NumberOfItems() && 
-         iListBox->CurrentItemIndex() > KErrNotFound )
-        {
-        DetailsL();
-        }
-    return child;
-    }
-
-
-void CMemSpyViewWindowGroups::SetListBoxModelL()
-    {
-    // Take ownership of new model
-    MMemSpyEngineHelperWindowServer& windowServerManager = iEngine.HelperWindowServer();
-    MMemSpyEngineWindowGroupList* windowGroupList = windowServerManager.WindowGroupListL();
-    delete iWindowGroupList;
-    iWindowGroupList = windowGroupList;
-    
-    // Set up list box
-    CAknSingleNumberStyleListBox* listbox = static_cast< CAknSingleNumberStyleListBox* >( iListBox );
-    listbox->Model()->SetItemTextArray( iWindowGroupList );
-    listbox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    }
-
-
-TBool CMemSpyViewWindowGroups::HandleCommandL( TInt aCommand )
-    {
-    TBool handled = ETrue;
-    //
-    switch ( aCommand )
-        {
-        case EMemSpyCmdWindowGroupTerminate:
-            {
-            TRAPD( err, OnCmdEndL( aCommand ) );
-            CAknConfirmationNote* note = new(ELeave) CAknConfirmationNote( ETrue );
-            if ( err )
-                {
-                note->ExecuteLD( _L("Cannot terminate task") );
-                }
-            else
-                {
-                note->ExecuteLD( _L("Task terminated") );
-                }
-            break;
-            }
-        case EMemSpyCmdWindowGroupSwitchTo:
-            {
-            TRAPD( err, OnCmdSwitchToL() );
-            if ( err )
-                {
-                CAknConfirmationNote* note = new(ELeave) CAknConfirmationNote( ETrue );
-                note->ExecuteLD( _L("Cannot bring to foreground") );
-                }
-            break;
-            }
-        case EMemSpyCmdWindowGroupEnd:
-            {
-            TRAPD( err, OnCmdEndL( aCommand ) );
-            CAknConfirmationNote* note = new(ELeave) CAknConfirmationNote( ETrue );
-            if ( err )
-                {
-                note->ExecuteLD( _L("Cannot end task") );
-                }
-            else
-                {
-                note->ExecuteLD( _L("Task exited") );
-                }
-            break;
-            }
-        case EMemSpyCmdWindowGroupPanic:
-            {
-            TRAPD( err, OnCmdEndL( aCommand ) );
-            CAknConfirmationNote* note = new(ELeave) CAknConfirmationNote( ETrue );
-            if ( err )
-                {
-                note->ExecuteLD( _L("Cannot panic task") );
-                }
-            else
-                {
-                note->ExecuteLD( _L("Task panic'ed") );
-                }
-            break;
-            }
-        default:
-            {
-            handled = CMemSpyViewBase::HandleCommandL( aCommand );
-            break;        
-            }
-        }
-    //
-    return handled;
-    }
-
-
-void CMemSpyViewWindowGroups::OnCmdSwitchToL()
-    {
-    MMemSpyEngineHelperWindowServer& windowServerManager = iEngine.HelperWindowServer();
-    TInt id = iWindowGroupList->At( iListBox->CurrentItemIndex() ).iId;
-    windowServerManager.SwitchToL( id );
-    }
-
-
-void CMemSpyViewWindowGroups::OnCmdEndL( TInt aCommand )
-    {
-	/*
-    TBool doTerminate = ETrue;
-    
-    CMemSpyEngineObjectContainer& container = iEngine.Container();
-    TThreadId id = iWindowGroupList->At( iListBox->CurrentItemIndex() ).iThreadId;
-    
-    // Try to find the thread in question...
-    CMemSpyProcess* process = NULL;
-    CMemSpyThread* thread = NULL; 
-    User::LeaveIfError( container.ProcessAndThreadByThreadId( id, process, thread ) );
-
-    if ( thread )
-        {
-        thread->Open();
-        //
-        if  ( thread->IsSystemPermanent() || thread->IsSystemCritical() )
-            {
-            CAknQueryDialog* importDialog = CAknQueryDialog::NewL();
-            doTerminate = ( importDialog->ExecuteLD( R_MEMSPY_PANIC_SYSTEM_CRITICAL_THREAD_OR_PROCESS ) );
-            }
-        //
-        if  ( doTerminate )
-            {
-            switch ( aCommand )
-                {
-                case EMemSpyCmdWindowGroupTerminate:
-                    {
-                    thread->TerminateL();
-                    break;
-                    }
-                case EMemSpyCmdWindowGroupEnd:
-                    {
-                    thread->KillL();
-                    break;
-                    }
-                case EMemSpyCmdWindowGroupPanic:
-                    {
-                    thread->PanicL();
-                    break;
-                    }
-                default:
-                    {
-                    // Programming error
-                    __ASSERT_ALWAYS( EFalse, User::Panic( _L("MemSpy-View"), 0 ) );
-                    }                
-                }
-            }                
-        }
-    RefreshL();
-    */
-    }
-
-
-void CMemSpyViewWindowGroups::DetailsL()
-    {
-    HBufC* messageBuf = HBufC::NewLC( 4096 );
-    TPtr messagePtr = messageBuf->Des();
-
-    // Fetch data from helper
-    TMemSpyEngineWindowGroupDetails selectedObject;
-    MMemSpyEngineHelperWindowServer& windowServerManager = iEngine.HelperWindowServer();
-    TInt id = iWindowGroupList->At( iListBox->CurrentItemIndex() ).iId;
-    windowServerManager.GetWindowGroupDetailsL( id, selectedObject );
-    
-    // Append info to string buffer
-    AppendFormatString( messagePtr, _L("WG ID: %d\n"), selectedObject.iId );
-    AppendFormatString( messagePtr, _L("Client ThreadId: %Lu\n"), selectedObject.iThreadId.Id() );
-    TFullName name;
-    name.Copy( selectedObject.iFullName );
-    AppendFormatString( messagePtr, _L("Thr: %S\n"), &name );
-    name.Zero();
-    AppendFormatString( messagePtr, _L("Priority: %d\n"), selectedObject.iPriority );
-    AppendFormatString( messagePtr, _L("Handle: 0x%08X\n"), selectedObject.iWindowGroupHandle );
-    name.Copy( selectedObject.iName );
-    AppendFormatString( messagePtr, _L("Name: %S\n"), &name );
-    name.Zero();
-    AppendFormatString( messagePtr, _L("UID: 0x%08X\n"), selectedObject.iUID );
-    AppendFormatString( messagePtr, _L("IsBusy: %d\n"), selectedObject.iIsBusy );
-    AppendFormatString( messagePtr, _L("IsSystem: %d\n"), selectedObject.iIsSystem );
-    AppendFormatString( messagePtr, _L("IsHidden: %d\n"), selectedObject.iIsHidden );
-    name.Copy( selectedObject.iCaption );
-    AppendFormatString( messagePtr, _L("Caption: %S\n"), &name );
-    name.Zero();
-    name.Copy( selectedObject.iDocName );
-    AppendFormatString( messagePtr, _L("Docname: %S"), &name );
-    name.Zero();
-
-    // Display the buffer on a dialog
-    CAknMessageQueryDialog* dialog = new(ELeave) CAknMessageQueryDialog( CAknQueryDialog::ENoTone );
-    dialog->PrepareLC( R_MEMSPY_KERNEL_OBJECT_DETAILS_DIALOG );
-    TFileName headerText;
-    headerText.Copy( selectedObject.iFullName );
-    dialog->SetHeaderTextL( headerText );
-    dialog->SetMessageTextL( messagePtr );
-    dialog->RunLD();
-   
-    CleanupStack::PopAndDestroy( messageBuf );
-    }
-
-
-void CMemSpyViewWindowGroups::AppendFormatString( TPtr& aPtr, TRefByValue<const TDesC> aFmt, ... )
-    {
-    TBuf<KMaxInfoLength> infoString;
-    VA_LIST list;
-    VA_START ( list, aFmt );
-    infoString.FormatList( aFmt, list );
-    aPtr.Append( infoString );
-    }
-
-