Widgets currently have their position including width/height stored as top, left, bottom, right, it should be instead x, y, width, height as it otherwise is problematic to assign width to a widget when the position is not yet known.
There is a lot of code using those so that will be quite the task to do, it might help to turn left, right etc into getters so some things can be refactored with some regex magic not having to change everything, it will still affect a lot of lines but avoids having to rewrite the code.
Widgets currently have their position including width/height stored as top, left, bottom, right, it should be instead x, y, width, height as it otherwise is problematic to assign width to a widget when the position is not yet known.
There is a lot of code using those so that will be quite the task to do, it might help to turn left, right etc into getters so some things can be refactored with some regex magic not having to change everything, it will still affect a lot of lines but avoids having to rewrite the code.