File indexing completed on 2024-04-28 05:48:34

0001 //
0002 // Description: Widget that local variables of the gdb inferior
0003 //
0004 // SPDX-FileCopyrightText: 2010 Kåre Särs <kare.sars@iki.fi>
0005 //
0006 //  SPDX-License-Identifier: LGPL-2.0-only
0007 
0008 #pragma once
0009 
0010 #include "dap/entities.h"
0011 #include <QTreeWidget>
0012 #include <QTreeWidgetItem>
0013 
0014 class LocalsView : public QTreeWidget
0015 {
0016     Q_OBJECT
0017 public:
0018     LocalsView(QWidget *parent = nullptr);
0019     ~LocalsView() override;
0020 
0021 public Q_SLOTS:
0022     // An empty value string ends the locals
0023     void openVariableScope();
0024     void closeVariableScope();
0025     void addVariableLevel(int parentId, const dap::Variable &variable);
0026 
0027 Q_SIGNALS:
0028     void localsVisible(bool visible);
0029 
0030 protected:
0031     void showEvent(QShowEvent *event) override;
0032     void hideEvent(QHideEvent *event) override;
0033 
0034 private:
0035     QTreeWidgetItem *createWrappedItem(QTreeWidgetItem *parent, const dap::Variable &variable);
0036     QTreeWidgetItem *createWrappedItem(QTreeWidget *parent, const dap::Variable &variable);
0037 
0038     QHash<int, QTreeWidgetItem *> m_variables;
0039 };