Nat! bio photo

Nat!

Senior Mull

Twitter Github Twitch

MulleEOInterface 1.0 Releasenotes

The number of changes are just sickening :) I tried to keep the GNUMakefile in sync, but maybe I failed doing so.

Version 1.0

  1. EOPickTextAssociation uses case insensitive like as a fall back default.
  2. EOTextAssociation clears the display object on connection, which appears to be historically correct.
  3. EOPopUpBoxAssociations and EOComboboxAssociations sort their contents automatically . This is a feature that will likely be undone or modified in 2.0. But for now it's historically correct apparently.
  4. NSPopUpBox hate, hate, hate. I have changed EOAssociation PopUpBox support and subsequently EOPopUpBoxAssociation to now use a helper data structure. All this because NSPopUpBox has an incredibly stupid API.
  5. Changed updateDisplayedObjects to always clear indexes if objects did change.
  6. EOTextAssociation updates now more agressively. This can be turned off, which I would suggest to do, if the text edited is large.
  7. EOColumnAssociation and EOAssociation are now binary compatible (again) with the original classes.
  8. Added an intermediate class EODisplayGroupAssociation. This class receives the EODisplayGroupShutdownNotification and nils out the internal reference, which is necessary to avoid spurious crashes.
  9. Again fiddled around with action: for the NSTextField special case.
  10. EOMasterDetailAssociation creates EODetailDataSources if missing from the EODisplayGroup, which is more compatible.
  11. EODisplayGroup forces selectionChanged: message, even if the delegate doesn't want the selection. This way the UI and the DG stay in sync.
  12. Optimistic Refresh now serializes compatibly with original EOF. You need to recheck your NIBs for this.
  13. Renamed displayGroup:shouldRedisplayForChangesInEditingContext: to displayGroup:shouldRedisplayForChangesInEditingContextNotification:, which is correct.
  14. Added an intermediate class EOColumnAssociationProxy. This class notices when the NSTableColumn goes away and breaks the connection on its EOColumnAssociation and nils out the object reference. For compatibility this proxy forwards most messages to it's EOColumnAssociation. EOTableViewAssociation is now agnostic of the tricks EOColumnAssociation plays with NSTableColumn. Class methods +[EOColumnAssociation columnAssociationsForTableView:] and +[EOColumnAssociation *columnAssociationForTableColumn:] are used.
  15. forces initial sync with EODisplayGroup on establishConnection
  16. EOGenericControl initializes "lastValue" correctly in establishConnection.
  17. Coded EORadioMatrixAssociation.
  18. Started coding EOMatrixAssociation but gave up because of sudden NSMatrix hate. The damn thing grows upwards!
  19. EODisplayGroup now respects selectsFirstObjectAfterFetch a bit more than before.
  20. Coded something more useful for EOMasterPeerAssociation, though it hasn't been tested at all.
  21. Conveniently added -[EOFault isFault] check in setObjectsArray: speeds up EODisplayGroup in real life dramatically.
  22. Contrary to specification "object" is now retained during the established phase of the Association, with some notable exceptions being the EODisplayGroupAssociations and EOColumnAssociation.
  23. In QueryMode ValueForKey operations use valueForKey instead of valueForKeyPath