Захотелось мне сделать что то вроде карты сообщений для моих контролов и окон. Оговорюсь сразу речь не про Windows.
В приложении есть главный цикл, который получает от операционки сообщения от периферийных устройств, мышь клавиатура и т.п.
Сейчас сделано так:
— есть базовый класс имеющий список виртуальных методов типа on_draw, on_mouse_move,...
— есть объект контейнер который унаследован от этого интерфейса, который переопределяет эти методы у себя
— есть объекты контролы которые собственно тоже унаследованы от этого базового класса
Работает это так:
— главный цикл приложения, выгребает меседж из очереди, вызывает соответствующую функцию у объекта контейнера а тот в свою очередь вызывает эту же фуенкцию у списка своих контролов.
Нужно ещё подумать как получить в этом объекте контейнере сообщения от контролов, например от кнопки которую нажали. (Каждый контрол имеет ID)
Хотелось бы сделать это как карты сообщений например в MFC. Кто какую концепцию может предложить?