WIP: Object Inspector

Closed Maciej Sumiński requested to merge orsonmmz/kicad:properties into master
  • Check if there are more properties that could be added

  • Test Windows build

  • Test macOS build

  • Decide how to handle improper value changes which are normally validated in dialogs code

This one is a bit tricky. I have added some basic checks, so that the user cannot e.g. set width to a negative value or place an object on an non-existing layer, but there are more things to verify (e.g. via diameter > via drill).

One idea that I have is to move the data validation code to setters, so that an exception is thrown when the user tries to do something wrong. It also has a positive side-effect because Python scripts will receive the same exceptions. The main drawback is that set method has to be executed to validate data, making roll-backs slightly more complicated. Perhaps dialogs could edit a copy instead of the original object and transfer the data once everything is valid?