Wires now move when the component is dragged
This commit is contained in:
parent
78da43f51d
commit
6ca89f0995
4 changed files with 54 additions and 11 deletions
|
@ -6,17 +6,27 @@ namespace Ui {
|
|||
class Component;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
QLine* line;
|
||||
enum class eType {
|
||||
SOURCE,
|
||||
TARGET
|
||||
} type;
|
||||
} Wire;
|
||||
|
||||
class Component : public QFrame
|
||||
{
|
||||
public:
|
||||
explicit Component(QWidget* parent);
|
||||
explicit Component(QWidget* parent, const QString& resource);
|
||||
~Component();
|
||||
|
||||
virtual void mouseMoveEvent(QMouseEvent* event) override;
|
||||
|
||||
QPoint CenterPos();
|
||||
void Connect(Component* component);
|
||||
void Connect(Component* component, QLine* wire);
|
||||
const QString& Type();
|
||||
void UpdateWires();
|
||||
|
||||
virtual bool Action() = 0;
|
||||
|
||||
|
@ -26,4 +36,5 @@ protected:
|
|||
|
||||
QString type;
|
||||
std::vector<Component*> connections;
|
||||
std::vector<Wire*> wires;
|
||||
};
|
|
@ -50,5 +50,5 @@ private:
|
|||
} componentType;
|
||||
|
||||
std::vector<Component*> components;
|
||||
std::vector<QLine> wires;
|
||||
std::vector<QLine*> wires;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue