|
Есть дерево объектов,т.е. каждый єлемент в дереве - объект(id,title). Структура показаны на приатаченой картинке. Нужно разместить кнопки на шахматной доске для каждого элемента в определенной последовательности. Изначально есть масив рутовых элементов (уровень 0):array{Node1,Node2,Node3..} Есть функция в которую передается каждый рутовый элемент (например Node1 или Node2 ...). В этой функции надо рисовать кнопки и если у этого элемента есть дети (возвращаются все дети следуещего уровня в виде масива) - снова ее вызывать и рисовать дальше. Алгоритм рисования: Сначала рисуется самая первая кнопка в верхнем левом углу для объекта c уровня 0 Node1 с текстом=title (Node1) и tag=id. Вокруг Node1 распологаются чайлды 1 уровня (Node11,Node12,Node13) начиная с верхней точки по часовой стрелке. Потом надо распологать чайлды 2 уровня вокруг чайлдов 1 уровня сверху вниз по часовой стрелке и т.д. Расположение чайлдов идет по уровням а не отношению чайлд-парент, т.е. 3 уровень включает чайлды элементов Node12 и Node13. Также надо раскрашивать кнопки следующим образом: 1 рутовый элемент в массиве - красный цвет 2 рутовый эл-т - синий 3 рутовый - зеленый 4 рутовы - желтый следующий начинается снова с красного. Увеличение уровня на 1 вызывает изменений цвета на 10% светлее. т.е. Node1 (уровень0) имеет синий (#000099), node11,nod12,node13 (уровень1) будут (#0000cc), node12_1,node12_2,node12_3,node13_1 ((уровень2)) будут (#0000ff) Если что не ясно - могу уточнить.
|
|
|
Опубликован 03.09.2008 в 17:59 по мск
Номер ICQ: 259882395
Проект ориентирован на фрилансеров со специализацией: Прикладное программирование
Прошло времени с момента публикации: более 16 лет
прикреплённый файл:
(jpg, 59,27 Кб)
|
|
Просмотреть кандидатов на исполнение проекта
Исполнитель проекта:
не определён
|
|
|
|
|
|