wiki:SCENE_COMMONS_R0

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

--

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

Analysis

Overview

The page scene is responsible for displaying objects inside the page work area. The page scene provides an object model for the contents of the page work area. It is supposed that different implementations of the scene should exist. They will actually display the given model using the primitives of some library. Base scene is a mediator that contstructs the object model and then uses a concrete implementation to get the graphical result.

Task requirements

  • Define the elements of the scene model.
  • The model should be able to handle different page elements.
  • The scene should be able to provide a swing component.

Task result

The result of this task should be source code.

Implementation idea

Probably it will be good to have these elements in the model:

  • Frame
  • Swing component

How to demo

  • Describe the model
  • Show the interfaces/classes.

Design

  • We will use the Composite design pattern to build our model.
  • Here is the UML diagram for the object model

source:trunk/sophie2-platform/doc/uml-design-diagrams/SceneObjectModel.png

  • Each element's graphic will have its own coordiante system
  • Each element contains an affine transformation that will position the element at the correct place.
  • Element style is supposed hold information about borders, opacity, shadows, etc.
  • There will be Scene objects. They'll hold the information about the whole scene and should be implemented as instances of the CompositeElement class.
  • Swing element provisioning mechanism should be provided in the module class. To be done in SCENE_POINT task.

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

Log

Error: Macro Include(wiki:SCENE_COMMONS_R0_LOG) failed
current transaction is aborted, commands ignored until end of transaction block