mirror of
https://github.com/Qv2ray/Qv2ray.git
synced 2025-05-22 03:40:22 +08:00
add: added something
This commit is contained in:
parent
5719ed92b4
commit
c464499756
@ -1 +1 @@
|
|||||||
5834
|
5835
|
||||||
|
@ -18,6 +18,10 @@ std::shared_ptr<NodeDataType> RuleNodeModel::dataType(PortType portType, PortInd
|
|||||||
default: return {};
|
default: return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
std::shared_ptr<NodeDataType> ChainOutboundNodeModel::dataType(PortType, PortIndex) const
|
||||||
|
{
|
||||||
|
return NODE_TYPE_CHAINED_OUTBOUND;
|
||||||
|
}
|
||||||
//
|
//
|
||||||
// *******************************************************************************************
|
// *******************************************************************************************
|
||||||
//
|
//
|
||||||
@ -35,6 +39,10 @@ unsigned int RuleNodeModel::nPorts(PortType) const
|
|||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
unsigned int ChainOutboundNodeModel::nPorts(PortType) const
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// *******************************************************************************************
|
// *******************************************************************************************
|
||||||
@ -54,6 +62,10 @@ std::shared_ptr<NodeData> RuleNodeModel::outData(PortIndex)
|
|||||||
{
|
{
|
||||||
return std::make_shared<RuleNodeData>(dataptr);
|
return std::make_shared<RuleNodeData>(dataptr);
|
||||||
}
|
}
|
||||||
|
std::shared_ptr<NodeData> ChainOutboundNodeModel::outData(PortIndex)
|
||||||
|
{
|
||||||
|
return std::make_shared<ChainOutboundData>(dataptr);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// *******************************************************************************************
|
// *******************************************************************************************
|
||||||
@ -71,6 +83,10 @@ void RuleNodeModel::setInData(std::shared_ptr<NodeData> nodeData, PortIndex port
|
|||||||
{
|
{
|
||||||
setInData(std::vector{ nodeData }, port);
|
setInData(std::vector{ nodeData }, port);
|
||||||
}
|
}
|
||||||
|
void ChainOutboundNodeModel::setInData(std::shared_ptr<NodeData> nodeData, PortIndex port)
|
||||||
|
{
|
||||||
|
setInData(std::vector{ nodeData }, port);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// *******************************************************************************************
|
// *******************************************************************************************
|
||||||
@ -89,6 +105,10 @@ QtNodes::NodeDataModel::ConnectionPolicy RuleNodeModel::portInConnectionPolicy(P
|
|||||||
{
|
{
|
||||||
return NodeDataModel::ConnectionPolicy::Many;
|
return NodeDataModel::ConnectionPolicy::Many;
|
||||||
}
|
}
|
||||||
|
QtNodes::NodeDataModel::ConnectionPolicy ChainOutboundNodeModel::portInConnectionPolicy(PortIndex) const
|
||||||
|
{
|
||||||
|
return NodeDataModel::ConnectionPolicy::One;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// *******************************************************************************************
|
// *******************************************************************************************
|
||||||
@ -107,3 +127,7 @@ QtNodes::NodeDataModel::ConnectionPolicy RuleNodeModel::portOutConnectionPolicy(
|
|||||||
{
|
{
|
||||||
return NodeDataModel::ConnectionPolicy::One;
|
return NodeDataModel::ConnectionPolicy::One;
|
||||||
}
|
}
|
||||||
|
QtNodes::NodeDataModel::ConnectionPolicy ChainOutboundNodeModel::portOutConnectionPolicy(PortIndex) const
|
||||||
|
{
|
||||||
|
return NodeDataModel::ConnectionPolicy::One;
|
||||||
|
}
|
||||||
|
@ -60,7 +60,7 @@ namespace Qv2ray::ui::nodemodels
|
|||||||
DECL_NODE_DATA_TYPE(InboundNodeData, NODE_TYPE_INBOUND, INBOUND);
|
DECL_NODE_DATA_TYPE(InboundNodeData, NODE_TYPE_INBOUND, INBOUND);
|
||||||
DECL_NODE_DATA_TYPE(OutboundNodeData, NODE_TYPE_OUTBOUND, OutboundObjectMeta);
|
DECL_NODE_DATA_TYPE(OutboundNodeData, NODE_TYPE_OUTBOUND, OutboundObjectMeta);
|
||||||
DECL_NODE_DATA_TYPE(RuleNodeData, NODE_TYPE_RULE, RuleObject);
|
DECL_NODE_DATA_TYPE(RuleNodeData, NODE_TYPE_RULE, RuleObject);
|
||||||
DECL_NODE_DATA_TYPE(ChainOutboundData, NODE_TYPE_CHAINED_OUTBOUND, ChainObject);
|
DECL_NODE_DATA_TYPE(ChainOutboundData, NODE_TYPE_CHAINED_OUTBOUND, QString);
|
||||||
|
|
||||||
template<typename NODEMODEL_T>
|
template<typename NODEMODEL_T>
|
||||||
NODEMODEL_T *convert_nodemodel(QtNodes::Node *node)
|
NODEMODEL_T *convert_nodemodel(QtNodes::Node *node)
|
||||||
@ -81,7 +81,8 @@ namespace Qv2ray::ui::nodemodels
|
|||||||
{ \
|
{ \
|
||||||
Q_OBJECT \
|
Q_OBJECT \
|
||||||
public: \
|
public: \
|
||||||
explicit NAME(std::shared_ptr<NodeDispatcher>, std::shared_ptr<CONTENT_TYPE>); \
|
typedef CONTENT_TYPE node_data_t; \
|
||||||
|
explicit NAME(std::shared_ptr<NodeDispatcher>, std::shared_ptr<node_data_t>); \
|
||||||
~NAME(){}; \
|
~NAME(){}; \
|
||||||
\
|
\
|
||||||
inline QString caption() const override \
|
inline QString caption() const override \
|
||||||
@ -120,13 +121,13 @@ namespace Qv2ray::ui::nodemodels
|
|||||||
void inputConnectionDeleted(const QtNodes::Connection &) override; \
|
void inputConnectionDeleted(const QtNodes::Connection &) override; \
|
||||||
void outputConnectionCreated(const QtNodes::Connection &) override; \
|
void outputConnectionCreated(const QtNodes::Connection &) override; \
|
||||||
void outputConnectionDeleted(const QtNodes::Connection &) override; \
|
void outputConnectionDeleted(const QtNodes::Connection &) override; \
|
||||||
const std::shared_ptr<const CONTENT_TYPE> getData() const \
|
const std::shared_ptr<const node_data_t> getData() const \
|
||||||
{ \
|
{ \
|
||||||
return dataptr; \
|
return dataptr; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
private: \
|
private: \
|
||||||
std::shared_ptr<CONTENT_TYPE> dataptr; \
|
std::shared_ptr<node_data_t> dataptr; \
|
||||||
QvNodeWidget *widget; \
|
QvNodeWidget *widget; \
|
||||||
std::shared_ptr<NodeDispatcher> dispatcher; \
|
std::shared_ptr<NodeDispatcher> dispatcher; \
|
||||||
}
|
}
|
||||||
@ -134,6 +135,7 @@ namespace Qv2ray::ui::nodemodels
|
|||||||
DECL_NODE_DATA_MODEL(InboundNodeModel, INBOUND);
|
DECL_NODE_DATA_MODEL(InboundNodeModel, INBOUND);
|
||||||
DECL_NODE_DATA_MODEL(OutboundNodeModel, OutboundObjectMeta);
|
DECL_NODE_DATA_MODEL(OutboundNodeModel, OutboundObjectMeta);
|
||||||
DECL_NODE_DATA_MODEL(RuleNodeModel, RuleObject);
|
DECL_NODE_DATA_MODEL(RuleNodeModel, RuleObject);
|
||||||
|
DECL_NODE_DATA_MODEL(ChainOutboundNodeModel, QString);
|
||||||
|
|
||||||
} // namespace Qv2ray::ui::nodemodels
|
} // namespace Qv2ray::ui::nodemodels
|
||||||
|
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
#include "ChainOutboundNodeModel.hpp"
|
#include "ChainOutboundNodeModel.hpp"
|
||||||
|
|
||||||
ChainOutboundNodeModel::ChainOutboundNodeModel(std::shared_ptr<ChainObject>)
|
#include "ui/node/widgets/ChainOutboundWidget.hpp"
|
||||||
|
|
||||||
|
ChainOutboundNodeModel::ChainOutboundNodeModel(std::shared_ptr<NodeDispatcher> dispatcher, std::shared_ptr<node_data_t> data)
|
||||||
{
|
{
|
||||||
|
this->dispatcher = dispatcher;
|
||||||
|
widget = new ChainOutboundWidget(dispatcher);
|
||||||
|
((ChainOutboundWidget *) widget)->setValue(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChainOutboundNodeModel::setInData(std::shared_ptr<NodeData> nodeData, PortIndex port)
|
void ChainOutboundNodeModel::setInData(std::vector<std::shared_ptr<NodeData>>, PortIndex)
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChainOutboundNodeModel::setInData(std::vector<std::shared_ptr<NodeData>> nodeData, PortIndex port)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,3 +28,5 @@ void ChainOutboundNodeModel::outputConnectionCreated(const QtNodes::Connection &
|
|||||||
void ChainOutboundNodeModel::outputConnectionDeleted(const QtNodes::Connection &)
|
void ChainOutboundNodeModel::outputConnectionDeleted(const QtNodes::Connection &)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void ChainOutboundNodeModel::onNodeHoverLeave(){};
|
||||||
|
void ChainOutboundNodeModel::onNodeHoverEnter(){};
|
||||||
|
@ -1,71 +1,2 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "ui/node/NodeBase.hpp"
|
#include "ui/node/NodeBase.hpp"
|
||||||
|
|
||||||
class ChainOutboundNodeModel : public NodeDataModel
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit ChainOutboundNodeModel(std::shared_ptr<ChainObject>);
|
|
||||||
~ChainOutboundNodeModel(){};
|
|
||||||
|
|
||||||
inline QString caption() const override
|
|
||||||
{
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
inline bool captionVisible() const override
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
inline QString name() const override
|
|
||||||
{
|
|
||||||
return "ChainOutboundNodeModel";
|
|
||||||
}
|
|
||||||
ConnectionPolicy portOutConnectionPolicy(PortIndex) const override
|
|
||||||
{
|
|
||||||
return ConnectionPolicy::One;
|
|
||||||
}
|
|
||||||
ConnectionPolicy portInConnectionPolicy(PortIndex) const override
|
|
||||||
{
|
|
||||||
return ConnectionPolicy::One;
|
|
||||||
}
|
|
||||||
unsigned int nPorts(PortType) const override
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
std::shared_ptr<NodeDataType> dataType(PortType, PortIndex) const override
|
|
||||||
{
|
|
||||||
return NODE_TYPE_CHAINED_OUTBOUND;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
|
||||||
void onNodeHoverEnter() override{};
|
|
||||||
void onNodeHoverLeave() override{};
|
|
||||||
virtual void setInData(std::shared_ptr<NodeData> nodeData, PortIndex port) override;
|
|
||||||
virtual void setInData(std::vector<std::shared_ptr<NodeData>> nodeData, PortIndex port) override;
|
|
||||||
virtual std::shared_ptr<NodeData> outData(PortIndex) override
|
|
||||||
{
|
|
||||||
return std::make_shared<ChainOutboundData>(dataptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QWidget *embeddedWidget() override
|
|
||||||
{
|
|
||||||
return widget;
|
|
||||||
}
|
|
||||||
inline std::unique_ptr<NodeDataModel> clone() const override
|
|
||||||
{
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
void inputConnectionCreated(const QtNodes::Connection &) override;
|
|
||||||
void inputConnectionDeleted(const QtNodes::Connection &) override;
|
|
||||||
void outputConnectionCreated(const QtNodes::Connection &) override;
|
|
||||||
void outputConnectionDeleted(const QtNodes::Connection &) override;
|
|
||||||
const std::shared_ptr<const ChainObject> getData() const
|
|
||||||
{
|
|
||||||
return dataptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::shared_ptr<ChainObject> dataptr;
|
|
||||||
QvNodeWidget *widget;
|
|
||||||
};
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "core/CoreUtils.hpp"
|
#include "core/CoreUtils.hpp"
|
||||||
#include "ui/node/widgets/InboundOutboundWidget.hpp"
|
#include "ui/node/widgets/InboundOutboundWidget.hpp"
|
||||||
InboundNodeModel::InboundNodeModel(std::shared_ptr<NodeDispatcher> _dispatcher, std::shared_ptr<INBOUND> data) : NodeDataModel()
|
InboundNodeModel::InboundNodeModel(std::shared_ptr<NodeDispatcher> _dispatcher, std::shared_ptr<node_data_t> data) : NodeDataModel()
|
||||||
{
|
{
|
||||||
dataptr = data;
|
dataptr = data;
|
||||||
dispatcher = _dispatcher;
|
dispatcher = _dispatcher;
|
||||||
@ -18,10 +18,9 @@ void InboundNodeModel::inputConnectionDeleted(const QtNodes::Connection &){};
|
|||||||
void InboundNodeModel::outputConnectionCreated(const QtNodes::Connection &){};
|
void InboundNodeModel::outputConnectionCreated(const QtNodes::Connection &){};
|
||||||
void InboundNodeModel::outputConnectionDeleted(const QtNodes::Connection &){};
|
void InboundNodeModel::outputConnectionDeleted(const QtNodes::Connection &){};
|
||||||
void InboundNodeModel::setInData(std::vector<std::shared_ptr<NodeData>>, PortIndex){};
|
void InboundNodeModel::setInData(std::vector<std::shared_ptr<NodeData>>, PortIndex){};
|
||||||
|
void InboundNodeModel::onNodeHoverLeave(){};
|
||||||
|
|
||||||
void InboundNodeModel::onNodeHoverEnter()
|
void InboundNodeModel::onNodeHoverEnter()
|
||||||
{
|
{
|
||||||
emit dispatcher->OnInboundOutboundNodeHovered(getTag(*dataptr.get()), GetInboundInfo(*dataptr.get()));
|
emit dispatcher->OnInboundOutboundNodeHovered(getTag(*dataptr.get()), GetInboundInfo(*dataptr.get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void InboundNodeModel::onNodeHoverLeave(){};
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#include "ui/node/widgets/ChainWidget.hpp"
|
#include "ui/node/widgets/ChainWidget.hpp"
|
||||||
#include "ui/node/widgets/InboundOutboundWidget.hpp"
|
#include "ui/node/widgets/InboundOutboundWidget.hpp"
|
||||||
|
|
||||||
OutboundNodeModel::OutboundNodeModel(std::shared_ptr<NodeDispatcher> _dispatcher, std::shared_ptr<OutboundObjectMeta> data) : NodeDataModel()
|
OutboundNodeModel::OutboundNodeModel(std::shared_ptr<NodeDispatcher> _dispatcher, std::shared_ptr<node_data_t> data) : NodeDataModel()
|
||||||
{
|
{
|
||||||
dataptr = data;
|
dataptr = data;
|
||||||
dispatcher = _dispatcher;
|
dispatcher = _dispatcher;
|
||||||
@ -41,6 +41,7 @@ void OutboundNodeModel::inputConnectionDeleted(const QtNodes::Connection &){};
|
|||||||
void OutboundNodeModel::outputConnectionCreated(const QtNodes::Connection &){};
|
void OutboundNodeModel::outputConnectionCreated(const QtNodes::Connection &){};
|
||||||
void OutboundNodeModel::outputConnectionDeleted(const QtNodes::Connection &){};
|
void OutboundNodeModel::outputConnectionDeleted(const QtNodes::Connection &){};
|
||||||
void OutboundNodeModel::setInData(std::vector<std::shared_ptr<NodeData>>, PortIndex){};
|
void OutboundNodeModel::setInData(std::vector<std::shared_ptr<NodeData>>, PortIndex){};
|
||||||
|
void OutboundNodeModel::onNodeHoverLeave(){};
|
||||||
|
|
||||||
void OutboundNodeModel::onNodeHoverEnter()
|
void OutboundNodeModel::onNodeHoverEnter()
|
||||||
{
|
{
|
||||||
@ -54,5 +55,3 @@ void OutboundNodeModel::onNodeHoverEnter()
|
|||||||
emit dispatcher->OnInboundOutboundNodeHovered(dataptr->getTag(), GetConnectionInfo(dataptr->connectionId));
|
emit dispatcher->OnInboundOutboundNodeHovered(dataptr->getTag(), GetConnectionInfo(dataptr->connectionId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutboundNodeModel::onNodeHoverLeave(){};
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include "core/CoreUtils.hpp"
|
#include "core/CoreUtils.hpp"
|
||||||
#include "ui/node/widgets/RuleWidget.hpp"
|
#include "ui/node/widgets/RuleWidget.hpp"
|
||||||
|
|
||||||
RuleNodeModel::RuleNodeModel(std::shared_ptr<NodeDispatcher> _dispatcher, std::shared_ptr<RuleObject> data) : NodeDataModel()
|
RuleNodeModel::RuleNodeModel(std::shared_ptr<NodeDispatcher> _dispatcher, std::shared_ptr<node_data_t> data) : NodeDataModel()
|
||||||
{
|
{
|
||||||
dataptr = data;
|
dataptr = data;
|
||||||
dispatcher = _dispatcher;
|
dispatcher = _dispatcher;
|
||||||
|
@ -14,3 +14,8 @@ void ChainOutboundWidget::changeEvent(QEvent *e)
|
|||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ChainOutboundWidget::setValue(std::shared_ptr<QString> tag)
|
||||||
|
{
|
||||||
|
tagLabel->setText(*tag);
|
||||||
|
}
|
||||||
|
@ -11,6 +11,7 @@ class ChainOutboundWidget
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ChainOutboundWidget(std::shared_ptr<NodeDispatcher> _dispatcher, QWidget *parent = nullptr);
|
explicit ChainOutboundWidget(std::shared_ptr<NodeDispatcher> _dispatcher, QWidget *parent = nullptr);
|
||||||
|
void setValue(std::shared_ptr<QString>);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void changeEvent(QEvent *e);
|
void changeEvent(QEvent *e);
|
||||||
|
Loading…
Reference in New Issue
Block a user