wiki:FRAME_INSETS_R0
Last modified 5 years ago Last modified on 12/29/08 13:50:18

Ticket Summary Owner Status Type Component Priority Effort Importance
#736 FRAME_INSETS_R0 mira closed planned_task FRAME_PROPERTIES 3 0.5 10

Reported by Astea, 6 years ago.

Description

wiki page: FRAME_INSETS_R0 - effort: 0.5d

Analysis_owners

mira

Analysis_reviewers

tanya

Analysis_score

3

Design_owners

mira

Design_reviewers

tanya

Design_score

3.5

Imp._owners

mira

Imp._reviewers

pap

Imp._score

4

Test_score

0

Analysis

Overview

Frame insets are the fields surrounding the frame content in the order - padding, border, margins. (see the picture trunk/sophie2-platform/doc/spec-diagrams/FrameBounds.png) They could differ in width for left, right, top and bottom.

Task requirements

  • There should be common way of keeping the four widths.
  • There should be common way of setting the same width for left, right, top and bottom.
  • There should be common way of setting four different widths.
  • (Optional, if there is time) There should be communal hud for setting the insets.

Task result

The result of this task is source code.

Implementation idea

  • Create class Insets for the four properties - left, right, bottom, top.
  • Create methods for setting and getting the insets.
  • Create communal hud for setting the insets.

How to demo

  • Create inset with only one value for width and check if it is set to all four.
  • Check if the user set values (through the hud) are correctly set to the insets.

Design

Create org.sophie2.base.model.book.Insets class

  • The new class should extend BaseProObject class and have four properties for the left, right, bottom and top widths:
    • Float left()
    • Float right()
    • Float bottom()
    • Float top()
  • InsetsProp should have 3 constructors:
    • default - setting all four widths to 0
    • with one Float argument width - setting all four widths to width
    • with four different arguments - setting top(), left(), bottom(), right() widths in this order.

Implementation

The implementation is trunk/sophie2-platform/modules/org.sophie2.base.model.book/src/main/java/org/sophie2/base/model/book/InsetsProp.java?rev=909

Testing

Comments

(Write comments for this or later revisions here.)

  • About the optional requirement - I don't see how could one implement a halo, when the halos library hasn't passed its 0 revision and it's concept is not revisioned and cleared.