no more gbuild loops: break early on nonexistent objects (this commit breaks multi...
[LibreOffice.git] / starmath / visual-editor-todo
blobf378d2db6940d266579315211d46c2cb73c5f859
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. SmGraphicWindow::KeyInput relies on comparison of sal_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. Remove the CreateTextFromNode methods and replace calls to it with NodeToTextVisitor
19 5. Extend NodeToTextVisitor to update token offsets so SmNode::GetRow and SmNode::GetColumn will work.
20    (These methods can be used to enable synchronization of caret positions between visual and non-visual editor).
22 Medium
23 ------
24 1. SmCursor::InsertCol() method for added columns to matrices should be implemented.
25 2. SmCursor` should support deletion of lines, rows, cols and sub-/superscripts.
26 3. SmCursor::InsertSubSup() should wrap the body in a SmBraceNode if the body is an SmOperNode, SmBinVerNode, etc.
27 4. When OpenOffice Math runs in standalone mode it centers the current formula, this is not nice for visual editing.
29 Complex
30 -------
31 1. SmAlignNode and SmFontNode are ignored by visual editor, figure out how these should work.
32 2. Solve the flickering issue when drawing formulas (See dev@gsl.OpenOffice.org)
33 3. Make " a shortcut for creating an SmTextNode with FNT_TEXT, also check that SmNodeToTextVisitor supports this.
34 4. parse.cxx merges multiple blanks into one SmBlankNode, the visual editor doesn't...
36 Complex and non-essential
37 -------------------------
38 * Global clipboard integration
39 * Consider improving GUI for "Formula Elements"-dialog, most buttons work with visual editor
40 * Consider allowing users to enter commands in visual editor, by prefixing the command...
41 * Optimize things, for instance SmCursor::AnnotateSelection() is called way too many places...
42 * Improve handling of MoveUp and MoveDown in SmCursor::Move, SmCaretPos2LineVisitor might need improvement.
43 * Synchronized command text caret and visual editor caret.