Last modified 16 years ago
Last modified on 03/30/09 13:40:00
Analysis
Overview
The idea if this task is to manipulate multiple elements of the page depending on the selected ones. One should be able to selected multiple elements and then manipulate them together. If for example someone selects several text frames they should be able to set a background for all of them.
Task requirements
- Multi manipulation should be implemented for(these apply both for currently selected elements and groups):
- Changing the position of a group of elements or the selected ones. The position is defined as the position of their bounding rectangle.
- Aligning elements of the group of elements or selected ones. See PAGE_ELEMENT_ALIGNING_R0.
- Change background of selected frames.
- If they have different background, the hud that manipulates the frames should show an undefined background.
- Changing the background should change all backgrounds.
- Resize - resizing one element of the group should result in resizing all the elements with a corresponding coefficient.
- Change border color and thickness.
- Changing properties of elements in group should change these elements that have such properties.
- Changing the background should be done for elements that support it, despite having elements that do not.
Task result
- code
- wiki page with specification about how things work.
Implementation idea
- Create a manipulation logic that changes properties of elements that are selected or grouped.
- Use the halos and huds of the last selected element to change things. Later we may need other menu to appear for selected elements.
Related
PAGE_ELEMENT_GROUPING_R0
PAGE_ELEMENT_ALIGNING_R0
PAGE_ELEMENT_MULTI_SELECT_R0
GROUP_PAGE_ELEMENTS_GROUP_ALIGN_R0
How to demo
- Open Sophie2 and select some elements. Change background or the position of one element. This should result in changing these things for the other elements as well.