Дошли у меня руки поковыряться с застаревшим кодом. Надо его потихоньку приводить в более удобоваримое состояние. Проект - это простой WYSIWING редактор, используемый в составе программы MyTetra.
Основной файл - editor.cpp (класс Editor).
https://github.com/xintrea/mytetra_dev/tree/editorModification/src/libraries/...
Сий редактор был сделан на скорую руку на основе стандартного примера из Qt. И все объекты кнопок управления ранее находились прямо в классе Editor.
Сейчас я выделяю из класса Editor класс панели с кнопками, называемый EditorToolBar. И вот вопрос. После выделения кнопок в отдельный класс, внутри этого нового класса нужны обращения к вышестоящему виджету (т. е. к классу Editor) для следующих действий:
1. Получение конфига редактора (от нескольких переменных конфига зависит расположение кнопок и прочих элементов управления, размещенных на EditorToolBar)
2. Текущий режим отображения редактора (от режима зависит видимость и действия кнопок и прочих элементов EditorToolBar)
3. Enum допустимых режимов редактора (чтобы было с чем сравнивать при действиях в пункте 2)
Я бы мог обращаться к родительскому виджету для получения всех этих данных. Но я недавно прочитал статью Чистая архитектура и там написано, что обращения к вышестоящим по иерархии объектам должны быть совершенно исключены.
А я не могу придумать, как же мне не обращаться к parent-виджету для получения нужных мне данных. Как поступить в случае, когда есть главный объект редактора, и второстепенный объект тулбара? Как сделать такой тулбар, чтобы он не требовал данных от редактора? Да и нужно ли такой делать?

Ответ на:
комментарий
от m0rph


Ответ на:
комментарий
от jeuta


Ответ на:
комментарий
от Xintrea



Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум c++: Разделяемые объекты [?] (2008)
- Форум Взаимодействие объектов в C++ (2006)
- Форум Python, разделяемый между тредами объект (2009)
- Форум Как правильно создавать сложные объекты? (2016)
- Форум [php][передача объектов] Как правильно? (2010)
- Форум (С++) Как правильно удалить объект из метода этого объекта? (2000)
- Форум Межпроцессное взаимодействие (2017)
- Форум Разделяемая память (2010)
- Форум разделяемая директория (2008)
- Форум Разделяемая библиотека? (2002)