I have a problem with the Composition Editor. Some time ago, I created a dialog window which is now working properly.
Now it happens I need to do some changes to the layout and add some functionality.
The problem is, when I try to open the Composition Editor for the corresponding class/part it shows only an empty window with default size and with no controls at all.
The abtBuildInternals method is present, the window works very well in runtime, but the editor just doesn't show anything.
The code goes like this:
- Code: Select all
abtBuildInternals
"** Do not modify or delete ** See: AbtAppBldrPart class>>#about_abtBuildInternals"
| gui window btnUnassign btnAssign groupBox1 assignmentItems groupBox2 btnUpdate pushButton1
pushButton2 pushButton3 pushButton4 groupMidasItems midasItems groupMT950Items mt950Items groupBox5
txtNostroMirror label5 txtNostro label6 txtPostingDate label7 txtCurrency label4 label9
txtMT950Balance label8 txtMidasBalance btnAssignmentDetails conn0 conn2 conn6 conn17 conn7 conn8
conn16 conn27 conn18 conn9 conn10 conn11 |
gui := self class abtSeparatedConstants.
window := AbtShellView abtCreatePart: 'Window' parent: nil owner: self .
btnUnassign := AbtPushButtonView abtCreatePart: 'btnUnassign' parent: window.
btnAssign := AbtPushButtonView abtCreatePart: 'btnAssign' parent: window.
groupBox1 := AbtGroupBoxView abtCreatePart: 'Group Box1' parent: window.
assignmentItems := PtsSortableDetailsView abtCreatePart: 'assignment_items' parent: groupBox1.
groupBox2 := AbtGroupBoxView abtCreatePart: 'Group Box2' parent: window.
btnUpdate := AbtPushButtonView abtCreatePart: 'btnUpdate' parent: groupBox2.
pushButton1 := AbtPushButtonView abtCreatePart: 'Push Button1' parent: groupBox2.
pushButton2 := AbtPushButtonView abtCreatePart: 'Push Button2' parent: groupBox2.
pushButton3 := AbtPushButtonView abtCreatePart: 'Push Button3' parent: groupBox2.
pushButton4 := AbtPushButtonView abtCreatePart: 'Push Button4' parent: groupBox2.
groupMidasItems := AbtGroupBoxView abtCreatePart: 'groupMidasItems' parent: window.
midasItems := PtsSortableDetailsView abtCreatePart: 'midas_items' parent: groupMidasItems.
groupMT950Items := AbtGroupBoxView abtCreatePart: 'groupMT950Items' parent: window.
mt950Items := PtsSortableDetailsView abtCreatePart: 'mt950_items' parent: groupMT950Items.
groupBox5 := AbtGroupBoxView abtCreatePart: 'Group Box5' parent: window.
txtNostroMirror := AbtTextView abtCreatePart: 'txtNostroMirror' parent: groupBox5.
label5 := AbtLabelView abtCreatePart: 'Label5' parent: groupBox5.
txtNostro := AbtTextView abtCreatePart: 'txtNostro' parent: groupBox5.
label6 := AbtLabelView abtCreatePart: 'Label6' parent: groupBox5.
txtPostingDate := AbtTextView abtCreatePart: 'txtPostingDate' parent: groupBox5.
label7 := AbtLabelView abtCreatePart: 'Label7' parent: groupBox5.
txtCurrency := AbtTextView abtCreatePart: 'txtCurrency' parent: groupBox5.
label4 := AbtLabelView abtCreatePart: 'Label4' parent: groupBox5.
label9 := AbtLabelView abtCreatePart: 'Label9' parent: groupBox5.
txtMT950Balance := AbtTextView abtCreatePart: 'txtMT950Balance' parent: groupBox5.
label8 := AbtLabelView abtCreatePart: 'Label8' parent: groupBox5.
txtMidasBalance := AbtTextView abtCreatePart: 'txtMidasBalance' parent: groupBox5.
btnAssignmentDetails := AbtPushButtonView abtCreatePart: 'btnAssignmentDetails' parent: window.
self
primaryPart: window.
window
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtEdgeConstant new offset: 65);
rightEdge: (AbtEdgeConstant new offset: 857);
topEdge: (AbtEdgeConstant new offset: 45);
bottomEdge: (AbtEdgeConstant new offset: 708));
title: (gui at: 1) " 'Saldoabstimmung' " .
btnUnassign
object: (gui at: 2) " 'Verbindung löschen' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 445);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 140);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHOPPOSITEFORM; offset: -348);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 26));
enabled: false.
btnAssign
object: (gui at: 3) " 'Verbinden' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 291);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 139);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHOPPOSITEFORM; offset: -348);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 26));
enabled: false;
foregroundColor: 'green';
backgroundColor: nil.
groupBox1
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 7);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHOPPOSITEFORM; offset: -318);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 265));
label: (gui at: 4) " 'Verbindete Einträge' " .
assignmentItems
selectableColumns: true;
selectionPolicy: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 0);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 4));
editable: false;
separatorsToExtremes: true.
groupBox2
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 7);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHOPPOSITEFORM; offset: -48);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 40));
label: (gui at: 5) " '' " .
btnUpdate
object: (gui at: 6) " 'Aktualisieren' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHOPPOSITEFORM; offset: -159);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 150);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 26)).
pushButton1
object: (gui at: 7) " 'Alles drucken' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 155);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 150);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE));
foregroundColor: nil.
pushButton2
object: (gui at: 8) " 'Unverbindete drucken' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 315);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 150);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE)).
pushButton3
object: (gui at: 9) " 'Ende' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 90);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE)).
pushButton4
object: (gui at: 10) " 'Verbindete drucken' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 475);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 145);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHNONE)).
groupMidasItems
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 425);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 80);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 358));
foregroundColor: nil;
label: (gui at: 11) " 'Midas Einträge' " .
midasItems
autoTab: true;
selectableColumns: true;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 1);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9));
editable: false.
groupMT950Items
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 445);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 7);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 80);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 358));
label: (gui at: 12) " 'MT950 Einträge' " .
mt950Items
selectableColumns: true;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 1);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 9));
editable: false.
groupBox5
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 7);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 65));
label: (gui at: 13) " '' " .
txtNostroMirror
alignment: 0;
autoSelect: true;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 110);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 220);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 22));
editable: false.
label5
object: (gui at: 14) " 'Nostro:' " ;
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 51);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 30);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)).
txtNostro
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 110);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 220);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 30);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 22));
editable: false.
label6
object: (gui at: 15) " 'Buchungstag:' " ;
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 635);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 93);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)).
txtPostingDate
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 740);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 90);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 22));
editable: false.
label7
object: (gui at: 16) " 'Währung:' " ;
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 635);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 67);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 30);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)).
txtCurrency
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 740);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 90);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 30);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 22));
editable: false.
label4
object: (gui at: 17) " 'Nostrospiegel:' " ;
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 99);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)).
label9
object: (gui at: 18) " 'MT950 Saldo:' " ;
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 355);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 93);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 30);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20)).
txtMT950Balance
alignment: 2;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 456);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 149);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 30);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 22));
editable: false.
label8
object: (gui at: 19) " 'Midas Saldo:' " ;
alignment: 0;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 355);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 89);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 20));
foregroundColor: nil.
txtMidasBalance
alignment: 2;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 456);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 149);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 5);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 22));
editable: false.
btnAssignmentDetails
object: (gui at: 20) " 'Verbindung Detaile' " ;
framingSpec: (AbtViewAttachmentConstraint new
leftEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHFORM; offset: 595);
rightEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 160);
topEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHOPPOSITEFORM; offset: -348);
bottomEdge: (AbtRunEdgeAttachmentConstraint new attachment: XmATTACHSELFOPPOSITE; offset: 26));
enabled: false.
btnUpdate
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #update;
arguments: #()).
btnAssign
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #createAssignmentForSelection;
arguments: #()).
pushButton3
abtWhenPrimitive: #clicked
perform:
(conn6 := AbtEventToActionConnection new
source: pushButton3;
eventName: #clicked;
actionProvider: self
variableFeatureName: #closeWidget
featureSelector: #IS_closeWidget).
btnUnassign
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #removeAssignmentForSelection;
arguments: #()).
pushButton1
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #printAll;
arguments: #()).
btnAssignmentDetails
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #assignmentDetailsForSelection;
arguments: #()).
midasItems
abtWhenPrimitive: #selectedItemsChanged
perform:
(DirectedMessage new
receiver: self;
selector: #enableDisableButtons;
arguments: #()).
mt950Items
abtWhenPrimitive: #selectedItemsChanged
perform:
(DirectedMessage new
receiver: self;
selector: #enableDisableButtons;
arguments: #()).
assignmentItems
abtWhenPrimitive: #selectedItemsChanged
perform:
(DirectedMessage new
receiver: self;
selector: #enableDisableButtons;
arguments: #()).
assignmentItems
abtWhenPrimitive: #defaultActionRequested
perform:
(DirectedMessage new
receiver: self;
selector: #assignmentDetailsForSelection;
arguments: #()).
pushButton4
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #printAssignedOnly;
arguments: #()).
pushButton2
abtWhenPrimitive: #clicked
perform:
(DirectedMessage new
receiver: self;
selector: #printUnassignedOnly;
arguments: #()).
self finalInitialize.
I know the Composition Editor worked for some time in the past. But today I am unable to edit the window.
I learned there are two types of representations of the window layout - one is the method abtBuildInternals and the second is some kind of cached information which the composition editors seems to be using but not finding.
Any help is appreciated!
Thank you very much for any ideas!