object Test extends Application {
QApplication.initialize( Array() )
val area = new QScrollArea
// работает
val w = new QWidget
w.setLayout( new QVBoxLayout {
addWidget( new QLabel( "1" ) )
addWidget( new QLabel( "2" ) )
} )
//не работает!
val w = new QWidget
area.setWidget( w )
w.setLayout( new QVBoxLayout {
addWidget( new QLabel( "1" ) )
addWidget( new QLabel( "2" ) )
} )
//не работает!!!
val w = new QWidget
val layout = new QVBoxLayout
w.setLayout( layout )
area.setWidget( w )
layout.addWidget( new QLabel( "1" ) )
layout.addWidget( new QLabel( "2" ) )
//казлыуродыненавижу
area.resize( new QSize( 500, 500 ) )
area.show
QApplication.exec
}
как выяснилось проблемы в скрытом репарентинге который осуществляет setWidget. Компилится. Запускается. Не падает. Не ругается. НЕ РАБОТАЕТ. Писал сходу сложный компонент - час долбался пока раставил эти репарентовые вызовы как надо. Казлыуродыненавижу. Вот вам императивщина в полный рост.
Копаюсь походу в трольском коде - фикшу багу для джамби - чуть не поседел от ужоса. В чтениях потока создание буферов в каждом проходе цикла. Попытка буферизировать то что и без них буферизировано в каждой обертке - изза этого перерасход памяти и ненужные тормоза на ио блокировках «чтобы догнать буфер». Неправильное пользование метода available - изза этого неправильный детект конца потока - работает на честом слове потому что поток файловый. Какието подвешенные буферизированные ридеры которые нигде не используются но создаются - а чтение осуществляется из параллельного стрима - работает только потому что ни один использованый буфер не читает апфронт. В корне неверная работа с класлоадерами в ресурсах - изза этого почти нихрена не работает кроме примитивного случая с джарником.
Мои кеды держатся на честном слове!!!
Ужос!