VBoxDbgStatsQt4.h revision 78b53d2559005e2deb0fd645a8ae539b25810b9d
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * VBox Debugger GUI - Statistics.
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * Copyright (C) 2006-2010 Oracle Corporation
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * available from http://www.virtualbox.org. This file is free software;
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * you can redistribute it and/or modify it under the terms of the GNU
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * General Public License (GPL) as published by the Free Software
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync/** Pointer to a statistics sample. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync/** Pointer to a const statistics sample. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsynctypedef struct DBGGUISTATSNODE const *PCDBGGUISTATSNODE;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * The VM statistics tree view.
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync * A tree representation of the STAM statistics.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncclass VBoxDbgStatsView : public QTreeView, public VBoxDbgBase
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Creates a VM statistics list view widget.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_pDbgGui Pointer to the debugger gui object.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_pModel The model. Will take ownership of this and delete it together
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * with the view later
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_pParent Parent widget.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync VBoxDbgStatsView(VBoxDbgGui *a_pDbgGui, VBoxDbgStatsModel *a_pModel, VBoxDbgStats *a_pParent = NULL);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Destructor. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Updates the view with current information from STAM.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * This will indirectly update the m_PatStr.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param rPatStr Selection pattern. NULL means everything, see STAM for further details.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Resets the stats items matching the specified pattern.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * This pattern doesn't have to be the one used for update, thus m_PatStr isn't updated.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param rPatStr Selection pattern. NULL means everything, see STAM for further details.
f4579b5474998fc38afbbfc31c53609219d526a8vboxsync * Resizes the columns to fit the content.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Expands or collapses a sub-tree.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_rIndex The root of the sub-tree.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_fExpanded Expand/collapse.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync void setSubTreeExpanded(QModelIndex const &a_rIndex, bool a_fExpanded);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Popup context menu.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_pEvt The event.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync virtual void contextMenuEvent(QContextMenuEvent *a_pEvt);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Slot for handling the view/header context menu.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_rPos The mouse location.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync void headerContextMenuRequested(const QPoint &a_rPos);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** @name Action signal slots.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Pointer to the data model. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The current selection pattern. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The parent widget. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Leaf item menu. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Branch item menu. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** View menu. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The menu that's currently being executed. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The current index relating to the context menu.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Considered invalid if m_pCurMenu is NULL. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Expand Tree action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Collapse Tree action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Refresh Tree action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Reset Tree action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Copy (to clipboard) action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** To Log action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** To Release Log action. */
f4579b5474998fc38afbbfc31c53609219d526a8vboxsync /** Adjust the columns. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Save Tree (to file) action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Load Tree (from file) action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Take Snapshot action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Load Snapshot action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Diff With Snapshot action. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * The VM statistics window.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * This class displays the statistics of a VM. The UI contains
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * a entry field for the selection pattern, a refresh interval
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * spinbutton, and the tree view with the statistics.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Creates a VM statistics list view widget.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_pDbgGui Pointer to the debugger gui object.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param pszPat Initial selection pattern. NULL means everything. (See STAM for details.)
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param uRefreshRate The refresh rate. 0 means not to refresh and is the default.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param pParent Parent widget.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync VBoxDbgStats(VBoxDbgGui *a_pDbgGui, const char *pszPat = NULL, unsigned uRefreshRate= 0, QWidget *pParent = NULL);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Destructor. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Destroy the widget on close.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param a_pCloseEvt The close event.
78b53d2559005e2deb0fd645a8ae539b25810b9dvboxsync * Event filter for various purposes.
78b53d2559005e2deb0fd645a8ae539b25810b9dvboxsync * @param pWatched The object event came to.
78b53d2559005e2deb0fd645a8ae539b25810b9dvboxsync * @param pEvent The event being handled.
78b53d2559005e2deb0fd645a8ae539b25810b9dvboxsync virtual bool eventFilter(QObject *pWatched, QEvent *pEvent);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Apply the activated combobox pattern. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The "All" button was pressed. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Refresh the data on timer tick and pattern changed. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Set the refresh rate.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @param iRefresh The refresh interval in seconds.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Change the focus to the pattern combo box.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The current selection pattern. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The pattern combo box. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The refresh rate in seconds.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * 0 means not to refresh. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The refresh timer .*/
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** The tree view widget. */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /** Move to pattern field action. */