diff options
Diffstat (limited to 'svx/source/customshapes')
-rw-r--r-- | svx/source/customshapes/EnhancedCustomShape2d.cxx | 1 | ||||
-rw-r--r-- | svx/source/customshapes/EnhancedCustomShape2d.hxx | 5 | ||||
-rw-r--r-- | svx/source/customshapes/EnhancedCustomShape3d.cxx | 4 | ||||
-rw-r--r-- | svx/source/customshapes/EnhancedCustomShapeEngine.cxx | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx | 10 | ||||
-rw-r--r-- | svx/source/customshapes/tbxcustomshapes.cxx | 2 |
6 files changed, 16 insertions, 8 deletions
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx index 0ef28d7972dc..940b882f2e7c 100644 --- a/svx/source/customshapes/EnhancedCustomShape2d.cxx +++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx @@ -33,7 +33,6 @@ #include "EnhancedCustomShape2d.hxx" #include "EnhancedCustomShapeGeometry.hxx" #include "EnhancedCustomShapeTypeNames.hxx" -#include "EnhancedCustomShapeFunctionParser.hxx" #include <svx/svdoashp.hxx> #include <svx/svdtrans.hxx> #include <svx/svdocirc.hxx> diff --git a/svx/source/customshapes/EnhancedCustomShape2d.hxx b/svx/source/customshapes/EnhancedCustomShape2d.hxx index 6be05a9e588d..2d0f306ab66b 100644 --- a/svx/source/customshapes/EnhancedCustomShape2d.hxx +++ b/svx/source/customshapes/EnhancedCustomShape2d.hxx @@ -36,13 +36,13 @@ #include <com/sun/star/uno/Sequence.h> #include <com/sun/star/beans/PropertyValues.hpp> #include <com/sun/star/awt/Point.hpp> -#include <svtools/itemset.hxx> +#include <svl/itemset.hxx> #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp> -#include <EnhancedCustomShapeFunctionParser.hxx> +#include <svx/EnhancedCustomShapeFunctionParser.hxx> #include <boost/shared_ptr.hpp> #include <vector> @@ -52,6 +52,7 @@ #define DFF_CUSTOMSHAPE_EXCH 4 class SdrModel; +class SdrObject; class SfxItemSet; struct SvxMSDffVertPair; struct SvxMSDffCalculationData; diff --git a/svx/source/customshapes/EnhancedCustomShape3d.cxx b/svx/source/customshapes/EnhancedCustomShape3d.cxx index 07f7c2ab6bea..63759e1dc4b9 100644 --- a/svx/source/customshapes/EnhancedCustomShape3d.cxx +++ b/svx/source/customshapes/EnhancedCustomShape3d.cxx @@ -37,8 +37,8 @@ #include <svditer.hxx> #include <svx/svdobj.hxx> #include <svx/svdoashp.hxx> -#include <svtools/poolitem.hxx> -#include <svtools/itemset.hxx> +#include <svl/poolitem.hxx> +#include <svl/itemset.hxx> #include <svx/xfillit0.hxx> #include <svx/xsflclit.hxx> #include <svx/xit.hxx> diff --git a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx index 8ae4e34197c5..673e95877fcb 100644 --- a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx +++ b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx @@ -48,7 +48,7 @@ #include <svx/outlobj.hxx> #include <svx/outliner.hxx> #include <svx/svdoutl.hxx> -#include <svtools/itemset.hxx> +#include <svl/itemset.hxx> #include <svx/svdopath.hxx> #include <svx/svdpage.hxx> #include <svx/svdmodel.hxx> diff --git a/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx b/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx index 022b7505cb44..ee848c95192a 100644..100755 --- a/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx +++ b/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx @@ -30,7 +30,6 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_svx.hxx" -#include "EnhancedCustomShapeFunctionParser.hxx" #include "EnhancedCustomShape2d.hxx" #include <rtl/ustring.hxx> #include <tools/fract.hxx> @@ -39,6 +38,7 @@ // we're synchronized externally. // But watch out, the parser might have // state not visible to this code! + #define BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE #if defined(VERBOSE) && defined(DBG_UTIL) #include <typeinfo> @@ -1001,6 +1001,7 @@ template< typename T > struct custom_real_parser_policies : public ::boost::spir ( '-' multiplicative_expression )* ) */ + class ExpressionGrammar : public ::boost::spirit::grammar< ExpressionGrammar > { public: @@ -1162,6 +1163,8 @@ const ParserContextSharedPtr& getParserContext() namespace EnhancedCustomShape { + + ExpressionNodeSharedPtr FunctionParser::parseFunction( const ::rtl::OUString& rFunction, const EnhancedCustomShape2d& rCustoShape ) { // TODO(Q1): Check if a combination of the RTL_UNICODETOTEXT_FLAGS_* @@ -1192,6 +1195,8 @@ ExpressionNodeSharedPtr FunctionParser::parseFunction( const ::rtl::OUString& rF ::boost::spirit::space_p ) ); OSL_DEBUG_ONLY(::std::cout.flush()); // needed to keep stdout and cout in sync + + // input fully congested by the parser? if( !aParseInfo.full ) throw ParseError( "EnhancedCustomShapeFunctionParser::parseFunction(): string not fully parseable" ); @@ -1201,7 +1206,10 @@ ExpressionNodeSharedPtr FunctionParser::parseFunction( const ::rtl::OUString& rF if( pContext->maOperandStack.size() != 1 ) throw ParseError( "EnhancedCustomShapeFunctionParser::parseFunction(): incomplete or empty expression" ); + return pContext->maOperandStack.top(); } + } + diff --git a/svx/source/customshapes/tbxcustomshapes.cxx b/svx/source/customshapes/tbxcustomshapes.cxx index 9c2678126436..391bf075675e 100644 --- a/svx/source/customshapes/tbxcustomshapes.cxx +++ b/svx/source/customshapes/tbxcustomshapes.cxx @@ -37,7 +37,7 @@ #include <svx/svxids.hrc> #endif #include <tools/shl.hxx> -#include <svtools/eitem.hxx> +#include <svl/eitem.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/viewsh.hxx> #include <sfx2/viewfrm.hxx> |