3
package SqlQueryModelHelp;
10
use QtTest4 qw( QVERIFY );
12
use QtCore4::isa qw(Qt::Object);
14
testEditability => [],
21
my ($class, $parent) = @_;
26
my $model = this->{model};
27
my $view = this->{view};
29
foreach my $index ( $model->index( 1, 1 ), $model->index( 1, 2 ) ) {
32
my $col = $index->column();
34
$curText = 'Christine';
42
is( $model->data( $index, Qt::DisplayRole() )->value(), $curText );
43
my $itemRect = $view->visualRect( $index );
44
Qt::Test::mouseClick( $view->viewport(), Qt::LeftButton(), Qt::NoModifier(), $itemRect->center() );
45
Qt::Test::mouseDClick( $view->viewport(), Qt::LeftButton(), Qt::NoModifier(), $itemRect->center() );
46
my $delegate = ($view->findChildren( 'Qt::LineEdit' ))[0]->[0];
47
Qt::Test::keyClicks( $delegate, $text );
49
Qt::Test::keyClick( $delegate, Qt::Key_Enter() );
52
is( $model->data( $index, Qt::DisplayRole() )->value(), $text );
59
$model->setQuery('select * from person');
60
$model->setHeaderData(0, Qt::Horizontal(), Qt::Variant(Qt::String(Qt::Object::tr('ID'))));
61
$model->setHeaderData(1, Qt::Horizontal(), Qt::Variant(Qt::String(Qt::Object::tr('First name'))));
62
$model->setHeaderData(2, Qt::Horizontal(), Qt::Variant(Qt::String(Qt::Object::tr('Last name'))));
66
Connection::createConnection();
68
my $editableModel = EditableSqlModel();
69
initializeModel($editableModel);
71
my $view = Qt::TableView();
72
$view->setModel($editableModel);
73
$view->setWindowTitle( Qt::Object::tr('Editable Query Model') );
76
Qt::Test::qWaitForWindowShown( $view );
78
this->{model} = $editableModel;
80
pass( 'Window shown' );
90
use QtTest4 qw(QTEST_MAIN);
91
use Test::More tests => 5;
92
use SqlQueryModelHelp;
94
exit QTEST_MAIN('SqlQueryModelHelp');