void MyApp::executeAllUntilPrevious()
{
int aux1, aux2, aux3, aux4;
double auxd1, auxd2, auxd3, auxd4;
llistaAccions.removeLast();
QMutableListIterator<IdentificadorAccions> itAccions(llistaAccions);
QMutableListIterator<QColor> itColors(llistaParamsColors);
QMutableListIterator<QRect> itRects(llistaParamsRects);
QMutableListIterator<double> itDoubles(llistaParamsDoubles);
QMutableListIterator<int> itInts(llistaParamsInts);
while(itAccions.hasNext())
{
switch(itAccions.next())
{
case Rotat:
rotat(itColors.next(), itDoubles.next());
break;
case Retallat:
retallat(itRects.next());
break;
case Pintat:
pintat(itColors.next(), itRects.next());
break;
case Copiat:
if (itAccions.hasNext())
imatgeEnganxar = foto -> copiarImatge(itRects.next());
else
itAccions.remove();
break;
case Enganxat:
enganxat(itRects.next(), imatgeEnganxar);
break;
case Restaurat:
restaurat();
break;
case EscalatCm:
auxd1 = itDoubles.next();
auxd2 = itDoubles.next();
canviTamanyCm(auxd1, auxd2);
break;
case EscalatPixels:
aux1 = itInts.next();
aux2 = itInts.next();
canviTamanyPixels(aux1, aux2);
break;
case CanviatResolucioPixelsCm:
aux1 = itInts.next();
aux2 = itInts.next();
canviResolucioPixelsCm(aux1, aux2);
break;
case CanviatResolucioPixelsPolzada:
aux1 = itInts.next();
aux2 = itInts.next();
canviResolucioPixelsPolzada(aux1, aux2);
break;
case CanviatMargesCm:
auxd1 = itDoubles.next();
auxd2 = itDoubles.next();
auxd3 = itDoubles.next();
auxd4 = itDoubles.next();
canviTamanyMargesCm(itColors.next(), auxd1, auxd2, auxd3, auxd4);
break;
case CanviatMargesPixels:
aux1 = itInts.next();
aux2 = itInts.next();
aux3 = itInts.next();
aux4 = itInts.next();
canviTamanyMargesPixels(itColors.next(), aux1, aux2, aux3, aux4);
}
}
//This part is a bit "dirty" and I think that could be achieved with just one sentence...
while(itColors.hasNext())
{
itColors.next();
itColors.remove();
}
while(itRects.hasNext())
{
itRects.next();
itRects.remove();
}
while(itDoubles.hasNext())
{
itDoubles.next();
itDoubles.remove();
}
while(itInts.hasNext())
{
itInts.next();
itInts.remove();
}
}
void MyApp::executeAllUntilPrevious()
{
int aux1, aux2, aux3, aux4;
double auxd1, auxd2, auxd3, auxd4;
QImage imatgeEnganxar;
llistaAccions.removeLast();
QMutableListIterator<IdentificadorAccions> itAccions(llistaAccions);
QMutableListIterator<QColor> itColors(llistaParamsColors);
QMutableListIterator<QRect> itRects(llistaParamsRects);
QMutableListIterator<double> itDoubles(llistaParamsDoubles);
QMutableListIterator<int> itInts(llistaParamsInts);
while(itAccions.hasNext())
{
switch(itAccions.next())
{
case Rotat:
rotat(itColors.next(), itDoubles.next());
break;
case Retallat:
retallat(itRects.next());
break;
case Pintat:
pintat(itColors.next(), itRects.next());
break;
case Copiat:
if (itAccions.hasNext())
imatgeEnganxar = foto -> copiarImatge(itRects.next());
else
itAccions.remove();
break;
case Enganxat:
enganxat(itRects.next(), imatgeEnganxar);
break;
case Restaurat:
restaurat();
break;
case EscalatCm:
auxd1 = itDoubles.next();
auxd2 = itDoubles.next();
canviTamanyCm(auxd1, auxd2);
break;
case EscalatPixels:
aux1 = itInts.next();
aux2 = itInts.next();
canviTamanyPixels(aux1, aux2);
break;
case CanviatResolucioPixelsCm:
aux1 = itInts.next();
aux2 = itInts.next();
canviResolucioPixelsCm(aux1, aux2);
break;
case CanviatResolucioPixelsPolzada:
aux1 = itInts.next();
aux2 = itInts.next();
canviResolucioPixelsPolzada(aux1, aux2);
break;
case CanviatMargesCm:
auxd1 = itDoubles.next();
auxd2 = itDoubles.next();
auxd3 = itDoubles.next();
auxd4 = itDoubles.next();
canviTamanyMargesCm(itColors.next(), auxd1, auxd2, auxd3, auxd4);
break;
case CanviatMargesPixels:
aux1 = itInts.next();
aux2 = itInts.next();
aux3 = itInts.next();
aux4 = itInts.next();
canviTamanyMargesPixels(itColors.next(), aux1, aux2, aux3, aux4);
}
}
//This part is a bit "dirty" and I think that could be achieved with just one sentence...
while(itColors.hasNext())
{
itColors.next();
itColors.remove();
}
while(itRects.hasNext())
{
itRects.next();
itRects.remove();
}
while(itDoubles.hasNext())
{
itDoubles.next();
itDoubles.remove();
}
while(itInts.hasNext())
{
itInts.next();
itInts.remove();
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks