beamui
beamui copied to clipboard
Как отлаживать графические приложения?
До этого никогда графические приложения не писал. Я понимаю, что atoll сейчас еще альфа версия, но тем не менее хотелось бы узнать как предполагается это делать? Просто попробовал через writeln в консоль выводить -- не выводит туда ничего. А как иначе найти причину падения я не знаю.
Во-первых, есть логгер. Можно писать Log.d(...), Log.fd(...) и всё в таком духе. Я так понимаю, у вас не линукс, весь лог направляется в файл ui.log. Его можно перенаправить в консоль, если после инициализации GuiApp написать Log.setStderrLogger(); или Log.setStdoutLogger();.
Во-вторых, можно пользоваться обычным gdb или отладчиком вижуал студии, зависит от среды. Я сам дебаггером редко пользуюсь, мне gdb + ddemangle хватает.
Угу, спасибо, и еще вопрос. А за базу идея компоновки контролов из какого тулкита взята?
Что именно, layout'ы?
Да
Они ещё в dlangui были взяты из андроида, потом я их доработал взяв пару вещей из gtk и qt. Я планирую переделывать их дальше, сделать наподобие грида как в CSS, либо anchor'ы как в QML, либо что-то ещё.
Честно Андроидная компоновка мне не очень нравится. Вероятно есть что-то более удобное.
Возможно ли сделать аналог Flexbox компоновки из HTML? Просто тут надо упор сделать на что-то известное широй публике, чтобы не нужно было учить еще один подход
Можно сделать и flexbox, здесь главное сделать, чтобы все настройки были также в CSS. Сейчас там нельзя задавать лэйауты, можно только в коде писать Row, Column и т.д.
Если интересно мое мнение -- я за флексбоксы. Их как минимум очень много народу знает.
@dayllenger я попробовал добавить в main() строки
Log.setStderrLogger();
Log.setLogLevel(LogLevel.debug_);
И после компиляции приложение начало падать с ошибкой:

Если убрать:
Log.setLogLevel(LogLevel.debug_);
То вроде работает.
@dayllenger кстати, может какие-то идеи отсюда могут быть полезны https://gitlab.redox-os.org/redox-os/orbtk