Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by klok ( 15 years ago )
#include "field.h"
field::field(QWidget *parent) :
QWidget(parent)
{
stage = 0;
setFixedSize (800,600);
}
void field::mousePressEvent (QMouseEvent *event)
{
if (stage == 0)
{
if ( event->button() == Qt::LeftButton )
{
for (int i=0; i<objects.size (); i++)
{
if ((objects[i]-event->posF ()).manhattanLength () < 45)
{
fixed = true;
numFixed = i;
return;
}
}
objects.append (event->posF ());
update();
}
if ( event->button() == Qt::RightButton )
{
for (int i=0; i<objects.size (); i++)
{
if ((objects[i]-event->posF ()).manhattanLength () < 43)
{
objects.remove (i);
update();
return;
}
}
}
}
else if (stage == 1)
{
}
else if (stage == 2)
{
}
else
{
}
}
void field::mouseReleaseEvent (QMouseEvent *event)
{
if ( event->button() == Qt::LeftButton )
{
fixed = false;
}
}
void field::mouseMoveEvent (QMouseEvent *event)
{
if ( fixed == true )
{
for (int i=0; i<objects.size (); i++)
{
if ((objects[i]-event->posF ()).manhattanLength () < 50)
{
return;
}
}
QPointF *newPoint = objects.data();
newPoint[numFixed]=event->posF ();
update();
}
}
void field::paintEvent (QPaintEvent*)
{
QPainter painter( this );
painter.setPen( QPen( Qt::black, 3 ) );
for (int i=0; i<objects.size (); i++)
{
painter.drawEllipse (objects[i],15,15);
}
}
Revise this Paste