//____________________________________________________________ void Transitions::registerWidget( QWidget* widget ) const { if( !widget ) return; if( QLabel* label = qobject_cast<QLabel*>( widget ) ) { // do not animate labels from tooltips if( widget->window() && widget->window()->windowFlags().testFlag( Qt::ToolTip ) ) return; else if( widget->window() && widget->window()->inherits( "KWin::GeometryTip" ) ) return; else labelEngine().registerWidget( label ); } else if( QComboBox* comboBox = qobject_cast<QComboBox*>( widget ) ) { comboBoxEngine().registerWidget( comboBox ); } else if( QLineEdit* lineEdit = qobject_cast<QLineEdit*>( widget ) ) { lineEditEngine().registerWidget( lineEdit ); } else if( QStackedWidget* stack = qobject_cast<QStackedWidget*>( widget ) ) { stackedWidgetEngine().registerWidget( stack ); } }
//________________________________________________________-- void Transitions::setupEngines( void ) { // default enability, duration and maxFrame bool animationsEnabled( MgStyleConfigData::animationsEnabled ); // enability comboBoxEngine().setEnabled( animationsEnabled && MgStyleConfigData::comboBoxTransitionsEnabled ); labelEngine().setEnabled( animationsEnabled && MgStyleConfigData::labelTransitionsEnabled ); lineEditEngine().setEnabled( animationsEnabled && MgStyleConfigData::lineEditTransitionsEnabled ); stackedWidgetEngine().setEnabled( animationsEnabled && MgStyleConfigData::stackedWidgetTransitionsEnabled ); // durations comboBoxEngine().setDuration( MgStyleConfigData::comboBoxTransitionsDuration ); labelEngine().setDuration( MgStyleConfigData::labelTransitionsDuration ); lineEditEngine().setDuration( MgStyleConfigData::lineEditTransitionsDuration ); stackedWidgetEngine().setDuration( MgStyleConfigData::stackedWidgetTransitionsDuration ); }
void QgsDxfExport::writeEntities() { startSection(); writeGroup( 2, "ENTITIES" ); //label engine QgsDxfPalLabeling labelEngine( this, mExtent.isEmpty() ? dxfExtent() : mExtent, mSymbologyScaleDenominator, mMapUnits ); QgsRenderContext& ctx = labelEngine.renderContext(); //iterate through the maplayers QList< QgsMapLayer* >::iterator layerIt = mLayers.begin(); for ( ; layerIt != mLayers.end(); ++layerIt ) { QgsVectorLayer* vl = qobject_cast<QgsVectorLayer*>( *layerIt ); if ( !vl || !layerIsScaleBasedVisible( vl ) ) { continue; } QgsSymbolV2RenderContext sctx( ctx, QgsSymbolV2::MM , 1.0, false, 0, 0 ); QgsFeatureRendererV2* renderer = vl->rendererV2(); renderer->startRender( ctx, vl->pendingFields() ); QStringList attributes = renderer->usedAttributes(); bool labelLayer = ( labelEngine.prepareLayer( vl, attributes, ctx ) != 0 ); if ( mSymbologyExport == QgsDxfExport::SymbolLayerSymbology && ( renderer->capabilities() & QgsFeatureRendererV2::SymbolLevels ) && renderer->usingSymbolLevels() ) { writeEntitiesSymbolLevels( vl ); renderer->stopRender( ctx ); continue; } QgsFeatureRequest freq = QgsFeatureRequest().setSubsetOfAttributes( attributes, vl->pendingFields() ); if ( !mExtent.isEmpty() ) { freq.setFilterRect( mExtent ); } QgsFeatureIterator featureIt = vl->getFeatures( freq ); QgsFeature fet; while ( featureIt.nextFeature( fet ) ) { sctx.setFeature( &fet ); if ( mSymbologyExport == NoSymbology ) { addFeature( sctx, dxfLayerName( vl->name() ), 0, 0 ); //no symbology at all } else { if ( !renderer ) { continue; } QgsSymbolV2List symbolList = renderer->symbolsForFeature( fet ); if ( symbolList.size() < 1 ) { continue; } if ( mSymbologyExport == QgsDxfExport::SymbolLayerSymbology ) //symbol layer symbology, but layer does not use symbol levels { QgsSymbolV2List::iterator symbolIt = symbolList.begin(); for ( ; symbolIt != symbolList.end(); ++symbolIt ) { int nSymbolLayers = ( *symbolIt )->symbolLayerCount(); for ( int i = 0; i < nSymbolLayers; ++i ) { addFeature( sctx, dxfLayerName( vl->name() ), ( *symbolIt )->symbolLayer( i ), *symbolIt ); } } } else { //take first symbollayer from first symbol QgsSymbolV2* s = symbolList.first(); if ( !s || s->symbolLayerCount() < 1 ) { continue; } addFeature( sctx, dxfLayerName( vl->name() ), s->symbolLayer( 0 ), s ); } if ( labelLayer ) { labelEngine.registerFeature( vl->id(), fet, ctx ); } } } renderer->stopRender( ctx ); } labelEngine.drawLabeling( ctx ); endSection(); }