wiki:FRAME_BORDERS_R0

Version 28 (modified by mira, 16 years ago) (diff)

--

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

Error: Macro TicketQuery(summary=FRAME_BORDERS_R0, 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

The FrameBorder is the model for the outer field surrounding the frame content. It is placed between the margins and the content (see the picture). FrameBorders could differ for left, right, top or bottom border. The FrameBorder could have different width and color. It might be realized in different styles. (box, shadow, 3D, repetition of a certain picture, etc.)

Task requirements

  • Frame borders should have width. It should be number equal or greater than 0.
  • Frame borders should have color.

Task result

The result of this task is source code.

Implementation idea

  • Create class FrameBorder extending ProObject with required properties.
  • Add FrameBorder border property to the Frame
  • Create enums for different property options if needed.

How to demo

  • Create and show Frames with different borders.

Design

  • Create org.sophie2.base.model.book.ColorProps class

The new class should extend BaseProObject class and have needed properties for color definition:

  • Color color() - the color of the border
  • Float transparency() - the transparency of the border (an float between 0 and 1)
  • Add borderColor() and borderInsets() properties. Use the org.sophie2.base.model.book.InsetsProp class for representing border insets
  • For the border visualization add FramePaddingRectangle class in FrameViewToDo class. This class should be used for representation of the frame border rectangle. It is used to init the borderRectangle property, which is added to the frameSceneElement so that it could be drawn.
  • (pending) The demo test org.sophie2.base.model.book.BordersTets.java tests creation and changing of frames borders.

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.)