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

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


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

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


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


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

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

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


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


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


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

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

а как же баблинг?

DSD>2. если имелся ввиду док — т.е. приаттачиваться к его событиям(как сейчас и сделано), то без setCapture и при интенсивном движении мыши док постоянно теряет ее из виду и доставка событий прекращается.(в смысле не успеваешь при таскании док двигать за мышью — мышь быстрее ).


ясно.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[23]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 27.03.06 14:11
Оценка:
DSD>2. если имелся ввиду док — т.е. приаттачиваться к его событиям(как сейчас и сделано), то без setCapture и при интенсивном движении мыши док постоянно теряет ее из виду и доставка событий прекращается.(в смысле не успеваешь при таскании док двигать за мышью — мышь быстрее ).

setCapture используется только чтобы Move отлавливать? или на все события?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[24]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 28.03.06 07:52
Оценка:
Здравствуйте, mogadanez, Вы писали:

DSD>>2. если имелся ввиду док — т.е. приаттачиваться к его событиям(как сейчас и сделано), то без setCapture и при интенсивном движении мыши док постоянно теряет ее из виду и доставка событий прекращается.(в смысле не успеваешь при таскании док двигать за мышью — мышь быстрее ).


M>setCapture используется только чтобы Move отлавливать? или на все события?

move и последующий up
--
DSD
Re[24]: DHTML docking toolbars
От: DSD Россия http://911.ru/cv
Дата: 28.03.06 07:55
Оценка:
Здравствуйте, mogadanez, Вы писали:

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

M>а как же баблинг?
и куда мне его засунуть?
представь. ты тащишь док над панелью, и не просто над панелью, а над другим доком, лежащим на панели(а над ним еще один док просто "висит"). мне cancelBubble во всех наслоенных доках прописывать, чтобы в конечном итоге до панели дошло, что над ней чего-то там тащат?
--
DSD
Re[14]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 28.03.06 09:01
Оценка:
Здравствуйте, anonymous, Вы писали:


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


классная штука только в сафари не работает
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[15]: DHTML docking toolbars
От: Kigorw  
Дата: 31.03.06 09:01
Оценка:
В ие выглядит неплохо... но код это что то с чем то...
Советую взять как пример кода библиотеку Rico.js(она юзает prototype.js) там довольно таки красивый ООП(использую JSON). Я для своих джс контролов взял за пример их код, и prototype.js тоже дал мне немало удобства.
Re[25]: DHTML docking toolbars
От: mogadanez Чехия  
Дата: 31.03.06 09:51
Оценка:
Здравствуйте, DSD, Вы писали:

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


DSD>>>2. если имелся ввиду док — т.е. приаттачиваться к его событиям(как сейчас и сделано), то без setCapture и при интенсивном движении мыши док постоянно теряет ее из виду и доставка событий прекращается.(в смысле не успеваешь при таскании док двигать за мышью — мышь быстрее ).


M>>setCapture используется только чтобы Move отлавливать? или на все события?

DSD>move и последующий up

на неделе времени было не много, надеюсь на выходных займусь.
если есть изменения, выложи их на сайт
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re: DHTML docking toolbars
От: Neron Германия  
Дата: 31.03.06 15:46
Оценка:
Здравствуйте, DSD, Вы писали:

DSD>в общем, интересует ваше мнение.


Супер!
Re: линки в тему
От: marx paul Германия Провести онлайн-опрос
Дата: 04.04.06 20:52
Оценка:
subj.

http://webfx.eae.net/dhtml/dockbar/dockbar.html
http://webfx.eae.net/dhtml/dockbar/dockbar3.html
Провести онлайн-опрос
Online-Umfrage erstellen
Re[2]: линки в тему
От: DSD Россия http://911.ru/cv
Дата: 05.04.06 20:36
Оценка:
Здравствуйте, marx paul, Вы писали:

MP>http://webfx.eae.net/dhtml/dockbar/dockbar.html

MP>http://webfx.eae.net/dhtml/dockbar/dockbar3.html
да, забавно, но там чел изначально в задумке урезал функционал и упростил задачу, что печально.
--
DSD
Re[3]: линки в тему
От: DSD Россия http://911.ru/cv
Дата: 05.04.06 21:38
Оценка: 6 (1)
Здравствуйте, DSD, Вы писали:

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


MP>>http://webfx.eae.net/dhtml/dockbar/dockbar.html

MP>>http://webfx.eae.net/dhtml/dockbar/dockbar3.html
DSD>да, забавно, но там чел изначально в задумке урезал функционал и упростил задачу, что печально.
в принципе, коль уж ты мне напомнил этими ссылками, у себя я таки реализовал hotspot-autosnap. это когда тащишь док и при приближении к краю окна на определенное расстояние активируется соответствующая боковая панель.

без этих ссылок руки бы не скоро еще дошли
--
DSD
Re[4]: линки в тему
От: marx paul Германия Провести онлайн-опрос
Дата: 05.04.06 21:48
Оценка:
Здравствуйте, DSD, Вы писали:

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


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


MP>>>http://webfx.eae.net/dhtml/dockbar/dockbar.html

MP>>>http://webfx.eae.net/dhtml/dockbar/dockbar3.html
DSD>>да, забавно, но там чел изначально в задумке урезал функционал и упростил задачу, что печально.
DSD>в принципе, коль уж ты мне напомнил этими ссылками, у себя я таки реализовал hotspot-autosnap. это когда тащишь док и при приближении к краю окна на определенное расстояние активируется соответствующая боковая панель.

DSD>без этих ссылок руки бы не скоро еще дошли


с нетерпением ожидаю кроссбраузерной реализации!
какой бы линк сюда запостить, чтобы ускорить процесс адаптации?
Провести онлайн-опрос
Online-Umfrage erstellen
Re[5]: линки в тему
От: DSD Россия http://911.ru/cv
Дата: 05.04.06 21:59
Оценка:
Здравствуйте, marx paul, Вы писали:

MP>с нетерпением ожидаю кроссбраузерной реализации!

MP>какой бы линк сюда запостить, чтобы ускорить процесс адаптации?
ну, адаптирую не я, а mogadanez в основном
линки постить не нужно. с моей стороны мне осталось для совместимости избавиться от setCapture/releaseCapture, склепать более-менее нормальные аналоги IE-шных функций для вычисления координат объектов и оформить это все для вырезания в отдельный JS-модуль. так же упакую все в автосоздаваемый объект dock_manager — таким образом все переменные и методы локализуются и не будут засорять global scope. сделаю, как руки дойдут — времени свободного сейчас не очень много.

дальше дело за mogadanez — приведение всего этого барахла в нормально отображающийся во всех браузерах интерфейс.
--
DSD
Re[6]: линки в тему
От: mogadanez Чехия  
Дата: 10.04.06 13:45
Оценка:
Здравствуйте, DSD, Вы писали:


DSD>дальше дело за mogadanez — приведение всего этого барахла в нормально отображающийся во всех браузерах интерфейс.


угу, в процессе...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[6]: линки в тему
От: mogadanez Чехия  
Дата: 10.04.06 13:57
Оценка:
Здравствуйте, DSD, Вы писали:


DSD>...и оформить это все для вырезания в отдельный JS-модуль. так же упакую все в автосоздаваемый объект dock_manager — таким образом все переменные и методы локализуются и не будут засорять global scope. сделаю, как руки дойдут — времени свободного сейчас не очень много.


еще раз предлагаю нашу модель JS модулей. =)

выглядит это примерно так:

core.js.register_module( "proofs.controls.file_comments.client.round_box", function() 
{
    core.js.import_module( "components.webcontrols.client.client.base_view_object" )
    core.js.import_module( "core.js.build_class2" )
    core.js.import_module( "components.webcontrols.client.client.workarounds" )
        core.js.import_module( "core.lists.map" )
    
    var workarounds = components.webcontrols.client.client.workarounds;
    var round_box = core.js.build_class2( "", function()
        {
        this.__base_classes__ = [ components.webcontrols.client.client.base_view_object ];
        this.__constructor__ = function( node_id )
            {
            this.base_view_object( node_id ); 
            }
            
        this.methods.init_form_elements = function ( self )
            {
            this.set_onclick( this.nodes.lnk_new_comment, function( e ) { return self.on_new_comment( e );  } );
            this.set_onclick( this.nodes.lnk_new_review, function( e ) { return self.on_new_review( e );  } );
            this.set_onclick( this.nodes.btn_edit, function( e ) { return self.on_edit( e );  } );
            this.set_onclick( this.nodes.btn_cancel, function( e ) { return self.on_cancel( e );  } );
            }
            
         this.methods.get_nodes_map = function()
            {
            return { lnk_new_comment            : "lnk_new_comment", 
                     lnk_new_review             : "lnk_new_review",
                     btn_edit                   : "btn_edit",
                     btn_cancel                 : "btn_cancel",
                     post_comment_div           : "post_comment_div"                    
                      };
            }
        this.methods.on_edit = function ( e )
            {
            ...
            }

        this.methods.on_cancel = function ( e )
            {
            ...
            }

        this.methods.on_new_comment = function ( e )
            {
            ...
            }

        this.methods.on_new_review = function ( e )
            {
            ...
            }
        } );

    return { round_box: round_box };
} );
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[7]: линки в тему
От: DSD Россия http://911.ru/cv
Дата: 10.04.06 22:08
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>еще раз предлагаю нашу модель JS модулей. =)

M>выглядит это примерно так:
[skip]

боюсь, "ниасилю"
я уж лучше по своему, по-простому, а ты уж потом к сиплюсплюсу приведешь, ок?
--
DSD
Re[8]: линки в тему
От: mogadanez Чехия  
Дата: 11.04.06 06:38
Оценка:
DSD>боюсь, "ниасилю"
DSD>я уж лучше по своему, по-простому, а ты уж потом к сиплюсплюсу приведешь, ок?

а где тут сиплюсплюс
это чистый JS, со всеми своими достоинствами
Re[9]: линки в тему
От: DSD Россия http://911.ru/cv
Дата: 11.04.06 07:08
Оценка:
Здравствуйте, mogadanez, Вы писали:


M>а где тут сиплюсплюс

M>это чистый JS, со всеми своими достоинствами
да я про синтаксис вроде этого: this.__constructor__
--
DSD
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.