memspyui/ui/hb/src/memspyheapdumpsview.cpp
branchRCL_3
changeset 20 fad26422216a
parent 19 b3cee849fa46
child 21 f8280f3bfeb7
--- a/memspyui/ui/hb/src/memspyheapdumpsview.cpp	Tue Aug 31 15:15:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +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 <HbToolBar>
-#include <HbAction>
-#include <HbDataForm>
-#include <HbDataFormModel>
-#include <HbProgressDialog>
-#include <HbMessageBox>
-#include <HbLabel>
-
-#include "memspyheapdumpsview.h"
-#include "enginewrapper.h"
-
-const QStringList MODE_ITEMS = QStringList() << 
-	MemSpyHeapDumpsView::tr("Kernel") << 
-	MemSpyHeapDumpsView::tr("User") << 
-	MemSpyHeapDumpsView::tr("Both");
-	
-MemSpyHeapDumpsView::MemSpyHeapDumpsView(EngineWrapper &engine, ViewManager &viewManager) : 
-	MemSpyView(engine, viewManager),
-	mModel(0),
-	mModeItem(0),
-	mFilterItem(0),
-	mDwoProgressDialog(0)
-{
-}
-
-MemSpyHeapDumpsView::~MemSpyHeapDumpsView()
-{
-	delete mDwoProgressDialog;
-}
-
-void MemSpyHeapDumpsView::initialize(const QVariantMap& params)
-{
-	setTitle(tr("Heap Dumps"));
-	
-	MemSpyView::initialize(params);
-}
-
-HbToolBar* MemSpyHeapDumpsView::createToolBar()
-{
-	HbToolBar* toolBar = new HbToolBar();
-	toolBar->addAction(tr("Dump Now"), this, SLOT(dump()));
-	return toolBar;
-}
-
-HbWidget* MemSpyHeapDumpsView::createCentralWidget()
-{
-	mModel = new HbDataFormModel(this);
-	
-	//TODO: uncomment after kernel heap dumps are implemented 
-//	mModeItem = mModel->appendDataFormItem(
-//		HbDataFormModelItem::ComboBoxItem, tr("Heap Dump"));
-//	mModeItem->setContentWidgetData("items", MODE_ITEMS);
-//	mModeItem->setContentWidgetData("currentIndex", mEngine.settings().heapDumpsMode());
-//	modeChanged(mEngine.settings().heapDumpsMode());
-	
-	//TODO: remove after kernel heap dumps are implemented
-	createFilterItem();
-	
-	HbDataForm* form = new HbDataForm(this);
-	form->setModel(mModel);
-	
-	//TODO: uncomment after kernel heap dumps are implemented
-//	form->addConnection(mModeItem, SIGNAL(currentIndexChanged(int)), this, SLOT(modeChanged(int)));
-	
-	return form;
-}
-
-void MemSpyHeapDumpsView::modeChanged(int mode)
-{
-	if (mode == HeapDumpsModeKernel && mFilterItem)
-		removeFilterItem();
-	else if (mode != HeapDumpsModeKernel && !mFilterItem)
-		createFilterItem();
-}
-
-void MemSpyHeapDumpsView::createFilterItem()
-{
-	mFilterItem = mModel->appendDataFormItem(
-			HbDataFormModelItem::TextItem, tr("Filter"));
-}
-
-void MemSpyHeapDumpsView::removeFilterItem()
-{
-	mModel->removeItem(mFilterItem);
-	mFilterItem = 0;
-}
-
-void MemSpyHeapDumpsView::dump()
-{
-    mEngine.updateOutputSettings();
-    
-	HeapDumpsMode mode = HeapDumpsModeUser;
-	//TODO: uncomment after kernel heap dumps are implemented 
-	//static_cast<HeapDumpsMode>(mModeItem->contentWidgetData("currentIndex").toInt());
-	
-	// save settings
-	//TODO: uncomment after kernel heap dumps are implemented
-	//mEngine.settings().setHeapDumpsMode(mode);
-
-	if (mode == HeapDumpsModeKernel || mode == HeapDumpsModeBoth) {
-		// dump kernel heap
-		mDwoProgressDialog = new HbProgressDialog(HbProgressDialog::WaitDialog);
-		mDwoProgressDialog->setText(tr("Please wait..."));
-		mDwoProgressDialog->show();
-		
-		MemSpyKernelHeapDumpTracker* tracker = mEngine.createKernelHeapDumpTracker();
-		connect(tracker, SIGNAL(finished(int)), this, SLOT(asyncOperationFinished(int)));
-		tracker->start();
-	}
-	
-	if (mode == HeapDumpsModeUser || mode == HeapDumpsModeBoth) {
-		// dump user heap
-		
-		QString filter = mFilterItem->contentWidgetData("text").toString();
-		if (!filter.isEmpty()) {
-		    
-			int errorCode = mEngine.outputThreadHeapData(filter);
-            if (errorCode == KErrNotFound) {
-                HbMessageBox *messageBox = new HbMessageBox(HbMessageBox::MessageTypeInformation);
-                messageBox->setText(tr("No thread matches your filter"));
-                HbLabel *header = new HbLabel(tr("No such thread"), messageBox);
-                messageBox->setHeadingWidget(header);
-                messageBox->setAttribute(Qt::WA_DeleteOnClose);
-                messageBox->setTimeout(HbPopup::StandardTimeout);
-                messageBox->open();
-            }
-			    
-			
-		} else {
-			mDwoProgressDialog = new HbProgressDialog(HbProgressDialog::ProgressDialog);
-			mDwoProgressDialog->setMinimum(0);
-			mDwoProgressDialog->setMaximum(100);
-			mDwoProgressDialog->show();
-			
-			MemSpyDwoTracker* tracker = mEngine.createDeviceWideOperation(OutputHeapData);
-			connect(tracker, SIGNAL(progress(int,QString)), this, SLOT(updateDwoProgress(int,QString)));
-			connect(tracker, SIGNAL(finished(int)), this, SLOT(asyncOperationFinished(int)));
-			connect(mDwoProgressDialog, SIGNAL(cancelled()), tracker, SLOT(cancel()));
-			tracker->start();
-		}
-	}
-}
-
-void MemSpyHeapDumpsView::updateDwoProgress(int progress, const QString& processName)
-{
-	mDwoProgressDialog->setText(processName);
-	mDwoProgressDialog->setProgressValue(progress);
-}
-
-void MemSpyHeapDumpsView::asyncOperationFinished(int errorCode)
-{
-	mDwoProgressDialog->hide();
-	delete mDwoProgressDialog;
-	mDwoProgressDialog = 0;
-	
-	delete sender();    
-	
-	if (errorCode != KErrNone && errorCode != KErrCancel) {
-	    HbMessageBox *messageBox = new HbMessageBox(HbMessageBox::MessageTypeWarning);
-        messageBox->setText(tr("An error occured during the operation. Error code: %1").arg(errorCode));
-        HbLabel *header = new HbLabel(tr("Error"), messageBox);
-        messageBox->setHeadingWidget(header);
-        messageBox->setAttribute(Qt::WA_DeleteOnClose);
-        messageBox->setTimeout(HbPopup::StandardTimeout);
-        messageBox->open();
-	}
-}