ACAV
f0ba4b7c9529
Abstract Syntax Tree (AST) visualization tool for C, C++, and Objective-C
Loading...
Searching...
No Matches
NodeDetailsDialog.h
Go to the documentation of this file.
1
/*$!{
2
* Aurora Clang AST Viewer (ACAV)
3
*
4
* Copyright (c) 2026 Min Liu
5
* Copyright (c) 2026 Michael David Adams
6
*
7
* SPDX-License-Identifier: GPL-2.0-or-later
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License along
20
* with this program; if not, see <https://www.gnu.org/licenses/>.
21
}$!*/
22
25
#pragma once
26
27
#include "
core/AstNode.h
"
28
#include <QDialog>
29
#include <QTreeWidget>
30
31
namespace
acav {
32
38
class
NodeDetailsDialog
:
public
QDialog {
39
Q_OBJECT
40
41
public
:
46
explicit
NodeDetailsDialog
(
AcavJson
properties,
const
QString &windowTitle,
47
QWidget *parent =
nullptr
);
48
~NodeDetailsDialog
()
override
=
default
;
49
50
private
:
51
void
setupUI();
52
void
populateTree(QTreeWidgetItem *parent,
const
QString &key,
53
const
AcavJson
&value);
54
static
QString valueToDisplayString(
const
AcavJson
&value,
55
const
QString &key = QString());
56
57
AcavJson
properties_;
58
QTreeWidget *treeWidget_;
59
};
60
61
}
// namespace acav
AstNode.h
AST data structures and memory management.
acav::AcavJson
nlohmann::basic_json< std::map, std::vector, InternedString, bool, int64_t, uint64_t, double, std::allocator, nlohmann::adl_serializer, std::vector< uint8_t > > AcavJson
Custom JSON type using InternedString for automatic string deduplication.
Definition
AstNode.h:51
acav::NodeDetailsDialog::NodeDetailsDialog
NodeDetailsDialog(AcavJson properties, const QString &windowTitle, QWidget *parent=nullptr)
Create a node details dialog.
Definition
NodeDetailsDialog.cpp:32
app
include
ui
NodeDetailsDialog.h
Generated by
1.16.1