Добрый день,
пытаюсь сделать Drag'n'Drop для virtual grid скопировав animations.tis и ddm.tis из samples/ideas/drag-n-drop-manager в samples/ideas/virtual-tree и добавив в правила:
widget#tree option:drop-target { border:3px solid blue; }
widget#tree option:drag-over { border:3px solid red; }
widget#tree option.placeholder { background:lime; overflow:hidden; }
widget#tree option.placeholder.src { background:gray; }
widget#tree option:moving { background-color:yellow; opacity:0.7; }
и в скрипт в .html:
include "ddm.tis";
include "animations.tis";
function startDrag( el )
{
stdout.println("startDrag");
if( el.$is(widgert#tree > option) ) return #copying;
return #moving;
}
function whenDropped( what, from )
{
stdout.println("whenDropped");
var where = what.parent;
}
DragDrop
{
what : "widget#tree option",
where : "widget#tree",
acceptDrag: startDrag,
dropped : whenDropped,
easeDrop : Animation.Ease.OutQuad
};
Но ничего не добился. Как правильно заставить работать drag-n-drop для виртульного дерева?
M>пытаюсь сделать Drag'n'Drop для virtual grid скопировав animations.tis и ddm.tis из samples/ideas/drag-n-drop-manager в samples/ideas/virtual-tree и добавив в правила:
Замена "widget#tree > option" на "widget#tree option" или "widget#tree text" ничего не дала.
после того как в ddm.tis вызывается
self.select( :el: el.subscribe(onMouseHandler, Event.MOUSE), def.what);
событие никому не приходит.
Попробовал выполнить из Sciter2 примеры для Sciter:
samples/ideas/tree-view -- не ругается и не работает
drag-n-swap.htm -- там была ошибка: вместо </head> стоял <head>, исправил, но тоже не работает.
Вообще, при запуске этих примеров из Sciter2, ни в SwapTable.onMouse ни в EditableTree.onMouse не приходит ни одного DRAG_REQUEST или DROP.
Кстати, в Sciter2 почему-то нет селектора draggable.
Как всё-таки сделать, чтоб в virtual tree появился drag-n-drop?
M>пытаюсь сделать Drag'n'Drop для virtual grid скопировав animations.tis и ddm.tis из samples/ideas/drag-n-drop-manager в samples/ideas/virtual-tree и добавив в правила:
При этом, если сделать
widget#tree {
prototype: Draggable;
...
}
...
class Draggable: Behavior
{
...
}
То отслеживая приход MOUSE_UP, MOUSE_DOWN и MOUSE_MOVE, сделать D-n-D не проблема, но не понятно, как добавить визуальное представление, чтоб при этом не пострадали фукции раскрытия/схлопывания дерева.
Здравствуйте, c-smile, Вы писали:
M>>Но ничего не добился. Как правильно заставить работать drag-n-drop для виртульного дерева?
CS>Так для virtual grid или таки для дерева?
Таки для virtual tree
Сам drag-n-drop я сделал через prototype + behaviour, но когда пытаюсь сделать отрисовку утаскивания или дропанья объекта через соответствующий CSS -- отваливается функционал дерева, дерево перестаёт схлапывать и раскрывать ноды.