Verbesserung
Top-Thema
Wichtig
Kleinigkeit
Wichtig
Der RowObjectRemover ist ein Algorithmus der eine Zeile entfernt. Es gibt eine Ableitung ExtendedRowObjectRemover die überprüft ob eine Zeile entfernt werden kann oder nicht. Der RowObjectCreator ist ein Algorithmus der eine Zeile hinzufügt. Es gibt eine Ableitung ExtendedRowObjectCreator die überprüft ob eine Zeile hinzugefügt werden kann oder nicht.
Verbesserung
Es soll keine verschiedenen Interfaces geben; der RowObjectRemover soll testen ob eine Zeile entfernt werden kann und bei negativem Ergebnis einen ResKey liefern. Gleiches für den RowObjectCreator.
Code-Migration
Implementierungen von ExtendedRowObjectCreator und ExtendedRowObjectRemover umstellen auf RowObjectCreator und RowObjectRemover.
Anstatt allowCreateNewRow(int, Object, Control) muss nun allowCreateNewRow(int, TableData, Control) implementiert werden. Anstatt allowRemoveRow(int, Object, Control) muss nun allowRemoveRow(int, TableData, Control) implementiert werden.
Man beachte, dass jetzt nicht mehr das Zeilenobjekt sondern das TableData übergeben wird. Das Zeilen-Objekt kann über tableData.getTableModel().getRowObject(row) geholt werden.
Der Rückgabewert ist laut Doku anzupassen: null wenn Erstellen bzw. Entfernen erlaubt ist, ein passender ResKey wenn nicht.
Test
Wird von #24540 in TestCompositeAttribute.script.xml benutzt.