Drag'n'Drop для virtual grid
От: mryau Россия http://woodland.ru/~wjdogs
Дата: 13.08.13 17:00
Оценка:
Добрый день,

пытаюсь сделать 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 для виртульного дерева?
virtual-grid drag drop
Re: Drag'n'Drop для virtual grid
От: mryau Россия http://woodland.ru/~wjdogs
Дата: 14.08.13 11:34
Оценка:
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?
Re: Drag'n'Drop для virtual grid
От: mryau Россия http://woodland.ru/~wjdogs
Дата: 14.08.13 13:49
Оценка:
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 не проблема, но не понятно, как добавить визуальное представление, чтоб при этом не пострадали фукции раскрытия/схлопывания дерева.
Re: Drag'n'Drop для virtual grid
От: c-smile Канада http://terrainformatica.com
Дата: 15.08.13 05:33
Оценка:
Здравствуйте, mryau, Вы писали:

M>Но ничего не добился. Как правильно заставить работать drag-n-drop для виртульного дерева?


Так для virtual grid или таки для дерева?
Re[2]: Drag'n'Drop для virtual grid
От: Аноним  
Дата: 15.08.13 06:05
Оценка:
Здравствуйте, c-smile, Вы писали:

M>>Но ничего не добился. Как правильно заставить работать drag-n-drop для виртульного дерева?


CS>Так для virtual grid или таки для дерева?


Таки для virtual tree
Сам drag-n-drop я сделал через prototype + behaviour, но когда пытаюсь сделать отрисовку утаскивания или дропанья объекта через соответствующий CSS -- отваливается функционал дерева, дерево перестаёт схлапывать и раскрывать ноды.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.