François Rappaz
and 1 contributors


Gtk2::Ex::DbLinker::AbForm - Common methods for Gtk2::Ex::DbLinker::Form and Wx::Perl::DbLinker::Wxform


See Gtk2::Ex::DbLinker::Form and Wx::Perl::DbLinker::Wxform. The methods in this module are not supposed to be called directly. But they are commented here.

set_data_manager( $dman )

Replaces the current data manager with the one receives. The columns should not changed, but this method can be use to change the join clause.

add_childform( $childform )

You may add any dependant form or datasheet object with this call if you want that a changed in this subform/datasheet be applied when the apply method of this form is called.

Methods applied to a row of data


Create an empty rows at position 0 in the record_count_label.


Revert the row to the original state in displaying the values fetch from the database.

                $self->{rec_spinner}->signal_handler_block( $self->{rs_value_changed_signal} );
                $self->{rec_spinner}->set_value($self->{pos} + 1);
                #$self->{rec_spinner}->SetValue($self->{pos} + 1);
                $self->{rec_spinner}->signal_handler_unblock( $self->{rs_value_changed_signal} );


Marks the current row to be deleted. The delele itself will be done on apply.


return true if the data exposed in the current row has been modified. If autoaply=>1 has been pass to the constructor, return true if any child form has been modified.

apply( [fieldname1, fieldname2 ...] )

Save a new row, save changes on an existing row, or delete the row(s) marked for deletion.

When inserting a new row, you can pass an array ref of fieldnames that will not be saved to the database. This is usefull to exclude composed primary keys from being saved when this has been done by saving these values directly with the DbiDM or SqlADM with dman-save({pk1=> value1, pk2=> value2});>. To populate the datamanager with the new data (and to have the new data correctly diplayed in the form), calls query on the Datamanager and then update on the Form. Without that you may well see the old values diplayed again despite that the database have been updated.

Moving between rows



Reflect in the user interface the changes made after the data manager has been queried, or on the form creation


Returns the data manager to be queried


Any Gk2::Ex::DbLinker questions or problems can be posted to me (rappazf) on my gmail account.

The current state of the source can be extract using Mercurial from


François Rappaz <>


Copyright (c) 2014 by F. Rappaz. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Gtk2::Ex::DbLinker Wx::Perl::DbLinker.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 42:

'=item' outside of any '=over'

Around line 175:

You forgot a '=back' before '=head2'