make ValueTransfer easier to understand
[LibreOffice.git] / starmath / visual-editor-todo
blob7e3cc5d24dc1cb464f64239ac041c3483ea33606
1 Visual Formula Editor for LibreOffice Math
2 ==========================================
4 This file contains a list of things to do for the visual formula editor.
5 The visual formula editor hack was started by Jonas during GSoC...
6 He is, as of writing this, still working on this features, but do by all
7 means feel free to help out.
9 Here is the list of things to be done. They are organized by complexity and necessity, note that
10 some of the items are wishful thinking... If you have questions please feel free to ping me (Jonas)
11 on IRC (jopsen) or e-mail me at jopsen@gmail.com.
13 Easy
14 ----
15 1. SmGraphicWidget::KeyInput relies on comparison of char, a better way must be available for CTRL+c
16 2. Code style (missing spaces, linebreaks and a few renames)
17 3. More documentation
18 4. Extend NodeToTextVisitor to update token offsets so SmNode::GetRow and SmNode::GetColumn will work.
19    (These methods can be used to enable synchronization of caret positions between visual and non-visual editor).
21 Medium
22 ------
23 1. SmCursor::InsertCol() method for added columns to matrices should be implemented.
24 2. SmCursor` should support deletion of lines, rows, cols and sub-/superscripts.
25 3. SmCursor::InsertSubSup() should wrap the body in a SmBraceNode if the body is an SmOperNode, SmBinVerNode, etc.
26 4. When OpenOffice Math runs in standalone mode it centers the current formula, this is not nice for visual editing.
28 Complex
29 -------
30 1. SmAlignNode and SmFontNode are ignored by visual editor, figure out how these should work.
31 2. Solve the flickering issue when drawing formulas (See dev@gsl.OpenOffice.org)
32 3. Make " a shortcut for creating an SmTextNode with FNT_TEXT, also check that SmNodeToTextVisitor supports this.
33 4. parse.cxx merges multiple blanks into one SmBlankNode, the visual editor doesn't...
35 Complex and non-essential
36 -------------------------
37 * Global clipboard integration
38 * Consider improving GUI for "Formula Elements"-dialog, most buttons work with visual editor
39 * Consider allowing users to enter commands in visual editor, by prefixing the command...
40 * Optimize things, for instance SmCursor::AnnotateSelection() is called way too many places...
41 * Improve handling of MoveUp and MoveDown in SmCursor::Move, SmCaretPos2LineVisitor might need improvement.
42 * Synchronized command text caret and visual editor caret.