{
Q_OBJECT
public slots:
void SetPositions(std::vector<std::vector<std::vector<double> > > positions);
}
void
Simulator::SetPositions(std::vector<std::vector<std::vector<double> > > positions)
{
this->Print("%d %d %d (%lf,%lf)", positions.size(), positions[0].size(), positions[0][0].size(), positions[0][0][0], positions[0][0][1]);
}
{
Q_OBJECT
signals:
void PositionsHaveChanged(std::vector<std::vector<std::vector<double> > > positions);
public slots:
void Clear2();
}
void
Display::Clear2()
{
this->Print("-> Clear2()");
std::vector<std::vector<std::vector<double> > > pos;
std::vector<double> v(2);
v[0] = v[1] = 1.0;
std::vector<std::vector<double> > p;
p.push_back(v);
pos.push_back(p);
this->Print("%d %d %d (%lf,%lf)", pos.size(), pos[0].size(), pos[0][0].size(), pos[0][0][0], pos[0][0][1]);
emit PositionsHaveChanged(pos);
this->Print("<- Clear2()");
}
void
{
this->Print("-> mousePressEvent()");
std::vector<std::vector<std::vector<double> > > pos;
std::vector<double> v(2);
v[0] = v[1] = 1.0;
std::vector<std::vector<double> > p;
p.push_back(v);
pos.push_back(p);
this->Print("%d %d %d (%lf,%lf)", pos.size(), pos[0].size(), pos[0][0].size(), pos[0][0][0], pos[0][0][1]);
emit PositionsHaveChanged(pos);
this->Print("<- mousePressEvent()");
}
Display *display = new Display();
Simulator *sim = new Simulator();
QObject::connect(display,
SIGNAL(PositionsHaveChanged
(std
::vector<std
::vector<std
::vector<double> > >
)),
sim, SLOT(SetPositions(std::vector<std::vector<std::vector<double> > >)));
QObject::connect(b,
SIGNAL(clicked
()), display,
SLOT(Clear2
()));
class Simulator : public QObject
{
Q_OBJECT
public slots:
void SetPositions(std::vector<std::vector<std::vector<double> > > positions);
}
void
Simulator::SetPositions(std::vector<std::vector<std::vector<double> > > positions)
{
this->Print("%d %d %d (%lf,%lf)", positions.size(), positions[0].size(), positions[0][0].size(), positions[0][0][0], positions[0][0][1]);
}
class Display : public QLabel
{
Q_OBJECT
signals:
void PositionsHaveChanged(std::vector<std::vector<std::vector<double> > > positions);
public slots:
void Clear2();
void mousePressEvent(QMouseEvent *);
}
void
Display::Clear2()
{
this->Print("-> Clear2()");
std::vector<std::vector<std::vector<double> > > pos;
std::vector<double> v(2);
v[0] = v[1] = 1.0;
std::vector<std::vector<double> > p;
p.push_back(v);
pos.push_back(p);
this->Print("%d %d %d (%lf,%lf)", pos.size(), pos[0].size(), pos[0][0].size(), pos[0][0][0], pos[0][0][1]);
emit PositionsHaveChanged(pos);
this->Print("<- Clear2()");
}
void
Display::mousePressEvent(QMouseEvent *e)
{
this->Print("-> mousePressEvent()");
std::vector<std::vector<std::vector<double> > > pos;
std::vector<double> v(2);
v[0] = v[1] = 1.0;
std::vector<std::vector<double> > p;
p.push_back(v);
pos.push_back(p);
this->Print("%d %d %d (%lf,%lf)", pos.size(), pos[0].size(), pos[0][0].size(), pos[0][0][0], pos[0][0][1]);
emit PositionsHaveChanged(pos);
this->Print("<- mousePressEvent()");
}
Display *display = new Display();
Simulator *sim = new Simulator();
QObject::connect(display, SIGNAL(PositionsHaveChanged(std::vector<std::vector<std::vector<double> > >)),
sim, SLOT(SetPositions(std::vector<std::vector<std::vector<double> > >)));
QPushButton *b;
b = new QPushButton(QString::fromLocal8Bit("Clear"));
QObject::connect(b, SIGNAL(clicked()), display, SLOT(Clear2()));
To copy to clipboard, switch view to plain text mode
Display: -> mousePressEvent()
Display: 1 1 2 (1.000000,1.000000)
Simulator: 1 1 2 (1.000000,1.000000)
Display: <- mousePressEvent()
Display: -> Clear2()
Display: 1 1 2 (1.000000,1.000000)
Display: <- Clear2()
Display: -> mousePressEvent()
Display: 1 1 2 (1.000000,1.000000)
Simulator: 1 1 2 (1.000000,1.000000)
Display: <- mousePressEvent()
Display: -> Clear2()
Display: 1 1 2 (1.000000,1.000000)
Display: <- Clear2()
To copy to clipboard, switch view to plain text mode
Bookmarks