wiki:BASE_DND_R1

Version 2 (modified by peko, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=BASE_DND_R1, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

This revision of the task will introduce prototype drag and drop functionality. As well as support for more DndData that can be transferred in Sophie2.0 (see BASE_DND_R0 for more information.)

Task requirements

  • Supply base classes for drag and drop management.
    • Create a global drag and drop manager that will handle part of the drag and drop operations. The rest should be handled in the corresponding logic.
    • Create DndData implementations for resources.
  • After creating the drag and drop base classes:
    • provide implementation for drag and drop as well as cut/copy/paste of images using the already created ImageData.
    • provide implementation for drag and drop as well as cut/copy/paste of resources.
      • Create DndData implementation for resources - Frames would be enough for current revision.
      • Integrate the DndData implementation with the D'n'd and Clipboard managers.
  • Provide a diagram of the D'n'd manager.
  • Create a wiki page named BASE_DND, to serve as a reference for all drag and drop and cut/copy/paste functionality. It should have all the design of the base library, as well as the already implemented functionality. For example explaining the use cases that are implemented.

Task result

  • source code.
  • wiki content with diagrams.

Implementation idea

  • Create a DndManager class. It should be able to provide the interaction between VisualElements.
  • Create a FrameData class, that should represent a DndData for Frames. It would be difficult to create the hierarchy for all resources without having a use case implemented and the frame will be our starting point.
  • Create the diagram using netbeans and put it in the newly created page. Put also the wiki content of the previous revision of this task.

How to demo

  • Use case 1:
    • Start sophie.
    • Drag and drop or cut/copy and paste an image frame from sophie2 to an image redactor. (for example gimp).
      • The image from the image frame should appear in the redactor.
    • Drag and drop or cut/copy and paste another image from the image redactor to sophie.
      • This should create a frame with an image content if dropped on the page.
      • This should change the current image of the image content if dropped on an image frame.
  • Use case 2:
    • Start sophie.
      • Create some frames.
      • Drag and drop or cut/copy and paste a frame resource from the resource palette to the page work area.
        • The corresponding frame should appear as a copy of the selected one.

Design

Implementation

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)