anpstudio 0.1.0
ANP Studio — Analytic Network Process desktop application
Loading...
Searching...
No Matches
judgment_priorities_panel.hpp
Go to the documentation of this file.
1
6#pragma once
7
8#include <QString>
9#include <QVector>
10#include <QWidget>
11
12#include <utility>
13
14class Document;
15class QLabel;
17
21class JudgmentPrioritiesPanel : public QWidget {
22 Q_OBJECT
23public:
24 explicit JudgmentPrioritiesPanel(Document* doc, QWidget* parent = nullptr);
25
26public slots:
28 void showNodePairwise(const QString& parent, const QString& destCluster);
30 void showNodeRatings(const QString& parent, const QString& destCluster);
32 void showClusterPairwise(const QString& parent);
34 void clear();
36 void refresh();
37
38private:
39 enum class Source { None, NodePairwise, NodeRatings, ClusterPairwise };
40
41 void setEntries(QVector<std::pair<QString, double>> entries,
42 const QString& subtitle);
43
44 Document* doc_ = nullptr;
45 QLabel* title_ = nullptr;
46 QLabel* subtitle_ = nullptr;
47 PriorityBarsWidget* bars_ = nullptr;
48
49 Source source_ = Source::None;
50 QString parent_;
51 QString destCluster_;
52};
53
57class PriorityBarsWidget : public QWidget {
58 Q_OBJECT
59public:
60 explicit PriorityBarsWidget(QWidget* parent = nullptr);
61 void setEntries(QVector<std::pair<QString, double>> entries);
62
63protected:
64 void paintEvent(QPaintEvent* event) override;
65 [[nodiscard]] QSize minimumSizeHint() const override;
66 [[nodiscard]] QSize sizeHint() const override;
67
68private:
69 QVector<std::pair<QString, double>> entries_;
70};
Owns the root anpcpp::AnpNetwork, undo stack, file path, and dirty flag.
Definition document.hpp:23
Right-side Judgments chart of pairwise or ratings priorities.
Definition judgment_priorities_panel.hpp:21
void showNodeRatings(const QString &parent, const QString &destCluster)
Show priorities for a node→cluster ratings link.
void refresh()
Recomputes priorities for the current selection.
void clear()
Clears the chart.
void showNodePairwise(const QString &parent, const QString &destCluster)
Show priorities for a node→cluster pairwise link.
void showClusterPairwise(const QString &parent)
Show priorities for cluster-level pairwise.
Paints horizontal priority bars.
Definition judgment_priorities_panel.hpp:57