Massive refactoring to allow us to support images. This touches just about every part of the engine, from implementing Unicode string handling to reworking how we treat paragraphs and their children.
[X] Rework paragraphs to contain 'inline' elements
[X] Rework editor to deal with inlines instead of runs
[X] Add scrolling to inspector
[X] Add refresh to inspector
[X] Add styling information to inspector
[X] Add tags for different content types to inspector
[X] Add image element with src property
[X] Render placeholder in layout
[X] Fix selections to work with non-run items
[X] Fix picking to work with non-run items
[x] Remove existing run requirement (i.e. editor will insert a run on-demand)
[x] Add command to insert an image
[x] Handle sizingPostpone actual bitmap rendering to future PR
[x] Proper inline layout of images (text will break for the image)
[x] Make index respect unicode
[x] Represent opaque elements with a replacement character in the paragraph, then use PangoAttrShape to leave a space in the text layout. The size of the space will be determined by InlineLayout.
[x] Add BoxLayout for boxes, which also account for text content
[x] Generic InlineLayout for inline elements
[x] Layout should be completely abstract and model-independent
[x] Factory for creating layout items (webkit "renderers") for a given model
[x] Render selection for images
[x] Rename inline to fragment
[X] Fix tests
[X] Fix multi-paragraph operations
Part of #30
In subsequent PRs:
Implement widgets (i.e. resize handles for images)
Allow interacting with widgets via the keyboard (through selections? or callbacks)
Cleanup editor to deal with non-text objects generally
Stop using LayoutBox for things which are neither layout related nor boxes
Create a LayoutImage renderer (and preferably drop the 'layout' prefix from renderers)
Move any special casing of images into the image class and associated renderer
Fix the importer so it doesn't spew new lines everywhere
Massive refactoring to allow us to support images. This touches just about every part of the engine, from implementing Unicode string handling to reworking how we treat paragraphs and their children.
Handle sizingPostpone actual bitmap rendering to future PRPart of #30
In subsequent PRs: