Version 16 (modified by alex, 16 years ago) (diff) |
---|
Analysis
Overview
- Define a view for frames and a base view for frame content.
- The frame view should contain the frame content view.
- Both should contain scene elements.
- Define base model for frame content.
Task requirements
- Define frame view containing frame content view.
- The frame view should contain a very basic scene element constructed from the scene element of the frame content view.
- Define base view for frame content with very basic features.
- The view should contain a scene element.
- Define frame content model containing resource(s).
- A frame content model should be contained by a frame model and should be in one-to-one relation with it.
Task result
The result of this task should be source code.
Implementation idea
- Create ContentView which is view for frame content .
- It should have a FrameView parent property, a SceneElement property and a FrameContent model property.
- Create FrameView which is view for frames.
- It should have a ContentView child property, a SceneElement property and a Frame model property.
- Create FrameContent which is model for frame content.
- It should have a Frame parent property, a BookResource property (describes the resource (image, audio, video and etc.) that FrameContent is associated with) and a BookResoure-s list so that one FrameContent can be associated with many resources at the same time.
Related
How to demo
- Create unit test for FrameContent. It should:
- Test associating a FrameContent with a !Frame.
- Test associating a BookResource with a FrameContent.
- Create a demo for FrameContent.
- Create unit test for ContentView. It should:
- Test associating a ContentView with a FrameView.
- Test changing the resource containted in the model property of a FrameView.
- Create demo for ContentView. (Can't be created at the moment because of problems with FrameView);
Design
Create ContentView which is base abstract class for viewing content. It should have the following properties:
- parent property with template type FrameView.
- model property with template type extending FrameContent.
- element property with template type extending SceneElement which is the SceneElement which is to be rendered by the SceneEngine.
- haloMenu property with template type extending the base class for the content halo menus. (This class is not implemented yet).
FrameView should be responsible for creating a specific ContentView based on the type of the content. It should also contain a CompositeSceneElement property which contains other SceneElement properties representing borders, margins etc. and most importantly it should contain the SceneElement property from its ContentView.
Create FrameContent which is base abstract class descibing a content model. It should have the following properties:
- parent property with template type FrameContent.
- mainResource property with template type extendign BookResource.
- resources list property with template type BookResource.
Implementation
(Implementation results should be described and linked here (from the wiki or the repository))
Testing
Comments
(Write comments for this or later revisions here.)