Anton
причем сам по себе Reader обернутый я смог прихерачить
Anton
а вот чтобы достать до него из connect_activate я все равно не смог
Anton
И ведь я его вроде как сказали поставил чистый, без ссылок прямых только Ref
Anton
или опять не так понял?
Anonymous
Anonymous
лол
Маjко
Anonymous
я специально так сделал
Anonymous
но тогда решение будет мало отличаться от твоего
Anton
Anton
Ммм ну короче случилось примерно то что ожидал
Anton
короче в самой функции connect_search_activate ошибки нет
Маjко
@blastprocessing
> циклом
Маjко
Забыл добавить важный момент, опишу целиком:
Есть список IP, хотя бы один должен быть отпингован
Идем циклом пока что-нибудь не отпингуется, возвращаем IP успешного пинга
Если ничего не пинганулось, возвращаем ошибку
Вот так будет наиболее близко к той задаче, которую я решал
Anonymous
сас
Маjко
А сейчас полез менять, увидел что получается не эквивалентно
Anton
даже поправил функцию
fn setup_search(self) {
let entry = self.builder.get_object("search-input").unwrap();
connect_search_activate(entry, self.pages.reader);
}
но проблема в том что так я передаю владение, изза чего само собой получилось вот так:
140 | self.setup_search();
| ^^^^ cannot move out of borrowed content
Anton
А ссылку на self.pages.reader передавать нельзя ибо мать его ссылка же
Anton
короче пейсос
Маjко
Избавляйся от ссылок?
Anton
Попробовал
Anton
вот так например:
fn connect_search_activate(entry: Entry, reader: &Rc<RefCell<Reader>>) {
let _reader = reader.borrow();
entry.connect_activate(move |event| {
let text = event.get_text().unwrap();
_reader.print_search(text);
});
}
Anton
Но все равно дичь
Anton
Избавляйся от ссылок?
нельзя от них полностью избавится, reader это страница в pages, а pages это контейнер для app
Anton
тут какбы даже с учетом что я вынес reader как обернутый контейнер поле в хип
Anton
нельзя от него избавится на верхнем уровне
Маjко
Мда
Anton
тоесть я вешаю эвент на инпут, и он получив владение пишет какую то херню и все
Anton
больше я ничего с данными делать не смогу
Anton
это же пездец
Маjко
borrowck хлещет @tapok_satan плеткой и смеется
Anton
мда, это жестоко
Anton
тоесть наверное по идее, если я сделаю input внутри самого reader то проблемы не будет
Anton
чисто теоретически
Anton
если все будет вообще без ссылок одним запихоном
Anton
но тогда весь мой божественный дизайн и компонентная система идет по пизде
Anton
АХУИННА
Маjко
Готов для прода))
Anton
мда, и ведь серьезно как тогда вообще мессенджинг между компонентами делать
Anton
реально чтоли на верхнем уровне замутить общую зависимость в виде единого стора
Anton
который будет жить дольше всех и по тредам мессенджить
Anton
хотя не это уже прям совсем пиздец
Anton
В JS ТАКОГО НЕ БЫЛО
Anton
Anton
если колбэк живет вечно
Anton
то блять получается вообще не безопасно ничего делать
Anton
максимум console log
Маjко
А что тебе еще надо? О_о
Berkus
вопрос, [u8] или его слайс можно в str как-то превратить?
Anton
надо чтобы он текст передал компоненту
Anton
а там уже понеслась
Anton
сцука уже сделан обработчик который текст принимает и делает поиск
Anton
и все гуд
Anton
но только в предвкушении решил с инпутом связать
Anton
и все летит в пизду
Маjко
Маjко
Загляни в доку по str
Berkus
parse_utf8, етическая сила, спасибо поищу
Berkus
ага, str::from_utf8 спс
Anton
Эмм ребят
Anton
а есть ли контейнер
Anton
который можно статично заюзать в колбэке
Anton
даже когда контейнерные данные типо уже ебнулись
Маjко
Ето как?
Anton
тоесть все ебнется уже когда приложение будет мертво так что не жалко
Маjко
UnsafeCell 😂
Anton
ну смотри, эвентлуп gtk ебается уже после того как ебается rust поток, тоесть нужен контейнер на котороый он будет думать что это статика но это нихуя не статика
Loo
я тут недавно пришёл с митапа джетбрэинс по лввм
Anton
ну а если он колбэк отправит пустым данным то приложение и так уже метров
Loo
такой угар
Anton
Ето как?
Ето когда ты в отчаянии и готов рвать на себе бороду лишь бы эта хуйня работала
Маjко
Anton
Anton
и весь их апи сука целиком в gtk-rs запихали
Anton
не я такой, жизнь такая
Маjко
Это вообще отстойно, да(
Маjко
А ты не пробовал какие-то более растодружелюбные фреймворки?
Типа elm-rs