|
|
|
сортировка окон
|
|||
|---|---|---|---|
|
#18+
Привет всем! Стоит сейчас такая задача: есть несколько дочерних окон внутри одного родительского. Размер последнего зависит от размеров входящих в него дочерних, которые пересчитывается в момент изменения размеров родителя. Дочерние окна могут перемещаться внутри родительского окна пользователем в произвольном порядке, при этом их положение каким-то специальным образом не отслеживается. Чтобы посчитать размеры родительского окна я должен пересчитать размеры всех дочерних окон (вызвав их собственные ф-ции) в определенном порядке, например, сверху вниз. У родительского окна есть список указателей на дочерние окна. Решение в лоб: отсортировать список так, чтобы в нем сначала шли окна с минимальной координатой top и затем по возрастающей, если окна находяться на одной высоте, то первым размещается то, у которой left меньше. Затем пройтись по списку дергая эти функции расчета размеров и просуммируя их определить результирующий размер окна родителя. Я вот думаю, не накладно ли будет при каждом изменении размера окна проводить такую сортировку методом перебора высот и их сопоставлением, если даже самого верхнего окна на начальной стадии не знаешь и таких родителей будет несколько? Может найдутся какие-нибудь идеи как оптимальнее сделать это? Заранее признателен. Спасибо! -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2007, 17:01:38 |
|
||
|
сортировка окон
|
|||
|---|---|---|---|
|
#18+
CerebrumЧтобы посчитать размеры родительского окна я должен пересчитать размеры всех дочерних окон (вызвав их собственные ф-ции) в определенном порядкезачем в определённом порядке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2007, 17:18:03 |
|
||
|
сортировка окон
|
|||
|---|---|---|---|
|
#18+
потому что место для размещения родительского окна тоже не резиновое (могут быть и другие аналогичные родители) и от результата вычисления вышенаходящихся дочерних будет зависеть сколько осталось места для размещения остальным, приблизительно так... -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2007, 17:24:10 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=35001991&tid=2027648]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 362ms |

| 0 / 0 |
