Page 1 of 1

4h. Drag and Drop

Posted: 15 Aug 2011, 11:13
by lgromanowski
Zini wrote: Drag & Drop of records. All records should be draggable. Each component should specify, which record type it can receive and if it can receive multiple records at once.
The result of a drop depends on the component. The 3D editor will create a new reference of the dragged ID. A container or inventory will add the dragged record to itslf. The script editor will insert the name of the record into the script.
We shuold also see, if we can unify this with copy & paste. No idea what Qt offers here.
pvdk wrote: It can be unified with copy and paste. As far as I know we would have the following drag/drop interactions between components:

1. Object view -> Render window: copy action
2. Object view -> object view: copy or move?

Is that it or am I missing something?
Zini wrote: You are missing tons of stuff. Also, I am not sure what you mean with object view.
I gave a few examples in the first posting. But we probably won't be able to get a complete list ahead of component design and implementation (we surely will miss some possible usages).
pvdk wrote: Yeah what I meant was that the drag/drop can be divided in two catagories: drag/drop to the render window and drag/drop between item lists. But you're right, let's not get ahead of things. This is the least of our worries as it's quite easy to implement with Qt.
Zini wrote: Your classification is not correct.

Dragging an ID to the render window or an container will create a new reference for this idea (think of it as creating an object of class).

Dragging an ID to a script or various sub-record fields will simply insert the name.

Copying is not really possible, unless you do a rename at the same time.

Moving is a complex topic. Some kind of moves are not possible at all.

I am not sure if I get all cases. We will look into this later.
Zini wrote: Indeed I forgot at least one. What I wrote about moving and copying applies to IDs. References can be copied and moved too, which again is something entirely different.