LCOV - code coverage report
Current view: top level - usr/local/src/libreoffice/oox/source/drawingml/chart - axiscontext.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 39 137 28.5 %
Date: 2013-07-09 Functions: 9 26 34.6 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       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             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include "oox/drawingml/chart/axiscontext.hxx"
      21             : 
      22             : #include "oox/drawingml/shapepropertiescontext.hxx"
      23             : #include "oox/drawingml/textbodycontext.hxx"
      24             : #include "oox/drawingml/chart/axismodel.hxx"
      25             : #include "oox/drawingml/chart/titlecontext.hxx"
      26             : 
      27             : namespace oox {
      28             : namespace drawingml {
      29             : namespace chart {
      30             : 
      31             : // ============================================================================
      32             : 
      33             : using ::oox::core::ContextHandlerRef;
      34             : using ::oox::core::ContextHandler2Helper;
      35             : 
      36             : // ============================================================================
      37             : 
      38           0 : AxisDispUnitsContext::AxisDispUnitsContext( ContextHandler2Helper& rParent, AxisDispUnitsModel& rModel ) :
      39           0 :     ContextBase< AxisDispUnitsModel >( rParent, rModel )
      40             : {
      41           0 : }
      42             : 
      43           0 : AxisDispUnitsContext::~AxisDispUnitsContext()
      44             : {
      45           0 : }
      46             : 
      47           0 : ContextHandlerRef AxisDispUnitsContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
      48             : {
      49           0 :     switch( getCurrentElement() )
      50             :     {
      51             :         case C_TOKEN( dispUnits ):
      52           0 :             switch( nElement )
      53             :             {
      54             :                 case C_TOKEN( builtInUnit ):
      55           0 :                     mrModel.mnBuiltInUnit = rAttribs.getToken( XML_val, XML_thousands );
      56           0 :                     return 0;
      57             :                 case C_TOKEN( custUnit ):
      58           0 :                     mrModel.mfCustomUnit = rAttribs.getDouble( XML_val, 0.0 );
      59           0 :                     return 0;
      60             :                 case C_TOKEN( dispUnitsLbl ):
      61           0 :                     return this;
      62             :             }
      63           0 :         break;
      64             : 
      65             :         case C_TOKEN( dispUnitsLbl ):
      66           0 :             switch( nElement )
      67             :             {
      68             :                 case C_TOKEN( layout ):
      69           0 :                     return new LayoutContext( *this, mrModel.mxLayout.create() );
      70             :                 case C_TOKEN( spPr ):
      71           0 :                     return new ShapePropertiesContext( *this, mrModel.mxShapeProp.create() );
      72             :                 case C_TOKEN( tx ):
      73           0 :                     return new TextContext( *this, mrModel.mxText.create() );
      74             :                 case C_TOKEN( txPr ):
      75           0 :                     return new TextBodyContext( *this, mrModel.mxTextProp.create() );
      76             :             }
      77           0 :         break;
      78             :     }
      79           0 :     return 0;
      80             : }
      81             : 
      82             : // ============================================================================
      83             : 
      84           4 : AxisContextBase::AxisContextBase( ContextHandler2Helper& rParent, AxisModel& rModel ) :
      85           4 :     ContextBase< AxisModel >( rParent, rModel )
      86             : {
      87           4 : }
      88             : 
      89           4 : AxisContextBase::~AxisContextBase()
      90             : {
      91           4 : }
      92             : 
      93          46 : ContextHandlerRef AxisContextBase::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
      94             : {
      95          46 :     switch( getCurrentElement() )
      96             :     {
      97             :         case C_TOKEN( catAx ):
      98             :         case C_TOKEN( dateAx ):
      99             :         case C_TOKEN( serAx ):
     100             :         case C_TOKEN( valAx ):
     101          42 :             switch( nElement )
     102             :             {
     103             :                 case C_TOKEN( axId ):
     104           4 :                     mrModel.mnAxisId = rAttribs.getInteger( XML_val, -1 );
     105           4 :                     return 0;
     106             :                 case C_TOKEN( crossAx ):
     107           4 :                     mrModel.mnCrossAxisId = rAttribs.getInteger( XML_val, -1 );
     108           4 :                     return 0;
     109             :                 case C_TOKEN( crosses ):
     110           0 :                     mrModel.mnCrossMode = rAttribs.getToken( XML_val, XML_autoZero );
     111           0 :                     return 0;
     112             :                 case C_TOKEN( crossesAt ):
     113           4 :                     mrModel.mofCrossesAt = rAttribs.getDouble( XML_val, 0.0 );
     114           4 :                     return 0;
     115             :                 case C_TOKEN( delete ):
     116             :                     // default is 'false', not 'true' as specified
     117           4 :                     mrModel.mbDeleted = rAttribs.getBool( XML_val, false );
     118           4 :                     return 0;
     119             :                 case C_TOKEN( majorGridlines ):
     120           2 :                     return new ShapePrWrapperContext( *this, mrModel.mxMajorGridLines.create() );
     121             :                 case C_TOKEN( majorTickMark ):
     122             :                     // default is 'out', not 'cross' as specified
     123           4 :                     mrModel.mnMajorTickMark = rAttribs.getToken( XML_val, XML_out );
     124           4 :                     return 0;
     125             :                 case C_TOKEN( minorGridlines ):
     126           0 :                     return new ShapePrWrapperContext( *this, mrModel.mxMinorGridLines.create() );
     127             :                 case C_TOKEN( minorTickMark ):
     128             :                     // default is 'none', not 'cross' as specified
     129           4 :                     mrModel.mnMinorTickMark = rAttribs.getToken( XML_val, XML_none );
     130           4 :                     return 0;
     131             :                 case C_TOKEN( numFmt ):
     132           0 :                     mrModel.maNumberFormat.setAttributes( rAttribs );
     133           0 :                     return 0;
     134             :                 case C_TOKEN( scaling ):
     135           4 :                     return this;
     136             :                 case C_TOKEN( spPr ):
     137           4 :                     return new ShapePropertiesContext( *this, mrModel.mxShapeProp.create() );
     138             :                 case C_TOKEN( tickLblPos ):
     139           4 :                     mrModel.mnTickLabelPos = rAttribs.getToken( XML_val, XML_nextTo );
     140           4 :                     return 0;
     141             :                 case C_TOKEN( title ):
     142           0 :                     return new TitleContext( *this, mrModel.mxTitle.create() );
     143             :                 case C_TOKEN( txPr ):
     144           0 :                     return new TextBodyContext( *this, mrModel.mxTextProp.create() );
     145             :             }
     146           4 :         break;
     147             : 
     148             :         case C_TOKEN( scaling ):
     149           4 :             switch( nElement )
     150             :             {
     151             :                 case C_TOKEN( logBase ):
     152           0 :                     mrModel.mofLogBase = rAttribs.getDouble( XML_val, 0.0 );
     153           0 :                     return 0;
     154             :                 case C_TOKEN( max ):
     155           0 :                     mrModel.mofMax = rAttribs.getDouble( XML_val, 0.0 );
     156           0 :                     return 0;
     157             :                 case C_TOKEN( min ):
     158           0 :                     mrModel.mofMin = rAttribs.getDouble( XML_val, 0.0 );
     159           0 :                     return 0;
     160             :                 case C_TOKEN( orientation ):
     161           4 :                     mrModel.mnOrientation = rAttribs.getToken( XML_val, XML_minMax );
     162           4 :                     return 0;
     163             :             }
     164           0 :         break;
     165             :     }
     166           4 :     return 0;
     167             : }
     168             : 
     169             : // ============================================================================
     170             : 
     171           0 : CatAxisContext::CatAxisContext( ContextHandler2Helper& rParent, AxisModel& rModel ) :
     172           0 :     AxisContextBase( rParent, rModel )
     173             : {
     174           0 : }
     175             : 
     176           0 : CatAxisContext::~CatAxisContext()
     177             : {
     178           0 : }
     179             : 
     180           0 : ContextHandlerRef CatAxisContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
     181             : {
     182           0 :     if( isRootElement() ) switch( nElement )
     183             :     {
     184             :         case C_TOKEN( auto ):
     185             :             // default is 'false', not 'true' as specified
     186           0 :             mrModel.mbAuto = rAttribs.getBool( XML_val, false );
     187           0 :             return 0;
     188             :         case C_TOKEN( axPos ):
     189           0 :             mrModel.mnAxisPos = rAttribs.getToken( XML_val, XML_TOKEN_INVALID );
     190           0 :             return 0;
     191             :         case C_TOKEN( lblAlgn ):
     192           0 :             mrModel.mnLabelAlign = rAttribs.getToken( XML_val, XML_ctr );
     193           0 :             return 0;
     194             :         case C_TOKEN( lblOffset ):
     195           0 :             mrModel.mnLabelOffset = rAttribs.getInteger( XML_val, 100 );
     196           0 :             return 0;
     197             :         case C_TOKEN( noMultiLvlLbl ):
     198             :             // default is 'false', not 'true' as specified
     199           0 :             mrModel.mbNoMultiLevel = rAttribs.getBool( XML_val, false );
     200           0 :             return 0;
     201             :         case C_TOKEN( tickLblSkip ):
     202           0 :             mrModel.mnTickLabelSkip = rAttribs.getInteger( XML_val, 0 );
     203           0 :             return 0;
     204             :         case C_TOKEN( tickMarkSkip ):
     205           0 :             mrModel.mnTickMarkSkip = rAttribs.getInteger( XML_val, 0 );
     206           0 :             return 0;
     207             :     }
     208           0 :     return AxisContextBase::onCreateContext( nElement, rAttribs );
     209             : }
     210             : 
     211             : // ============================================================================
     212             : 
     213           0 : DateAxisContext::DateAxisContext( ContextHandler2Helper& rParent, AxisModel& rModel ) :
     214           0 :     AxisContextBase( rParent, rModel )
     215             : {
     216           0 : }
     217             : 
     218           0 : DateAxisContext::~DateAxisContext()
     219             : {
     220           0 : }
     221             : 
     222           0 : ContextHandlerRef DateAxisContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
     223             : {
     224           0 :     if( isRootElement() ) switch( nElement )
     225             :     {
     226             :         case C_TOKEN( auto ):
     227             :             // default is 'false', not 'true' as specified
     228           0 :             mrModel.mbAuto = rAttribs.getBool( XML_val, false );
     229           0 :             return 0;
     230             :         case C_TOKEN( baseTimeUnit ):
     231           0 :             mrModel.monBaseTimeUnit = rAttribs.getToken( XML_val, XML_days );
     232           0 :             return 0;
     233             :         case C_TOKEN( lblOffset ):
     234           0 :             mrModel.mnLabelOffset = rAttribs.getInteger( XML_val, 100 );
     235           0 :             return 0;
     236             :         case C_TOKEN( majorTimeUnit ):
     237           0 :             mrModel.mnMajorTimeUnit = rAttribs.getToken( XML_val, XML_days );
     238           0 :             return 0;
     239             :         case C_TOKEN( majorUnit ):
     240           0 :             mrModel.mofMajorUnit = rAttribs.getDouble( XML_val, 0.0 );
     241           0 :             return 0;
     242             :         case C_TOKEN( minorTimeUnit ):
     243           0 :             mrModel.mnMinorTimeUnit = rAttribs.getToken( XML_val, XML_days );
     244           0 :             return 0;
     245             :         case C_TOKEN( minorUnit ):
     246           0 :             mrModel.mofMinorUnit = rAttribs.getDouble( XML_val, 0.0 );
     247           0 :             return 0;
     248             :     }
     249           0 :     return AxisContextBase::onCreateContext( nElement, rAttribs );
     250             : }
     251             : 
     252             : // ============================================================================
     253             : 
     254           0 : SerAxisContext::SerAxisContext( ContextHandler2Helper& rParent, AxisModel& rModel ) :
     255           0 :     AxisContextBase( rParent, rModel )
     256             : {
     257           0 : }
     258             : 
     259           0 : SerAxisContext::~SerAxisContext()
     260             : {
     261           0 : }
     262             : 
     263           0 : ContextHandlerRef SerAxisContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
     264             : {
     265           0 :     if( isRootElement() ) switch( nElement )
     266             :     {
     267             :         case C_TOKEN( tickLblSkip ):
     268           0 :             mrModel.mnTickLabelSkip = rAttribs.getInteger( XML_val, 0 );
     269           0 :             return 0;
     270             :         case C_TOKEN( tickMarkSkip ):
     271           0 :             mrModel.mnTickMarkSkip = rAttribs.getInteger( XML_val, 0 );
     272           0 :             return 0;
     273             :     }
     274           0 :     return AxisContextBase::onCreateContext( nElement, rAttribs );
     275             : }
     276             : 
     277             : // ============================================================================
     278             : 
     279           4 : ValAxisContext::ValAxisContext( ContextHandler2Helper& rParent, AxisModel& rModel ) :
     280           4 :     AxisContextBase( rParent, rModel )
     281             : {
     282           4 : }
     283             : 
     284           8 : ValAxisContext::~ValAxisContext()
     285             : {
     286           8 : }
     287             : 
     288          46 : ContextHandlerRef ValAxisContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
     289             : {
     290          46 :     if( isRootElement() ) switch( nElement )
     291             :     {
     292             :         case C_TOKEN( crossBetween ):
     293           0 :             mrModel.mnCrossBetween = rAttribs.getToken( XML_val, XML_between );
     294           0 :             return 0;
     295             :         case C_TOKEN( dispUnits ):
     296           0 :             return new AxisDispUnitsContext( *this, mrModel.mxDispUnits.create() );
     297             :         case C_TOKEN( majorUnit ):
     298           0 :             mrModel.mofMajorUnit = rAttribs.getDouble( XML_val, 0.0 );
     299           0 :             return 0;
     300             :         case C_TOKEN( minorUnit ):
     301           0 :             mrModel.mofMinorUnit = rAttribs.getDouble( XML_val, 0.0 );
     302           0 :             return 0;
     303             :     }
     304          46 :     return AxisContextBase::onCreateContext( nElement, rAttribs );
     305             : }
     306             : 
     307             : // ============================================================================
     308             : 
     309             : } // namespace chart
     310             : } // namespace drawingml
     311         141 : } // namespace oox
     312             : 
     313             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10