int state = _view->getState();
//Evaluate new state
- if(!_model->hasChanged() && state == DRAG)
+ if( state == DRAG)
{
moveObject(X,Y);
- _model->setChanged();
}
- if(!_model->hasChanged() && state == NOTHING_HAPPENS)
+ if( state == NOTHING_HAPPENS)
{
if(_view->isPointInside(X,Y))
{
- _view->setState(HIGHLIGHTED);
- _model->setChanged();
+ _view->setState(HIGHLIGHTED);
}
}
- if(!_model->hasChanged() && state==HIGHLIGHTED)
+ if( state==HIGHLIGHTED)
{
if(!_view->isPointInside(X,Y))
{
_view->setState(NOTHING_HAPPENS);
- _model->setChanged();
}
}
{
_view->isStartDragging(true);
_model->setState(DRAG);
- _model->setChanged();
}
if( !_model->hasChanged() && state == SELECTED)
{
_view->isStartDragging(true);
_model->setState(DRAG);
- _model->setChanged();
}
}
if(!_model->hasChanged() && state==CLICKED)
{
_model->setState(SELECTED);
- _model->setChanged();
}
if( !_model->hasChanged() && state == DRAG)
{
_model->setState(SELECTED);
- _model->setChanged();
}
_model->notifyObservers();
int state = _view->getState();
//Evaluate new state
- if( !_model->hasChanged() && state == SELECTED)
+ if( state == SELECTED)
{
_view->setState(NOTHING_HAPPENS);
- _model->setChanged();
}
_model->notifyObservers(_id);