-
Notifications
You must be signed in to change notification settings - Fork 166
List operations
To get an idea what atomic operations are needed around list manipulations, typical UI actions need to be collected. A lot of the UI actions are moving data around, so there will be many operations besides AddXXX and RemoveXXX to optimize the number of operations needed to express an UI action and to avoid some data removal and then insertion again.
(Next to operations needed to express UI actions there surely are also more specific operations one would like to use from scripts, which should be supported as well)
Not sure if the current addressing system will be sufficient to support all operations needed, let's see. Possible workaround can be the xml:ids, but xml:id addresses alone will not be sufficient in OT with position-only ops.
The design of the operations should possibly also include thinking about the possibility to create reverse operations, for the planned Undo/Redo-Mechanism.
Possible elements of a list:
<text:list text:continue-list="" text:continue-numbering="" text:style-name="" xml:id="">
<text:list-header xml:id="">
<text:h/>
<text:list/>
<text:number/>
<text:p/>
<text:soft-page-break/>
</text:list-header>
<text:list-item text:start-value="" text:style-override="" xml:id="">
<text:h/>
<text:list/>
<text:number/>
<text:p/>
<text:soft-page-break/>
</text:list-item>
</text:list>
Possible elements of a list style:
<text:list-style style:display-name="" style:name="" text:consecutive-numbering="">
<text:list-level-style-bullet/>
<text:list-level-style-image/>
<text:list-level-style-number/>
</text:list-style>
Listing of actions related to lists. Please add your actions.
List style to use can e.g. be hardcoded into UI element (buttons). If done for paragraphs behind an existing list, the new items are appended to that list.
If done for items in middle of list, in LO results that original list gets split, but second list continues counting of the first one.
When the selection contains a list's items, clicking either one of the list buttons should change those list items to be either numbered or bulleted depending on what was chosen.
Usually one level up or down. Means also creation of a new list if needed or merging an existing one into another.
Never used or needed that myself, but is supported e.g. in LO when pressing Backspace (or Shift-Backspace) at begin of list-item
yet to be thought about when there are lots of UI actions collected