示例#1
0
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();
}
示例#2
0
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) ) );
}