akiraux / Akira

Native Linux App for UI and UX Design built in Vala and GTK
GNU General Public License v3.0
5.25k stars 202 forks source link

Component refactor #587

Closed mbfraga closed 3 years ago

mbfraga commented 3 years ago

Summary / How this PR fixes the problem?

Large refactor meant to separate view / model.

An architecture for a model was built up.

Some details:

  1. Goo.Canvas items are composed to the model items.
  2. Components are meant to be largely immutable. When values are changed, the component should be replaced. This guarantess that the history of an item is kept.
  3. I'll think of more...

Steps to Test

When disabled, make sure everything in Akira works correctly. Then enable the new components.

To enable: set Window.vala 's use_new_component to true and rebuild.

Known Issues / Things To Do

WIP, a lot of things to do.

mbfraga commented 3 years ago

No longer relevant.