Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26163
Рейтинг: 2127
#31: 2008-07-16 11:51:22 ЛС | профиль | цитата
Хорошо, я понял все и исправил. Ну давайте оставим сытыми волков и целыми овец, давайте сделаем два компонента -- TreeView, таким, каким он был, и добавим TreeViewEx, с расширенными возможностями, ну очень много было вопросов именно про старый компонент, когда народу, явно, многого не хватало.
карма: 22

1
Голосовали:Konst
Администрация
Ответов: 15295
Рейтинг: 1519
#32: 2008-07-16 19:06:51 ЛС | профиль | цитата
nesco, я надеюсь ты это так шутишь

AssignedIList=True - всегда создавать список иконок, False - создавать только при непустом списке иконок|14|1|True,False
карма: 27
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#33: 2008-07-16 19:17:59 ЛС | профиль | цитата
Dilma, а что, так нельзя разве, ну давай что-нибудь другое придумаю Например, при первом обращнии к списку, он будет создаваться, если его нет
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#34: 2008-07-16 20:55:18 ЛС | профиль | цитата
nesco, хотелось бы видеть более аргументированные решения, чем простой метод тыка.

Задача совершенно тривиальна: есть пользователю нужны иконки в программе - компонент должен сделать списки, не нужны - не должен. Узнать нужны они ему или нет можно в методах SetIconsState и SetIcons. Но их недостаточно, когда иконки добавляются динамически. Варианта тут два:
1) создать при первом использование
2) вывести наружу нормальное понятное каждому св-во(например UseIcons)

Впрочем есть и третий вариант: сделать элемент TreeViewIconic который по моему в данном случае устроил бы всех.

Далее при дробление элементов, о которых я уже говорил: в данном случае полной бессмыслецей является то, что в TreeView впихнуты свойства и методы по работе с ImageList, который мягко говоря отношения к элементу не имеет никакого. Это надо делать через data_element и только через него. Тоже самое касается всех менюшек и прочих элементов, работающих со списками иконок. Так что подумаем, как это нужно переделать
карма: 27
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#35: 2008-07-16 21:22:55 ЛС | профиль | цитата
Dilma писал(а):
TreeViewIconic

Наверное, это лучший вариант, а старый вернуть на место. Лучше может назвать TreeViewEx и поместить его в отведенную для этого папку
карма: 22

0
Ответов: 9906
Рейтинг: 351
#36: 2008-07-16 21:40:46 ЛС | профиль | цитата
Dilma писал(а):
вывести наружу нормальное понятное каждому св-во(например UseIcons)

Или сделать состояние НЕ БЫТЬ для каждого св-ва любого элемента
Заодно и повыкидывать аналогичные "понятные каждому" св-ва

японец писал(а):
Чего только эти русские не придумают, чтобы дорог не строить

карма: 9

0
Ответов: 3655
Рейтинг: 69
#37: 2008-07-16 21:44:49 ЛС | профиль | цитата
Galkov писал(а):
Или сделать состояние НЕ БЫТЬ

Где то читал что компы с тремя состояниями ячейки памяти(1,0,неопределено) являются
довольно перспективными.
карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#38: 2008-07-16 21:48:56 ЛС | профиль | цитата
Galkov писал(а):
Заодно и повыкидывать аналогичные "понятные каждому" св-ва

А достучаться до них как можно будет
карма: 22

0
Ответов: 9906
Рейтинг: 351
#39: 2008-07-16 22:13:04 ЛС | профиль | цитата
Да проще все, и понятней - должно выглядеть это для пользователя...

К примеру, на той же вкладке <Точки> есть четыре "раздельчика": Work, Event, Vars, Data
Ну появится, скажем, пятый "раздельчик" - Property
А "пцыца" там означает видимость в панели свойств
Вот и все

И, естественно, информацию об этой "пцыце" можно было бы использовать при кодогенерации...


Скажу сразу, на всякий случай: DTS - это другое
DTS - это когда ты хочешь, но НЕ можешь поставить "пцыцу" напротив св-ва FileName, потому-что у тебя не хватило ума сделать видимой точки doSave, или doLoad.
Или еще хитрее - подключить к ним связи (реальная логика - за автором элемента, естественно)....

Ну это -- попозже немного.
карма: 9

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#40: 2008-07-16 22:19:12 ЛС | профиль | цитата
Galkov писал(а):
означает видимость в панели свойств

А, теперь понятно как
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#41: 2008-07-16 22:22:37 ЛС | профиль | цитата
Galkov писал(а):
Или сделать состояние НЕ БЫТЬ для каждого св-ва любого элемента

повторение давно завершенного диспута без привлечения новых аргументов более свойственно г-ну Tad-у, чем человеку со статусом Админ.

на SVN добавил новую версию CodeGen с элементом Project всвязи с чем просьба к разработчикам элементов свои "дуракоустойчивые" коды помещать в соответствуюшие дефайны по критериям, данным в элементе project. Тоже самое касается выдачи сообщений об ошибках через диалоговые окна. Примеры использования см. в Replace и KeyHook
карма: 27
0
Ответов: 9906
Рейтинг: 351
#42: 2008-07-16 23:01:45 ЛС | профиль | цитата
Dilma писал(а):
без привлечения новых аргументов

интересное кино

Во-первых: убирание видимости для св-ва Icons для данного конкретного элемента смотрелось бы естественней и понятней для пользователя, чем "нормальное понятное каждому св-во(например UseIcons)". Мне именно так кажется
И таковая конкретика - является новой, мне, опять таки, именно так кажется.

Во-вторых: чтобы представлять новые аргументы, надо понимать, чего непонятно было в предыдущих.
Мне не понятно, чего было не понятно И СЕЙЧАС.
Пока мне известна только такая "контр-аргументация": НЕ НРАВИТСЯ МНЕ ЭТО
((таковая степень убедительности для Админов приемлима, видимо. И сразу как все понятно -- диспут-то завершен, оказывается))
Если кто найдет иную, не замеченную мной, аргументацию по этому адресу: http://hiasm.com/forum.html?q=3&p=74711#p74711 -- прошу показать пальцем.

В-третьих: конечно можно было бы потратить время, и пройтись ПО ВСЕМ элементам, и перечислить св-ва и элементы, где таковая "невидимость" могла бы ваглядеть естественней и понятнее, чем имеющееся сейчас
Но, честное слово, странно смотрелись бы мои указания на "понятные всем" (например) св-ва BlockFind.UserReplace или BlockFind.Delete - автору этого элемента
Или убеждать, что такового в пакете - несть числа... Кого надо в этом убеждать?
При том, что совершенно не понятна нужность таковой работы


карма: 9

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#43: 2008-07-16 23:07:53 ЛС | профиль | цитата
Galkov писал(а):
убирание видимости для св-ва Icons для данного конкретного элемента смотрелось бы естественней и понятней для пользователя, чем "нормальное понятное каждому св-во(например UseIcons)"

Я вот одного не догнал, каким боком это может повлиять на создание списка иконок при помощи UseIcons, если применить этот UseIcons я могу только в Init, перед созданием контрола Тут получается, что, либо контрол будеи иметь иконки всегда (ну и дыры естественно, если не будет последних), либо если это свойство Icons окажется непустым
карма: 22

0
Ответов: 9906
Рейтинг: 351
#44: 2008-07-16 23:21:55 ЛС | профиль | цитата
Это - детали. Естественно, это должно сопровождаться еще чем-то
Galkov писал(а):
И, естественно, информацию об этой "пцыце" можно было бы использовать при кодогенерации...

А в кодах ты (правильнее - автор элемента) это мог БЫ получить как НЕ установку св-ва
карма: 9

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#45: 2008-07-16 23:27:05 ЛС | профиль | цитата
Это было бы очень интересно, если был бы список взаимодействующих свойств -- поставил "пцыцу" на одном, а отобразились все, которые взаимосвязаны

------------ Дoбавленo:


Можно было бы пойти и по пути отображения, для оптичивания, только главных свойств, а взаимодействующие и дочерние можно было бы скрыть вообще.
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)