1
/* ---------------------------------------------------------------------
2
* Definition of class ToolObject tool_object.cpp
4
* Essential functionality is contained within a ToolObject.
5
* Each ToolObject has an associated ToolView for displaying output.
7
* See vk_objects.cpp for information on how to add a new valgrind tool.
8
* ---------------------------------------------------------------------
9
* This file is part of Valkyrie, a front-end for Valgrind
10
* Copyright (C) 2000-2008, OpenWorks LLP <info@open-works.co.uk>
11
* This program is released under the terms of the GNU GPL v.2
12
* See the file COPYING for the full license details.
15
#include "tool_object.h"
16
#include "tool_view.h"
17
#include "vk_config.h" // vkConfig
18
#include "vk_utils.h" // vk_assert, VK_DEBUG, etc.
24
/* class ToolObject ---------------------------------------------------- */
25
ToolObject::~ToolObject()
28
ToolObject::ToolObject( const QString& capt, const QString& txt,
29
const QKeySequence& key, int objId )
30
: VkObject( capt, txt, key, objId )
34
m_runState = VkRunState::STOPPED;
37
bool ToolObject::isRunning()
39
return (m_runState != VkRunState::STOPPED);
43
void ToolObject::setRunState( VkRunState::State rs )
46
emit running( isRunning() );
50
void ToolObject::deleteView()
52
emit message( "" ); /* clear the status bar */
53
vk_assert( m_view != 0 );
55
m_view->close( true/*alsoDelete*/ );
59
ToolView* ToolObject::view()
65
/* called from Valkyrie::updateVgFlags() whenever flags have been changed */
66
QStringList ToolObject::modifiedVgFlags()
70
for ( Option* opt = m_optList.first(); opt; opt = m_optList.next() ) {
72
QString defVal = opt->m_defaultValue; /* opt holds the default */
73
QString cfgVal = vkConfig->rdEntry( opt->m_longFlag, name() );
75
if ( defVal != cfgVal )
76
modFlags << "--" + opt->m_longFlag + "=" + cfgVal;