Re[11]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 11:18
Оценка:
Здравствуйте, DSD, Вы писали:

еще,
в мозилле
table.insertRow(index)
row.insertCell(index)

сегда надо индекс передавать, иначе падает
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[18]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 11:22
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>Здравствуйте, mogadanez, Вы писали:


DSD>>>panel.getBoundingClientRect() — возвращает красный прямоугольник — точнее 4 координаты, описывающие его.

DSD>>>panel.getClientRects() — вернет в данной ситуации массив из 3х синих прямоугольников.
M>>хм... а у какой ноды ты это вызываешь что тебе такое вернет?
DSD>и у панелей и у самих доков. в MSDN есть описание этих методов. они аппликабельны почти к каждому визуальному элементу.

я не понимаю какая разметка должна быть чтобы док такой формы получился.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[18]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 11:33
Оценка:
Здравствуйте, DSD, Вы писали:


DSD>только что добил отношения с childNodes — теперь запускается и в файрфоксе. правда пока ничего не таскается, но сами доки создаются, уже радует


еще в mozille нету event:

function glob_mm( e ) {
    e = ensure_event_object(e);
    e.returnValue=false;
         
}
         
function ensure_event_object ( e )
{        
    if ( e == null ) e = window.event; 
    return e;
}
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[12]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 11:40
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, DSD, Вы писали:


M>еще,

M>в мозилле
M>table.insertRow(index)
M>row.insertCell(index)

M>сегда надо индекс передавать, иначе падает

дык уже сделал давно...
--
DSD
Re[19]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 11:41
Оценка:
Здравствуйте, mogadanez, Вы писали:


M>я не понимаю какая разметка должна быть чтобы док такой формы получился.


например сделай внутри текста SPAN, в который запихни три широких картинки, настолько широких, чтобы две картинки в один ряд не помещались в ширину экрана — вот и готово SPAN — не блочный элемент, он не будет, как DIV, всегда тянуться неразбиваемым прямоугольником. по крайней мере в IE.

вот зайди сейчас и посмотри
http://911.ru/to_rsdn/docking.html
докпанель в тексте сейчас у тебя так и должна выглядеть составной. и в мозиле тоже.
--
DSD
Re[19]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 11:43
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, DSD, Вы писали:



DSD>>только что добил отношения с childNodes — теперь запускается и в файрфоксе. правда пока ничего не таскается, но сами доки создаются, уже радует


M>еще в mozille нету event:


M>
M>function glob_mm( e ) {
M>    e = ensure_event_object(e);
M>    e.returnValue=false;
         
M>}
         
M>function ensure_event_object ( e )
M>{        
M>    if ( e == null ) e = window.event; 
M>    return e;
M>}
M>


после этого осталось несовместимого:
* getBoundingClientRect
* getClientRects
* setCapture
* releseCapture
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[13]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 11:46
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>Здравствуйте, mogadanez, Вы писали:


M>>Здравствуйте, DSD, Вы писали:


M>>еще,

M>>в мозилле
M>>table.insertRow(index)
M>>row.insertCell(index)

M>>сегда надо индекс передавать, иначе падает

DSD>дык уже сделал давно...

не успеваю за обновлениями
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[20]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 11:51
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>например сделай внутри текста SPAN, в который запихни три широких картинки, настолько широких, чтобы две картинки в один ряд не помещались в ширину экрана — вот и готово SPAN — не блочный элемент, он не будет, как DIV, всегда тянуться неразбиваемым прямоугольником. по крайней мере в IE.


DSD>вот зайди сейчас и посмотри

DSD>http://911.ru/to_rsdn/docking.html
DSD>докпанель в тексте сейчас у тебя так и должна выглядеть составной. и в мозиле тоже.

угу, только когда туда чтонибудь перетягиваешь она сжимается по содержимому
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[20]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 11:54
Оценка:
Здравствуйте, mogadanez, Вы писали:


с эвентами разобрался вроде. правда перевернул твой способ взад — пишу его насильно в window.event

M>после этого осталось несовместимого:

M>* getBoundingClientRect
M>* getClientRects
M>* setCapture
M>* releseCapture

от последних двух (*Capture) можно избавиться, если mousemove привязать к document.body.attachEvent и сделать таким образом глобальный перехват мыши.

getClientRects можно вычислять самому — геморно и не факт что быстро работать будет, а можно забить на него и цепляться только к getBoundingClientRect. а насчет него уж я и не знаю... есть ему замена в виде get_obj_client_rect() (см. в коде, я ее оставил) — но будет ли она везде работать и с какой производительностью?
--
DSD
Re[21]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 11:57
Оценка:
Здравствуйте, mogadanez, Вы писали:

DSD>>вот зайди сейчас и посмотри

DSD>>http://911.ru/to_rsdn/docking.html
DSD>>докпанель в тексте сейчас у тебя так и должна выглядеть составной. и в мозиле тоже.
M>угу, только когда туда чтонибудь перетягиваешь она сжимается по содержимому
а это потому что пока там нет доков — там есть картинки-растяжки, как док добавляешь — ее содержимое запоминается и вычищается.
если с нее убрать потом все доки — содержимое (растяжки) восстановится.
--
DSD
Re[21]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 12:00
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>от последних двух (*Capture) можно избавиться, если mousemove привязать к document.body.attachEvent и сделать таким образом глобальный перехват мыши.


с этим тоже не просто... тогда надо юзать http://rsdn.ru/Forum/Message.aspx?mid=394656&amp;only=1
Автор: Andir
Дата: 27.09.03


с координатами потыркаюсь
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[22]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 12:01
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>Здравствуйте, mogadanez, Вы писали:


DSD>>>вот зайди сейчас и посмотри

DSD>>>http://911.ru/to_rsdn/docking.html
DSD>>>докпанель в тексте сейчас у тебя так и должна выглядеть составной. и в мозиле тоже.
M>>угу, только когда туда чтонибудь перетягиваешь она сжимается по содержимому
DSD>а это потому что пока там нет доков — там есть картинки-растяжки, как док добавляешь — ее содержимое запоминается и вычищается.
DSD>если с нее убрать потом все доки — содержимое (растяжки) восстановится.

а зачем тогда нужны прямоугольники? по идее тогда важен только верхний левый угол?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[22]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 12:03
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, DSD, Вы писали:


DSD>>от последних двух (*Capture) можно избавиться, если mousemove привязать к document.body.attachEvent и сделать таким образом глобальный перехват мыши.


еще в моззиле есть
http://www.mozilla.org/docs/dom/domref/dom_window_ref6.html#1016868
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[23]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 12:10
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>а зачем тогда нужны прямоугольники? по идее тогда важен только верхний левый угол?

да нет, нужно точно знать, когда мышь находится именно над панелью при перетаскивании.
и более того, если на панели уже есть док и мышь над ним, я еще и вычисляю сектор этого дока, в котором находится мышь, чтобы бросить новый док перед текущим или после него.
вот возьми в IE и поиграйся с доками — ты можешь "тасовать" их мышью на панели.
--
DSD
Re[24]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 12:12
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>вот возьми в IE и поиграйся с доками — ты можешь "тасовать" их мышью на панели.

правда сейчас я только горизонтально центры сравниваю — бросаешь док до середины лежащего на панели дока или после.
сравнение по вертикали потом доделаю — пока в виде теста ограничился этим.
--
DSD
Re[24]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 12:23
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>Здравствуйте, mogadanez, Вы писали:


M>>а зачем тогда нужны прямоугольники? по идее тогда важен только верхний левый угол?

DSD>да нет, нужно точно знать, когда мышь находится именно над панелью при перетаскивании.

а вот это уже лучше... =)
т.е. задача определить принадлежит ли координата элементу или нет?

DSD>и более того, если на панели уже есть док и мышь над ним, я еще и вычисляю сектор этого дока, в котором находится мышь, чтобы бросить новый док перед текущим или после него.


но ведь в этом случае панель уже прямоугольная?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[25]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 12:34
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>т.е. задача определить принадлежит ли координата элементу или нет?

фактически да, но расширяется она все равно в задачу получить координаты панели(лей) и задачу получить координаты дока(ов).

M>но ведь в этом случае панель уже прямоугольная?

нет. вариант составной панели с картинками-растяжками — это я те для примера сделал. в реальности совсем наоборот — подразумевается, что панель становится сложноформенной именно когда ты в нее набросаешь кучу доков, что она по ширине вмещаться в окно не будет — тогда она разбивается.

хотя в контексте того, о чем мы сейчас(о тасовании доков) это не важно — на этом этапе сравниваются уже исключительно координаты доков, координаты панели уже не учавствуют в момент "броска" на нее. они учавствовали во время таскания над ней дока.
--
DSD
Re[11]: DHTML docking toolbars
От: anonymous Россия http://denis.ibaev.name/
Дата: 27.03.06 12:37
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>вот собственно и вопрос: как пробежаться по иерархии "переносимым" способом, без document.all ?


var all = document.getElementsByTagName('*');
Re[12]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 27.03.06 12:45
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Здравствуйте, DSD, Вы писали:


DSD>>вот собственно и вопрос: как пробежаться по иерархии "переносимым" способом, без document.all ?


A>
A>var all = document.getElementsByTagName('*');
A>


a wildcard '*' переносим?
--
DSD
Re[13]: DHTML docking toolbars
От: anonymous Россия http://denis.ibaev.name/
Дата: 27.03.06 12:48
Оценка: 13 (2)
Здравствуйте, DSD, Вы писали:

DSD>>>вот собственно и вопрос: как пробежаться по иерархии "переносимым" способом, без document.all ?

A>>
A>>var all = document.getElementsByTagName('*');
A>>

DSD>a wildcard '*' переносим?

В IE и Gecko работает, про остальных не знаю. Такие вещи проверять удобно например здесь: http://www.squarefree.com/shell/shell.html
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.