ЛР1. Управление окном (формой) приложения, полями ввода, кнопками, таймерами

При решении задания запрещено создавать графические виджеты во время исполнения программы.

Задание

Разработать графическое приложение "Неваляшка", обладающее следующими функциональными возможностями:

  1. При изменении размеров или местоположения окна приложения, оно возвращается в центр экрана
  2. При изменении размеров окна приложения, его ширина и высота отображается в полях ввода
  3. Максимальные и минимальные размеры окна фиксированы (ширина: 500-1000, высота: 100-500).
  4. При изменении значения в поле ввода с дальнейшим нажатием клавиши Enter или потерей полем фокуса ввода, размеры формы изменяются в соответствии со введенным значением. Если введенное значение не является корректным числом, то размеры формы не меняются, а поле восстанавливает свое предыдущее значение.
  5. При нажатии кнопки "Демо +" начинается увеличение размеров окна приложения, с визуализацией процесса, пока размер окна не достигнет максимальных границ. Во время увеличения размеров кнопки и поля формы заблокированы.
  6. При нажатии кнопки "Демо -" начинается уменьшение размеров окна приложения, с визуализацией процесса, пока размер окна не достигнет минимальных границ. Во время уменьшения размеров кнопки и поля формы заблокированы.
Доступен исполняемый файл приложения (Linux x86-64). Загрузить, сделать исполняемым, запустить, проверить функциональные возможности, самостоятельно разработать и сдать аналог.