22#include <rtl/strbuf.hxx>
44#define STAROFFICE_XML "StarOffice XML (Math)"
45inline constexpr OUStringLiteral
MATHML_XML =
u"MathML XML (Math)";
107 bool bOutputForScreen)
override;
111 OUString* pFullTypeName,
112 sal_Int32 nFileFormat,
113 bool bTemplate =
false )
const override;
116 virtual bool InitNew(
const css::uno::Reference< css::embed::XStorage >& xStorage )
override;
118 virtual bool Save()
override;
131 void InvalidateCursor();
136 SFX_DECL_OBJECTFACTORY();
140 static
void InitInterface_Impl();
146 virtual
bool ConvertTo(
SfxMedium &rMedium ) override;
151 static void LoadSymbols();
152 static void SaveSymbols();
154 void ArrangeFormula();
163 OUString GetComment()
const;
166 void ReplaceBadChars();
169 void SetText(
const OUString& rBuffer);
179 void SetSmSyntaxVersion(sal_uInt16 nSmSyntaxVersion);
183 OUString
const & GetAccessibleText();
187 void DrawFormula(
OutputDevice &rDev,
Point &rPosition,
bool bDrawSelection =
false);
200 virtual void SetModified(
bool bModified =
true)
override;
209 bool HasCursor()
const;
211 void writeFormulaOoxml(const ::sax_fastparser::FSHelperPtr& pSerializer,
215 void writeFormulaRtf(OStringBuffer& rBuffer, rtl_TextEncoding nEncoding);
218 void UpdateEditEngineDefaultFonts();
223 m_pMlElementTree = pMlElementTree;
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
virtual bool InitNew(const css::uno::Reference< css::embed::XStorage > &xStorage)
virtual bool ConvertFrom(SfxMedium &rMedium)
virtual void OnDocumentPrinterChanged(Printer *pNewPrinter)
virtual bool Load(SfxMedium &rMedium)
virtual bool SaveAs(SfxMedium &rMedium)
virtual void SetVisArea(const tools::Rectangle &rVisArea)
virtual void Draw(OutputDevice *, const JobSetup &rSetup, sal_uInt16 nAspect, bool bOutputForScreen)=0
virtual void FillClass(SvGlobalName *pClassName, SotClipboardFormatId *pFormat, OUString *pFullTypeName, sal_Int32 nVersion, bool bTemplate=false) const=0
virtual void SetModified(bool bModified=true)
SfxItemPool & GetPool() const
virtual SfxUndoManager * GetUndoManager()
SmNode * mpTree
Formula tree.
const SmTableNode * GetFormulaTree() const
void SetFormulaArranged(bool bVal)
SfxPrinter * GetPrinter()
VclPtr< SfxPrinter > mpPrinter
const OUString & GetText() const
std::unique_ptr< SmCursor > mpCursor
SmMlElement * m_pMlElementTree
std::unique_ptr< AbstractSmParser > maParser
std::set< OUString > maUsedSymbols
std::unique_ptr< SmTableNode > mpTree
SmMlElement * GetMlElementTree()
VclPtr< Printer > mpTmpPrinter
const SmFormat & GetFormat() const
sal_uInt16 GetSmSyntaxVersion() const
rtl::Reference< SfxItemPool > mpEditEngineItemPool
std::unique_ptr< SmEditEngine > mpEditEngine
void SetMlElementTree(SmMlElement *pMlElementTree)
const std::set< OUString > & GetUsedSymbols() const
AbstractSmParser * GetParser()
SvtLinguOptions maLinguOptions
void SetFormulaTree(SmTableNode *pTree)
sal_uInt16 mnSmSyntaxVersion
SmPrinterAccess(SmDocShell &rDocShell)
VclPtr< Printer > pPrinter
OutputDevice * GetRefDev()
VclPtr< OutputDevice > pRefDev
reference_type * get() const
virtual void SetText(const OUString &rStr) override
constexpr OUStringLiteral MATHML_XML
void SmMlIteratorFree(SmMlElement *pMlElementTree)
#define SFX_DECL_INTERFACE(nId)
void SetPrinter(IDocumentDeviceAccess *, SfxPrinter const *, bool bWeb)