GSoC 2011 Tables Post GSoC Tasks: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
Line 84: Line 84:
= Task Descriptions =
= Task Descriptions =
== Urgent Tasks ==
== Urgent Tasks ==
=== Style Editing ===
Support for editing all the properties of table / cell styles should be added to the StyleManager. The work is quite straightforward, and similar to the work that needs to be done in the Properties Palette (see below).
=== Cell / Table Properties in Property Palette ===
=== Cell / Table Properties in Property Palette ===
The existing "Table" property palette should be made more robust and support all properties of the table. A combobox for selecting the table style, as well as a "Remove Direct Table Formatting" button should be added. A new "Cell" property palette should be added, supporting all properties of cells.
=== Cell Text Formatting ===
=== Cell Text Formatting ===
The existing "Text" property palette should be modified to support formatting of paragraphs and spans of selected text in tables. Modifications to the relevant slots in ScribusDoc is probably also necessary.
=== Load / Save ===
=== Load / Save ===
Loading saving of both tables and cells, as well as table style and cells styles have to be written. This requires modification of the scribus15format load/save plugin and the saxx(...) functions of the styles, and possibly other places as well.
=== Painting for Print Output ===
=== Painting for Print Output ===
=== Style Editing ===
The table item is currently only painted on screen. The first step will be to add support for tables to PDFLibCore, to support output to PDF. After that, support to the other outputs needs to be added as well.


== Small Tasks ==
== Small Tasks ==

Revision as of 10:39, 22 August 2011

This is a list of tasks relating to tables that are up for grabs. Some of the tasks are small and relatively simple, some are more complex, and others are really complex. For each task I have written some thoughts and ideas on how to solve them.

TODO: Write these.

Task Progress

Task Difficulty Status
Cell / Table Properties in Property Palette Medium In Progress
Cell Text Formatting Medium In Progress
Load / Save Medium In Progress
Painting for Print Output Medium In Progress
Style Editing Medium In Progress
Cleanup of Resizing Code (Strategies) Medium TODO
Extend Unit Testing Python Script Easy TODO
Write C++ Unit Tests Where Possible Easy TODO
Row / Columns Selection Canvas Gestures Easy TODO
Optimize Table Painting Hard TODO
Import from CSV Medium TODO
Import from ODS Hard TODO
Horizontal on Top/Vertical on Top Border Painting Hard TODO
Odd/Even Row/Column Formatting in Table Style Medium TODO
Extend Scripter API and Port to ScripterNG Medium TODO
Adjust Table to Content Hard TODO
Separate Border Model Hard TODO
Breaking Tables over Multiple Frames (Very!) Hard TODO

Task Descriptions

Urgent Tasks

Style Editing

Support for editing all the properties of table / cell styles should be added to the StyleManager. The work is quite straightforward, and similar to the work that needs to be done in the Properties Palette (see below).

Cell / Table Properties in Property Palette

The existing "Table" property palette should be made more robust and support all properties of the table. A combobox for selecting the table style, as well as a "Remove Direct Table Formatting" button should be added. A new "Cell" property palette should be added, supporting all properties of cells.

Cell Text Formatting

The existing "Text" property palette should be modified to support formatting of paragraphs and spans of selected text in tables. Modifications to the relevant slots in ScribusDoc is probably also necessary.

Load / Save

Loading saving of both tables and cells, as well as table style and cells styles have to be written. This requires modification of the scribus15format load/save plugin and the saxx(...) functions of the styles, and possibly other places as well.

Painting for Print Output

The table item is currently only painted on screen. The first step will be to add support for tables to PDFLibCore, to support output to PDF. After that, support to the other outputs needs to be added as well.

Small Tasks

Cleanup of Resizing Code (Strategies)

Extend Unit Testing Python Script

Write C++ Unit Tests Where Possible

General Improvements

Row / Columns Selection Canvas Gestures

Optimize Table Painting

Import from CSV

Import from ODS

Horizontal on Top/Vertical on Top Border Painting

Odd/Even Row/Column Formatting in Table Style

Extend Scripter API and Port to ScripterNG

Complex / Long Term Task

Adjust Table to Content

Separate Border Model

Breaking Tables over Multiple Frames