1/*
2 SPDX-FileCopyrightText: 2001-2013 Evan Teran <evan.teran@gmail.com>
3 SPDX-FileCopyrightText: 2003-2005 Klaus Niederkrueger <kniederk@math.uni-koeln.de>
4
5 SPDX-License-Identifier: GPL-2.0-or-later
6*/
7
8#pragma once
9
10#include <QMenu>
11#include <QString>
12
13enum ConstantCategory { Mathematics = 1, Electromagnetic = 2, Nuclear = 4, Thermodynamics = 8, Gravitation = 16 };
14
15struct science_constant {
16 QString label;
17 QString name;
18 QString whatsthis;
19 QString value;
20 ConstantCategory category;
21};
22
23class KCalcConstMenu : public QMenu
24{
25 Q_OBJECT
26
27public:
28 explicit KCalcConstMenu(QWidget *parent = nullptr);
29 explicit KCalcConstMenu(const QString &title, QWidget *parent = nullptr);
30
31public:
32 static void init_consts();
33
34Q_SIGNALS:
35 void triggeredConstant(const science_constant &);
36
37private:
38 void init_all();
39
40public Q_SLOTS:
41 void slotPassSignalThrough(QAction *chosen_const);
42};
43
44

source code of kcalc/kcalc_const_menu.h