Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsfieldformatter.cpp - QgsFieldFormatter 3 : : 4 : : --------------------- 5 : : begin : 2.12.2016 6 : : copyright : (C) 2016 by Matthias Kuhn 7 : : email : matthias@opengis.ch 8 : : *************************************************************************** 9 : : * * 10 : : * This program is free software; you can redistribute it and/or modify * 11 : : * it under the terms of the GNU General Public License as published by * 12 : : * the Free Software Foundation; either version 2 of the License, or * 13 : : * (at your option) any later version. * 14 : : * * 15 : : ***************************************************************************/ 16 : : #include "qgsfieldformatter.h" 17 : : 18 : : #include "qgsfield.h" 19 : : #include "qgsfields.h" 20 : : #include "qgsvectorlayer.h" 21 : : #include "qgsvectordataprovider.h" 22 : : 23 : : 24 : 0 : QString QgsFieldFormatter::representValue( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value ) const 25 : : { 26 : 0 : Q_UNUSED( config ) 27 : 0 : Q_UNUSED( cache ) 28 : : 29 : 0 : QString defVal; 30 : 0 : if ( layer->fields().fieldOrigin( fieldIndex ) == QgsFields::OriginProvider && layer->dataProvider() ) 31 : 0 : defVal = layer->dataProvider()->defaultValueClause( layer->fields().fieldOriginIndex( fieldIndex ) ); 32 : : 33 : 0 : if ( ! layer->fields().exists( fieldIndex ) ) 34 : : { 35 : 0 : return defVal; 36 : : } 37 : : else 38 : : { 39 : 0 : return layer->fields().at( fieldIndex ).displayString( value.isNull() ? defVal : value ); 40 : : } 41 : 0 : } 42 : : 43 : 0 : QVariant QgsFieldFormatter::sortValue( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value ) const 44 : : { 45 : : Q_UNUSED( layer ) 46 : : Q_UNUSED( fieldIndex ) 47 : 0 : Q_UNUSED( config ) 48 : 0 : Q_UNUSED( cache ) 49 : : 50 : 0 : return value; 51 : : } 52 : : 53 : 0 : Qt::AlignmentFlag QgsFieldFormatter::alignmentFlag( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config ) const 54 : : { 55 : 0 : Q_UNUSED( config ) 56 : : 57 : 0 : QgsField field = layer->fields().at( fieldIndex ); 58 : 0 : if ( field.isNumeric() || field.isDateOrTime() ) 59 : 0 : return Qt::AlignRight; 60 : : else 61 : 0 : return Qt::AlignLeft; 62 : 0 : } 63 : : 64 : 0 : QVariant QgsFieldFormatter::createCache( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config ) const 65 : : { 66 : : Q_UNUSED( layer ) 67 : : Q_UNUSED( fieldIndex ) 68 : 0 : Q_UNUSED( config ) 69 : : 70 : 0 : return QVariant(); 71 : : } 72 : : 73 : 0 : QList<QgsVectorLayerRef> QgsFieldFormatter::layerDependencies( const QVariantMap &config ) const 74 : : { 75 : 0 : Q_UNUSED( config ) 76 : 0 : return QList<QgsVectorLayerRef>(); 77 : : } 78 : : 79 : 0 : QVariantList QgsFieldFormatter::availableValues( const QVariantMap &config, int countLimit, const QgsFieldFormatterContext &context ) const 80 : : { 81 : 0 : Q_UNUSED( config ) 82 : : Q_UNUSED( countLimit ) 83 : 0 : Q_UNUSED( context ) 84 : : 85 : 0 : return QVariantList(); 86 : : } 87 : : 88 : 15 : void QgsFieldFormatter::setFlags( const Flags &flags ) 89 : : { 90 : 15 : mFlags = flags; 91 : 15 : }