23#include <tqpopupmenu.h>
32#include "contextstyle.h"
33#include "formulacursor.h"
34#include "formulaelement.h"
35#include "kformuladocument.h"
36#include "kformulamimesource.h"
38KFORMULA_NAMESPACE_BEGIN
42MimeSource::MimeSource(
Document* doc,
const TQDomDocument& formula)
43 : formulaDocument( doc ), document(formula)
51 TQPtrList<BasicElement> list;
52 list.setAutoDelete(
true);
53 if ( cursor.buildElementsFromDom( document.documentElement(), list ) ) {
55 latexString = rootElement->toLatex().utf8();
56 if (latexString.size() > 0) {
57 latexString.truncate(latexString.size()-1);
62MimeSource::~MimeSource()
67const char * MimeSource::selectionMimeType()
69 return "application/x-kformula";
72const char* MimeSource::format(
int n )
const
76 return selectionMimeType();
87bool MimeSource::provides(
const char * format)
const
90 if(TQString(format)==selectionMimeType())
92 else if(TQString(format)==
"image/ppm")
94 else if(TQString(format)==
"text/plain")
96 else if(TQString(format)==
"text/x-tex")
102TQByteArray MimeSource::encodedData (
const char *format )
const
106 if ((fmt==
"text/plain") || (fmt==
"text/x-tex"))
109 if (fmt==selectionMimeType()) {
110 TQByteArray d=document.toCString();
111 d.truncate(d.size()-1);
115 if (fmt==
"image/ppm") {
118 ContextStyle& context = formulaDocument->getContextStyle(
false );
121 rootElement->calcSizes(context);
122 TQRect rect(rootElement->getX(), rootElement->getY(),
123 rootElement->getWidth(), rootElement->getHeight());
126 context.layoutUnitToPixelY( rootElement->getHeight() ) );
128 TQPainter paint(&pm);
129 rootElement->draw(paint, rect, context);
134 buff.open(IO_WriteOnly);
135 TQImageIO io(&buff,
"PPM");
136 TQImage ima=pm.convertToImage();
140 return TQByteArray();
146 return TQByteArray();
149const SymbolTable& MimeSource::getSymbolTable()
const
151 return formulaDocument->getContextStyle(
false ).symbolTable();
154KFORMULA_NAMESPACE_END
Contains all the style information for the formela.
A document that can contain a lot of formulas (container).
int layoutUnitToPixelX(int lupix) const
The "layout unit pixel" -> "[zoomed] view pixel" conversions.