bump product version to 5.0.4.1
[LibreOffice.git] / starmath / source / wordexportbase.hxx
blob059db4f08a203803045045900ff4f5e1156c434b
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_STARMATH_SOURCE_WORDEXPORTBASE_HXX
11 #define INCLUDED_STARMATH_SOURCE_WORDEXPORTBASE_HXX
13 #include "node.hxx"
15 /**
16 Base class implementing writing of formulas to Word.
18 class SmWordExportBase
20 public:
21 explicit SmWordExportBase( const SmNode* pIn );
22 virtual ~SmWordExportBase();
23 protected:
24 void HandleNode( const SmNode* pNode, int nLevel );
25 void HandleAllSubNodes( const SmNode* pNode, int nLevel );
26 void HandleTable( const SmNode* pNode, int nLevel );
27 virtual void HandleVerticalStack( const SmNode* pNode, int nLevel ) = 0;
28 virtual void HandleText( const SmNode* pNode, int nLevel ) = 0;
29 void HandleMath( const SmNode* pNode, int nLevel );
30 virtual void HandleFractions( const SmNode* pNode, int nLevel, const char* type = NULL ) = 0;
31 void HandleUnaryOperation( const SmUnHorNode* pNode, int nLevel );
32 void HandleBinaryOperation( const SmBinHorNode* pNode, int nLevel );
33 virtual void HandleRoot( const SmRootNode* pNode, int nLevel ) = 0;
34 virtual void HandleAttribute( const SmAttributNode* pNode, int nLevel ) = 0;
35 virtual void HandleOperator( const SmOperNode* pNode, int nLevel ) = 0;
36 void HandleSubSupScript( const SmSubSupNode* pNode, int nLevel );
37 virtual void HandleSubSupScriptInternal( const SmSubSupNode* pNode, int nLevel, int flags ) = 0;
38 virtual void HandleMatrix( const SmMatrixNode* pNode, int nLevel ) = 0;
39 virtual void HandleBrace( const SmBraceNode* pNode, int nLevel ) = 0;
40 virtual void HandleVerticalBrace( const SmVerticalBraceNode* pNode, int nLevel ) = 0;
41 virtual void HandleBlank() = 0;
42 const SmNode* const m_pTree;
46 #endif
48 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */