diff options
author | Jonas Finnemann Jensen <jopsen@gmail.com> | 2010-10-28 23:59:35 +0200 |
---|---|---|
committer | Jonas Finnemann Jensen <jopsen@gmail.com> | 2010-10-28 23:59:35 +0200 |
commit | 5ec8ccbee30e4e6277fb1df68ae8d648ea8bf64a (patch) | |
tree | 13fcd8ec58f3fbee5d4b5384ca5f8523ee742388 | |
parent | 2a458260e4bc014b3be769fa75c5ed1886dcb360 (diff) |
Updating todo-file for visual editor, and adding graph dump script
-rw-r--r-- | readme.md | 72 | ||||
-rw-r--r-- | starmath/visual-editor-todo | 44 | ||||
-rwxr-xr-x | starmath/workben/smath-dump-watch.sh | 26 |
3 files changed, 70 insertions, 72 deletions
diff --git a/readme.md b/readme.md deleted file mode 100644 index 16301fc1b6..0000000000 --- a/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -Visual Formula Editor for LibreOffice Math -========================================== - -This repository facilitates development of a visual formula editor -for LibreOffice/OpenOffice Math. This work was started by me (Jonas - Finnemann Jensen) during GSoC 2010 with Go-OO. During development -this repository will be merged with libreoffice/writer on a random -basis, but will hopefully at some point be merged back into -LibreOffice. - -Description of the GSoC project that started this, be found -[here](http://www.freedesktop.org/wiki/Software/ooo-build/SummerOfCode/2010/Jonas). -Please note that this page will not be updated futher, but it does -contain relevant information about the project and discusses the -implementation strategy. I might also post progress updates on -[my blog](http://jopsen.dk/blog/category/computer/openoffice/). -But the project status will be documented and updated in this file, see below. - -Videos of the patch in action can be found at: - - * [Development Preview 3 (13th of August)](http://www.youtube.com/watch?v=3foNqKYAlYY) - * [Development Preview 2 (26th of July)](http://www.youtube.com/watch?v=tELPgJIC1sg) - * [Development Preview 1 (21th of July)](http://www.youtube.com/watch?v=W8yXyDiIQPc) - -(All videos can also be found [here](http://jopsen.dk/downloads/GSoC2010/Videos/) better quality and various formats). - -If you're interested in more technical details the source (that I've -written) is extensively documented with doxygen comments. You're also -welcome to [contact me](http://jopsen.dk/blog/about/) with any -questions, or wish to help hacking. My email is <jopsen@gmail.com> -and I'm jopsen on #LibreOffice (if I'm online), there's also a finite -set of [other options](http://jopsen.dk/blog/about/). - -Project Status -============== -*This is basically my todo list, so don't be surprised if things are not immediately obvious.* - -Easy ----- -1. Draw a non-blinking line under the the visual line that the caret is in, in `SmCaretDrawingVisitor`. -2. `SmGraphicWindow::KeyInput` relies on comparison of `sal_Char`, a better way must be available for CTRL+c -3. Code style (missing spaces, linebreaks and a few renames) -4. More documentation -5. Replace `j_assert` with `DBG_ASSERT` - -Medium ------- -1. `SmCursor::InsertCol()` method for added columns to matrices should be implemented. -2. `SmCursor` should support deletion of lines, rows, cols and sub-/superscripts. -3. `SmCursor::InsertSubSup()` should wrap the body in a `SmBraceNode` if the body is an `SmOperNode`, `SmBinVerNode`, etc. -4. Make caret in visual editor blink. -5. Don't draw visual editor caret, when `SmGraphicWindow` doesn't have focus. -6. When OpenOffice Math runs in standalone mode it centers the current formula, this is not nice for visual editing. - -Complex -------- -1. `SmAlignNode` and `SmFontNode` are ignored by visual editor, figure out how these should work. -2. Solve the flickering issue when drawing formulas (See e-mail) -3. Make " a shortcut for creating an `SmTextNode` with `FNT_TEXT`, also check that `SmNodeToTextVisitor` supports this. -4. `parse.cxx` merges multiple blanks into one `SmBlankNode`, the visual editor doesn't... - -Complex and non-essential -------------------------- -1. Global clipboard integration -2. Support undo/redo with `UndoManager` integration -3. Consider improving GUI for "Formula Elements"-dialog, most buttons work with visual editor -4. Consider allowing users to enter commands in visual editor, by prefixing the command... -5. Optimize things, for instance `SmCursor::AnnotateSelection()` is called way too many places... -6. Improve handling of `MoveUp` and `MoveDown` in `SmCursor::Move`, `SmCaretPos2LineVisitor` might need improvement. - -Items are organized by complexity and importance, and I'm not sure everything needs to be addressed -before release, but it constitutes a list of things I can work on. diff --git a/starmath/visual-editor-todo b/starmath/visual-editor-todo new file mode 100644 index 0000000000..027140f0e2 --- /dev/null +++ b/starmath/visual-editor-todo @@ -0,0 +1,44 @@ +Visual Formula Editor for LibreOffice Math +========================================== + +This file contains a list of things to do for the visual formula editor. +The visual formula editor hack was started by Jonas during GSoC... +He is, as of writing this, still working on this features, but do by all +means feel free to help out. + +Here is the list of things to be done. They are organized by complexity and necessity, note that +some of the items are wishful thinking... If you have questions please feel free to ping me (Jonas) +on IRC (jopsen) or e-mail me at jopsen@gmail.com. + +Easy +---- +1. Draw a non-blinking line under the visual line that the caret is in, in SmCaretDrawingVisitor. +2. SmGraphicWindow::KeyInput relies on comparison of sal_Char, a better way must be available for CTRL+c +3. Code style (missing spaces, linebreaks and a few renames) +4. More documentation +5. Replace j_assert with DBG_ASSERT (don't do this yet). + +Medium +------ +1. SmCursor::InsertCol() method for added columns to matrices should be implemented. +2. SmCursor` should support deletion of lines, rows, cols and sub-/superscripts. +3. SmCursor::InsertSubSup() should wrap the body in a SmBraceNode if the body is an SmOperNode, SmBinVerNode, etc. +4. Make caret in visual editor blink. +5. Don't draw visual editor caret, when SmGraphicWindow doesn't have focus. +6. When OpenOffice Math runs in standalone mode it centers the current formula, this is not nice for visual editing. + +Complex +------- +1. SmAlignNode and SmFontNode are ignored by visual editor, figure out how these should work. +2. Solve the flickering issue when drawing formulas (See dev@gsl.OpenOffice.org) +3. Make " a shortcut for creating an SmTextNode with FNT_TEXT, also check that SmNodeToTextVisitor supports this. +4. parse.cxx merges multiple blanks into one SmBlankNode, the visual editor doesn't... + +Complex and non-essential +------------------------- +1. Global clipboard integration +2. Support undo/redo with UndoManager integration +3. Consider improving GUI for "Formula Elements"-dialog, most buttons work with visual editor +4. Consider allowing users to enter commands in visual editor, by prefixing the command... +5. Optimize things, for instance SmCursor::AnnotateSelection() is called way too many places... +6. Improve handling of MoveUp and MoveDown in SmCursor::Move, SmCaretPos2LineVisitor might need improvement. diff --git a/starmath/workben/smath-dump-watch.sh b/starmath/workben/smath-dump-watch.sh new file mode 100755 index 0000000000..6ca1b0c703 --- /dev/null +++ b/starmath/workben/smath-dump-watch.sh @@ -0,0 +1,26 @@ +#!/bin/bash + + +# Watches for formula dumps by starmath and renders them +# If starmath is compiled with the macro DEBUG_ENABLE_DUMPASDOT defined. +# shift+enter, in the visual formula editor will make starmath dump a +# graphviz graph of the formula tree structure. This is very useful when +# debugging. The formula is dumped to /tmp/smath-dump.gv- +# This script monitors this file and renders the graph when written, +# after which the formula is displayed using feh. +# +# Usage: Let this script run in the background, e.g. start it in a terminal +# (and don't close the terminal). Then compile starmath with DEBUG_ENABLE_DUMPASDOT +# defined, use the visual formula editor to write something and hit shift+enter. +# +# Note: This won't work on Windows as the /tmp/ folder will be missing. +# +# Author: "Jonas Finnemann Jensen" <jopsen@gmail.com> + +touch /tmp/smath-dump.gv; +while inotifywait -q -e close_write /tmp/smath-dump.gv; +do + dot -Tpng < /tmp/smath-dump.gv > /tmp/smath-dump.png; > /dev/null + kill `pidof -s feh`; > /dev/null + feh /tmp/smath-dump.png & > /dev/null +done |