memspyui/ui/hb/src/memspyview.cpp
changeset 17 4f2773374eff
child 31 e7a04a6385be
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/memspyui/ui/hb/src/memspyview.cpp	Fri May 14 15:53:02 2010 +0300
@@ -0,0 +1,119 @@
+/*
+* 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 <HbMenu>
+#include <HbToolBar>
+#include <HbApplication>
+#include <HbMessageBox>
+#include <HbLabel>
+
+#include "memspyview.h"
+
+
+MemSpyView::MemSpyView(EngineWrapper &engine, ViewManager &viewManager) : 
+	HbView(),
+	mEngine(engine),
+	mViewManager(viewManager),
+	mOutputMenu(0), 
+	mOutputGenInfoMenu(0), 
+	mOutputHeapInfoMenu(0),
+	mOutputStackInfoMenu(0),
+	mToolBar(0)
+{
+	setWidget(&mListView);
+}
+
+MemSpyView::~MemSpyView()
+{
+	delete mToolBar;
+	delete mOutputStackInfoMenu;
+	delete mOutputHeapInfoMenu;
+	delete mOutputGenInfoMenu; 
+	delete mOutputMenu;
+}
+
+void MemSpyView::initialize(const QVariantMap& params)
+{
+	if (isRefreshable())
+		menu()->addAction(tr("Refresh"));
+	
+	HbMenu* toolMenu = createToolMenu();
+	if (toolMenu)
+		menu()->addMenu(toolMenu);
+	
+	mOutputMenu = menu()->addMenu(tr("Output"));
+	mOutputMenu->addActions(createOutputActions());
+	mOutputGenInfoMenu = mOutputMenu->addMenu(tr("General Info"));
+	mOutputHeapInfoMenu = mOutputMenu->addMenu(tr("Heap Info"));
+	mOutputStackInfoMenu = mOutputMenu->addMenu(tr("Stack Info"));
+	mOutputGenInfoMenu->addAction(tr("Summary"));
+	mOutputGenInfoMenu->addAction(tr("Detailed Info"));
+	mOutputGenInfoMenu->addAction(tr("Handle Info"));
+	mOutputGenInfoMenu->addAction(tr("Kernel Containters"));
+	mOutputHeapInfoMenu->addAction(tr("Detailed Summary"));
+	mOutputHeapInfoMenu->addAction(tr("Compact Summary"));
+	mOutputHeapInfoMenu->addAction(tr("Cell Listing"));
+	mOutputHeapInfoMenu->addAction(tr("Data (Binary)"));
+	mOutputStackInfoMenu->addAction(tr("Detailed Summary"));
+	mOutputStackInfoMenu->addAction(tr("Compact Summary"));
+	mOutputStackInfoMenu->addAction(tr("User Stacks (Binary)"));
+	mOutputStackInfoMenu->addAction(tr("Kernel Stacks (Binary)"));
+	menu()->addAction(tr("Start Auto Capture"));
+	menu()->addAction(tr("Settings ..."));
+	menu()->addAction(tr("About ..."), this, SLOT(showAbout()));
+	menu()->addAction(tr("Exit"), qApp, SLOT(quit()));
+	
+	mToolBar = createToolBar();
+	if (mToolBar)
+		setToolBar(mToolBar);
+}
+
+QList<QAction*> MemSpyView::createOutputActions()
+{
+	return QList<QAction*>();
+}
+
+HbMenu* MemSpyView::createToolMenu()
+{
+	return 0;
+}
+
+HbToolBar* MemSpyView::createToolBar()
+{
+	return 0;
+}
+
+bool MemSpyView::isRefreshable() const
+{
+	return false;
+}
+
+void MemSpyView::refresh()
+{
+	// Empty default implementation
+}
+
+void MemSpyView::showAbout()
+{
+	HbMessageBox *messageBox = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+	messageBox->setText("Version 2.0.0 - 23th April 2010. Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. Licensed under Eclipse Public License v1.0.");
+	HbLabel *header = new HbLabel("About MemSpy", messageBox);
+	messageBox->setHeadingWidget(header);
+	messageBox->setAttribute(Qt::WA_DeleteOnClose);
+	messageBox->setTimeout(HbPopup::NoTimeout);
+	messageBox->open();
+}