You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wowlet/src/widgets/nodewidget.h

64 lines
1.4 KiB

// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project.
#ifndef NODEWIDGET_H
#define NODEWIDGET_H
#include <QWidget>
#include <QTreeView>
#include <QItemSelection>
#include "appcontext.h"
#include "model/NodeModel.h"
#include "utils/nodes.h"
namespace Ui {
class NodeWidget;
}
class NodeModel;
class NodeWidget : public QWidget
{
Q_OBJECT
public:
explicit NodeWidget(QWidget *parent = nullptr);
~NodeWidget();
void setWSModel(NodeModel *model);
void setCustomModel(NodeModel *model);
void setupUI(AppContext *ctx);
NodeModel* model();
public slots:
void onCustomAddClicked();
void onShowWSContextMenu(const QPoint &pos);
void onShowCustomContextMenu(const QPoint &pos);
private slots:
void onContextConnect();
void onContextCustomNodeRemove();
void onContextStatusURL();
void onContextNodeCopy();
signals:
void connectToNode(WowletNode node);
void nodeSourceChanged(NodeSource nodeSource);
private:
AppContext *m_ctx;
Ui::NodeWidget *ui;
NodeModel* m_customModel;
NodeModel* m_wsModel;
QTreeView *m_activeView;
QAction *m_contextActionConnect;
QAction *m_contextActionRemove;
QAction *m_contextActionOpenStatusURL;
QAction *m_contextActionCopy;
void showContextMenu(const QPoint &pos, const WowletNode &node);
WowletNode selectedNode();
};
#endif // NODEWIDGET_H