Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.09 KB

README.md

File metadata and controls

18 lines (14 loc) · 1.09 KB

Experimenting an AdaUI framework

Exploring how to implement in Ada the View-Model paradigm like the Apple’s SwiftUI Windowing system.

Features

  • Views supports a declarative approach of its content, and are not driven by outside clients or programs
  • Each View owns his data structure representing the state of that view
  • The view changes it’s appearance or the data displayed through a change in data of the state object
  • Updating data in the State object will trigger the update of the View
  • The Business Model Unit - or main program - only communicates with the View through the state object.

Implementation Notes

  • Views are first-class task objects
  • State data is accessible through a protected object
  • State Data definition is declared in a specific unit
  • Updating data in the State object will call the registered callback procedure linked to the update entry in the View task object
  • In order to communicate with a protected object, The Business Model Unit - or main program - has to be a task object.