Я запустил приложение GTKMM около 6 месяцев назад, и оно дошло до того, что все работает, и я фактически использую его ежедневно. По сути, это приложение базы данных, которое считывает файлы данных из другого приложения, генерирует графики и позволяет легко сортировать и просматривать данные. Мне это нравится.
ОДНАКО, я считаю, что мой код - беспорядок, и когда я сегодня решил реализовать другую функцию, я понял, что, возможно, где-то сделал неправильный поворот.
Мой графический интерфейс главного окна определен в файле glade, и ВСЕ графический интерфейс (кроме моего графического виджета, который является пользовательским виджетом на основе Gtk :: DrawingArea) находятся в одном файле. Это ПОЛНЫЙ из указателей на виджеты и хранилища деревьев, которые все настраиваются в конструкторе и удаляются в деструкторе.
Весь графический интерфейс пользователя является главным окном, разделенным на разные панели, поэтому имеет смысл иметь все в одном файле. Кроме того, разные панели должны «общаться» с другими панелями.
Как мне лучше организовать свой код, чтобы его можно было обслуживать? Создать новый класс, который по сути является коллекцией виджетов, а затем поместить этот «супер виджет» в мое главное окно (скажем, каждая панель является супер виджетом)?
Учебные пособия по GTKMM, как правило, очень минималистичны, поэтому я не смог получить много понимания.