[[BackLinksMenu]] [[TicketQuery(summary=FRAME_POSITION_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|)]] = Analysis = == Overview == In default mode the frame`s position is the position of its contents`s upper left point, however a frame should be able to set and get its position in all modes(including borders, margins, etc.) and for different special points(middle, right angle, etc). Its coordinates are calculated in relation to the upper left angle of the page which has coordinates (0,0). Frames could overlap and/or not fit into the page. Even when some frames or frame parts are outside the page`s range they are still a part of the working area and should be seen in author mode. They however should be clipped out in reader mode so that the reader stays unaware of them. == Task requirements == * The frame should have only properties defining its position (x, y for example) in default mode. * A frame should have get and set methods for position in all modes and for all special points. == Task result == The result of this task is source code. == Implementation idea == * Create Position class extending !ProObject with properties for the frame`s position. * Add Position position property to the Frame. == Related == * [source:trunk/sophie2-platform/doc/spec-diagrams/FrameBounds.png] * [wiki:FRAME_PADDING_R0] * [wiki:FRAME_MARGINS_R0] * [wiki:FRAME_INSETS_R0] * [wiki:FRAME_BOUNDS_R0] * [wiki:FRAME_SIZE_R0] == How to demo == * Create frame with concrete coordinates and check if they are correct. * Change the frames coordinates and check that its position is updated. = Design = = 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.)