void RealPaintWidget::setFromUndo(QObject* undo) { UndoStructure* properties = UNDO(undo); fixedSize = properties->fixedSize; size = properties->size; for(int i=0; i<layers.size(); i++) delete layers[i]; layers.clear(); //QMessageBox::warning(this,"Trace2",QString::number(properties->layers.size())); for(int i=0; i<properties->layers.size(); i++) layers.append(properties->layers[i]->copyLayer()); //delete background; //background = properties->background; currentLayer = properties->currentLayer; currentFrame = properties->currentFrame; inKeyPressedHandler = properties->inKeyPressedHandler; inSelectionMode = properties->inSelectionMode; selectionRect = properties->selectionRect; selection.reset(); emit figureSelected(0,-1); update(); emit undoEvents(); }
PaintWidget::PaintWidget( QWidget *parent, plugin::PluginsManager *manager): PaintWidgetInterface(parent), painter(manager, this) { setMouseTracking(true); scaleVal = 1; isCreatedPWE = false; setWidget( &painter ); setAlignment( Qt::AlignCenter ); setViewportColor( QColor( 100, 100, 100 ) ); manager->addPlugins(this, "PaintWidget"); connect( &painter, SIGNAL( objectCreated() ), this, SIGNAL( objectCreated() ) ); connect( &painter, SIGNAL( frameChanged( qreal ) ), this, SIGNAL( frameChanged( qreal ) ) ); connect( &painter, SIGNAL( undoEvents() ), this, SIGNAL( undoEvents() ) ); connect( &painter, SIGNAL( isFrame( bool) ), this, SIGNAL( isFrame(bool) ) ); connect( &painter, SIGNAL( figureSelected( int, int ) ), this, SIGNAL( figureSelected( int, int ) ) ); connect( &painter, SIGNAL( paintEvent(QPoint) ), this, SLOT( RPW_paintEvent(QPoint) ) ); }