Example #1
0
void TestQgsFields::isEmpty()
{
    QgsFields fields;
    QVERIFY( fields.isEmpty() );

    QgsField field( "testfield" );
    fields.append( field );
    QVERIFY( !fields.isEmpty() );
}
Example #2
0
QgsFeatureList QgsClipboard::copyOf( const QgsFields &fields )
{
    QgsDebugMsg( "returning clipboard." );
    if ( !mUseSystemClipboard )
        return mFeatureClipboard;

    QClipboard *cb = QApplication::clipboard();

#ifndef Q_OS_WIN
    QString text = cb->text( QClipboard::Selection );
#else
    QString text = cb->text( QClipboard::Clipboard );
#endif

    QStringList values = text.split( "\n" );
    if ( values.isEmpty() || text.isEmpty() )
        return mFeatureClipboard;

    QgsFeatureList features;
    foreach ( QString row, values )
    {
        // Assume that it's just WKT for now.
        QgsGeometry* geometry = QgsGeometry::fromWkt( row );
        if ( !geometry )
            continue;

        QgsFeature* feature = new QgsFeature();
        if ( !fields.isEmpty() )
            feature->setFields( &fields, true );

        feature->setGeometry( geometry );
        features.append( QgsFeature( *feature ) );
    }
Example #3
0
QgsFeatureList QgsClipboard::stringToFeatureList( const QString &string, const QgsFields &fields ) const
{
  //first try using OGR to read string
  QgsFeatureList features = QgsOgrUtils::stringToFeatureList( string, fields, QTextCodec::codecForName( "System" ) );

  if ( !features.isEmpty() )
    return features;

  // otherwise try to read in as WKT
  QStringList values = string.split( '\n' );
  if ( values.isEmpty() || string.isEmpty() )
    return features;

  Q_FOREACH ( const QString &row, values )
  {
    // Assume that it's just WKT for now.
    QgsGeometry geometry = QgsGeometry::fromWkt( row );
    if ( geometry.isNull() )
      continue;

    QgsFeature feature;
    if ( !fields.isEmpty() )
      feature.setFields( fields, true );

    feature.setGeometry( geometry );
    features.append( feature );
  }
void QgsVectorFieldSymbolLayer::startRender( QgsSymbolRenderContext& context )
{
  if ( mLineSymbol )
  {
    mLineSymbol->startRender( context.renderContext(), context.fields() );
  }

  QgsFields fields = context.fields();
  if ( !fields.isEmpty() )
  {
    mXIndex = fields.lookupField( mXAttribute );
    mYIndex = fields.lookupField( mYAttribute );
  }
  else
  {
    mXIndex = -1;
    mYIndex = -1;
  }
}