View Full Version : Fop MiniScribus XSL-FO stable

11th October 2007, 18:34
I have release today my first stable QGraphicsView based Projekt... build on QT4.3 it run on MacOSX & Win32 Linux untested.. QGraphicsSceneMouseEvent on linux is not same as mac or win....

Release on http://www.qt-apps.org/content/show.php/Fop+MiniScribus+XSL-Fo?content=67552 on Text Processing

XSL-FO Fop MiniScribus handle only apache FOP format based file on block-container (Floating Layer) element and is child, and export on pdf postscript , the next release on planing can export xhtml as floating layer ..( <div> each Layer are on QTextDocument )

- Inline SVG vector images ( instream-foreign-object )
- Read all images supported from QT. Tiff,jpeg,gif,png,ppm, bmp.
-Local or external http://... images ( fo:external-graphic) active on PDF.
- Full support to Table Background color, cell color, spacing , padding,
- Paragraph margin padding and inline formatting from avaiable fonts.
- External link or internal by ID.
- Document can render self or by Apache-fop java, on server or local.

11.10.07 version 0.5.8 / Set table cell / paragraph to default 0 / not 12pt top and 12 bottom space from default QTextDocument Set only selectable active item at top zindex/zvalue on the active QGraphicsScene ( append subclass GraphicsScene) on this case not having intersection problem from Floating Layer.

To not having Intersection Layer i have subclass QGraphicsScene and i filter active only top Zindex / zValue...

/* filter only item a top Zindex / zValue */
bool GraphicsScene::WakeUp( const QPointF incomming )
QList<QGraphicsItem *> listing = QGraphicsScene::items(incomming);
qreal thebest = 0; /* zindex on front */
for (int o=0;o<listing.size();o++) {
thebest = qMax(listing[o]->zValue(),thebest);
/* activate item at top z-index zValue / not the down not visible!!!! */
for (int e=0;e<listing.size();e++) {
if (listing[e]->zValue() == thebest) {
emit SelectOn(listing[e],thebest);
return true;
return false;
void GraphicsScene::mouseDoubleClickEvent ( QGraphicsSceneMouseEvent * event )
if (WakeUp(QPointF(event->scenePos().x(),event->scenePos().y()))) {
event->setAccepted ( true ) ;