27     , mEditingStarting( false )
    28     , mEditingStopping( false )
    49   else if ( mConnString != connString || mProviderKey != layer->
providerType() )
    56   connect( layer, SIGNAL( beforeEditingStarted() ), 
this, SLOT( onEditingStarted() ) );
    57   connect( layer, SIGNAL( layerDeleted() ), 
this, SLOT( onLayerDeleted() ) );
    77 void QgsTransactionGroup::onEditingStarted()
    79   if ( !mTransaction.
isNull() )
    85   mTransaction->begin( errorMsg );
    89     mTransaction->addLayer( layer );
    91     connect( layer, SIGNAL( beforeCommitChanges() ), 
this, SLOT( onCommitChanges() ) );
    92     connect( layer, SIGNAL( beforeRollBack() ), 
this, SLOT( onRollback() ) );
    96 void QgsTransactionGroup::onLayerDeleted()
    98   mLayers.
remove( qobject_cast<QgsVectorLayer*>( 
sender() ) );
   101 void QgsTransactionGroup::onCommitChanges()
   103   if ( mEditingStopping )
   106   mEditingStopping = 
true;
   111   if ( mTransaction->commit( errMsg ) )
   119     disableTransaction();
   127   mEditingStopping = 
false;
   130 void QgsTransactionGroup::onRollback()
   132   if ( mEditingStopping )
   135   mEditingStopping = 
true;
   140   if ( mTransaction->rollback( errMsg ) )
   144       if ( layer != triggeringLayer )
   147     disableTransaction();
   154   mEditingStopping = 
false;
   157 void QgsTransactionGroup::disableTransaction()
   159   mTransaction.
reset();
   163     disconnect( layer, SIGNAL( beforeCommitChanges() ), 
this, SLOT( onCommitChanges() ) );
   164     disconnect( layer, SIGNAL( beforeRollBack() ), 
this, SLOT( onRollback() ) );
 static QgsTransaction * create(const QString &connString, const QString &providerKey)
Creates a transaction for the specified connection string and provider. 
 
bool commitChanges()
Attempts to commit any changes to disk. 
 
bool startEditing()
Make layer editable. 
 
QSet< QgsVectorLayer * > layers() const
Get the set of layers currently managed by this transaction group. 
 
const_iterator insert(const T &value)
 
bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
QString providerKey() const
Return the provider key used by this transaction group. 
 
bool rollBack(bool deleteBuffer=true)
Stop editing and discard the edits. 
 
bool addLayer(QgsVectorLayer *layer)
Add a layer to this transaction group. 
 
static bool supportsTransaction(const QgsVectorLayer *layer)
Checks if a the provider of a give layer supports transactions. 
 
Class for storing the component parts of a PostgreSQL/RDBMS datasource URI. 
 
QgsTransactionGroup(QObject *parent=0)
 
bool remove(const T &value)
 
QString source() const
Returns the source for the layer. 
 
virtual bool isModified() const
Returns true if the provider has been modified since the last commit. 
 
bool isEmpty() const
Returns true if there are no layers in this transaction group. 
 
void commitError(const QString &msg)
Will be emitted whenever there is a commit error. 
 
QString providerType() const
Return the provider type for this layer. 
 
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
Represents a vector layer which manages a vector based data sets. 
 
QString connString() const
Return the connection string used by this transaction group. 
 
bool modified() const
Returns true if any of the layers in this group reports a modification.