genebot/rocx — pull request #28 by genebot (2014-07-07 15:16:54+00:00)
Title: (wip) Styles

_From the docs:_
>Within a WordprocessingML file, styles are predefined sets of table, numbering, paragraph, and/or character properties which can be applied to text within the document. This allows the formatting properties to be stored and managed independently from the content, allowing the look of document content to be changed in a single location (e.g. the look of all first-level headings is changed by changing the style with styleId Heading1 rather than looking for and changing each paragraph in the document).

> Each style defined within a WordprocessingML document requires a style definition. The style definition contains all of the information needed by a consumer to store and display that style within a WordprocessingML document, and is defined using the style element. The style definition for any style in WordprocessingML can be divided into three segments: general style properties, style types, type specific formatting properties.

For the initial implementation of styles, it will be necessary to implement a few general style-level properties. From there, I will extend `Style` to have all the options for paragraph properties and run properties.

In the future, it will necessary to add numbering styles and table styles, but I'm leaving those out now because I haven't implemented numbering or tables yet.

## Tasks:
- [ ] Add style aliases (a)
- [ ] Add auto redefinition (b)
- [ ] Add parent styles (c)
- [ ] Add hidden property (d)
- [ ] Add latent styles (e)
- [ ] Add linked styles (f)
- [ ] Add locking (g)
- [ ] Add latent style exception (h)
- [ ] Add styles for next paragraph style (i)
- [ ] Add e-mail message text style (j)
- [ ] Add e-mail message composition style (k)
- [ ] Add e-mail message reply style (l)
- [ ] Add primary style (m)
- [ ] Add revision information (n)
- [ ] Add hiding style from main UI (o)
- [ ] Add UI sorting order (p)
- [ ] Add removing semi-hidden property when style is in use (q)
- [x] Add paragraph properties (r)
- [x] Add run properties (s)
- [x] Add name (t)