Norbert,
The standard image is using Spec in many places and there are examples (although pretty basic IMO).
If you want to perform validation you can check a project I am working on, it's called "Query Builder"
http://www.smalltalkhub.com/#!/~hernan/QueryBuilder but you may want to have it as last resource because it lacks tests and examples, although I have been using it for a while without problems.
For the events you can check (at least in Pharo 3.0) :
ProtocolViewer new openWithSpec
For a basic form layout in rows you could start from a DynamicComposableModel and then grow from there by specializing required Spec methods in a ComposableModel (#defaultSpec, #initializeWidgets, #title, #extent, etc):
" Configure the Spec models "
view := DynamicComposableModel new
�������������� instantiateModels: #(labelA LabelModel textA TextInputFieldModel labelB LabelModel textB TextInputFieldModel);
�������������� extent: 500@200;
�������������� title: 'Title'
�������������� yourself.
" Configure the Spec layout "
layout := SpecLayout composed
������ ������ newColumn: [ : r | r
������ ������ ������ ������ add: #labelA; add: #textA;
������ ������ ������ ������ add: #labelB; add: #textB ];
�������������� yourself.
" Set up the widgets "
view labelA text: 'A'.
view labelB text: 'B'.
" Open the Window "
(view openDialogWithSpecLayout: layout)
�������������� centered;
�������������� modalRelativeTo: World.
Cheers,
Hern��n