Здравствуйте, cppguard, Вы писали:
C>Что можно почитать на тему проектирования таких штук?
думаю полезным будет посмотреть как устроен браузер (читай фреймворк для кастомных gui-приложений)
там, пожалуй три основных момента
— все элементы UI являются частями одного большого дерева(иерархии) элементов (DOM), которое доступно глобально
— возможность выборки элементов в этом дереве по одному или нескольким аттрибутам
— развитая событийная модель (подписка/отписка на события, разные опции по перехвату событий, кастомные события, глобальные каналы сообщений типа BroadcastChannel)