psilogic: (Default)
[personal profile] psilogic
И до чего же мне остопи... осточертели разнообразные глюки виндового контрола ListView. В один прекрасный день я осознал, что на периодический отлов и исправление подобных глюков было потрачено много дней. Ну и решился я на такую авантюру: написать этот класс "ручками", так сказать, под себя. Пока получается. Позавчера сделал отображение и скроллинг, вчера - множественный выбор и перетаскивание/растягивание заголовков. Как там говорится в одной программистской поговорке: никогда не находится время, чтобы сделать что-то необходимое, но всегда находится время, чтобы переделать ;)



Это, кстати, к вопросу, как дела с bard-ом. Нормально дела, вовсю идет работа над новой версией.

Date: 2008-12-09 07:22 pm (UTC)
From: [identity profile] psilogic.livejournal.com
"ну, и ещё мелкий плюс " (C) - то, что контролы промеж собой не перегрызутся за клавиши :) папочка-диалог сам решит, кто достоин :)

Date: 2008-12-09 07:32 pm (UTC)
From: [identity profile] http://technorati.com/people/technorati/ketmar/ (from livejournal.com)
а он вообще этого знать не должен. тогда уже зачем вся эта объектная система? писать диалог монолитом, да и всё. какая разница, если по сути это и получается монолит, где контроллер обязан знать, что в него засунули? вся стройная система разваливается на процедурную простыню.

Date: 2008-12-09 07:44 pm (UTC)
From: [identity profile] psilogic.livejournal.com
ну я имел в виду, что контроллер не знает, какие именно контролы в него засунули, он знает только их список, который из контролов сейчас в фокусе, а какой дефолтный. в принципе, я согласен, что яйцо можно разбивать и с тупого конца... ;)))))

Date: 2008-12-09 07:50 pm (UTC)
From: [identity profile] http://technorati.com/people/technorati/ketmar/ (from livejournal.com)
я предпочитаю, чтобы кубики как можно меньше друг о друге знали. в данном случае кубик знает, что в нём ещё какие-то кубики лежат, и знает, что у каждого кубика есть ::HandleEvent(). собственно, и всё. меньше знаешь — крепче спишь же.

Date: 2008-12-09 08:06 pm (UTC)
From: [identity profile] psilogic.livejournal.com
в данном случае ты "знание о дефолтности" все равно можешь получить: если контрол, не будучи в фокусе, кушает Enter, это дефолтная кнопка :))

Date: 2008-12-09 08:16 pm (UTC)
From: [identity profile] http://technorati.com/people/technorati/ketmar/ (from livejournal.com)
не обязательно. может, это спецконтрол «йа питаюсь энтерами»? %-)

кстате. а как у тебя тогда хоткеи на кнопки сделаны? у меня кнопки их сами в себе и проверяют — рано или поздно до них доедет.

Date: 2008-12-09 08:50 pm (UTC)
From: [identity profile] psilogic.livejournal.com
это сделано как у тебя - через перебор :) собственно, только для клавиатурных эвентов кое-какие переборы и понадобились. мышиные и прочие эвенты - достаточно прохода от точки срабатывания до корня. кстати, а зачем тебе такие переборы, если есть великая и могучая Qt? ;)

Date: 2008-12-09 08:52 pm (UTC)
From: [identity profile] http://technorati.com/people/technorati/ketmar/ (from livejournal.com)
затем, что это была консольная либа. %-)

Date: 2008-12-09 09:00 pm (UTC)
From: [identity profile] psilogic.livejournal.com
как?! неужели вездесучий Qt еще не написан для консолей?! :)

Date: 2008-12-09 09:05 pm (UTC)
From: [identity profile] http://technorati.com/people/technorati/ketmar/ (from livejournal.com)
для пингвинов можно извратнуться. для вантуза — увы. %-)

а вообще-то либа на Delphi была. %-)
Page generated Sep. 19th, 2025 12:51 am
Powered by Dreamwidth Studios