GSoC 2007 Math Plugin Progress
Stage 1
Plan
- Familiarize with scribus' code.
- Write a very basic latex template, so I have something to test in later stages.
Notes
Code:
Latex:
Completion
DONE!
Stage 2
Plan
Start writing a very simple dummy frame and show it to the community to see if I'm doing it right.
Notes
This is not expected to do something useful just a kind of "hello world" so I'm sure that I use the right base-classes, integrate it correctly with the UI and don't make huge mistakes.
Completion
DONE!
Report
(11 Jun 2007)
Hello! Here's my report for this week: - I checked out 1.3.5 - Finally got it to compile (some problems with qt4) - Integrated my latexframe code - Wrote all functions that are required to compile without linker errors - Checked the QT docs for differences between QT3 and 4. (I didn't work with 4 before) - Took me quite some time to find out that the build error in [ 98%] Building CXX object scribus/plugins/svgexplugin/CMakeFiles/svgexplugin.dir/svgexplugin.o is not related to my changes but was a faulty version in svn. - Still having some problems with the buildprocess: a) is it normal that a full build takes more than one hour or is my machine just too slow? b) I can't currently install my build: CMake Error: Error in cmake code at /home/r2d2/build/Scribus/builddir/scribus/cmake_install.cmake:41: FILE INSTALL cannot find file "/home/r2d2/build/Scribus/scribus/edit1format.h" to install. Current CMake stack: /home/r2d2/build/Scribus/builddir/scribus/cmake_install.cmake however I think this is a problem with the "svn up" run after running cmake. I have to read some cmake docs tomorrow and hope that I don't have to rebuild the whole thing again. Regards, Hermann
Report
(17 Jun 2007)
Hello! Here is my progress report for this week: - I finally got my code to a point where it can call latex produce an postscript file and read and display this file - http://r2d2.stefanm.com/latex1.png - I was trying to find a solution how to integrate it well with the UI and the existing code, but I didn't come to a satisfying conclusion: Most of the code depends on the itemType, but I don't allocate a new item type for my frame (as discussed with avox). See scribusdoc.cpp:3200 (ScribusDoc::itemAdd) for an example of this problem. Currently I've just replaced the code to create an ImageFrame. This works as my frame is a subclass of ImageFrame, but this is a very ugly hack. This is also the main reason why I don't consider this code ready for the public and don't want to go it to svn yet. - I'm using an asynchrous approach to render the frame: First a indication is displayed that latex is currently being run and when it's ready the content is displayed. But there is a problem with this: ScribusDoc::refreshItem is protected, so I can't call it when the frame is ready. So at the moment the user has to do something that rerenders the frame. I think making my class a friend of ScribusDoc would be a solution. Waiting till latex is finished is no solution, this could block the UI for too long. Next steps: - Resolve the itemType problem. - Add code for running an editor. Regards, Hermann
Stage 3
Plan
Write a version that runs latex with a hardcoded sample file.
Notes
This version can still display the image frame UI, so I can concentrate on the basic functionality
Completition
I'm working on this in parallel with Stage 2 as it turned out to be easier this way.
Should be complete by mid-term.
mostly DONE! saving the frames is missing but postponed currently, because I give the gui more priority now, so more people can test it.
Stage 4
Plan
Add the basic UI elements.
Completition
Should probably also be complete by mid-term, at least not much after.
Working on this. Good deal done.
Stage 5
Plan
Add template support to the UI.
Stage 6
Plan
Develop usefull LaTeX templates.
Stage 7
Plan
Modify LyX to work with Scribus.
Notes
Use lyxclient?
Stage 8
Plan
Add python bindings.