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 :
10 : #ifndef SC_EXTLSTCONTEXT_HXX
11 : #define SC_EXTLSTCONTEXT_HXX
12 :
13 : #include "excelhandlers.hxx"
14 : #include "worksheetfragment.hxx"
15 :
16 : namespace oox {
17 : namespace xls {
18 :
19 0 : class ExtCfRuleContext : public WorksheetContextBase
20 : {
21 : public:
22 : explicit ExtCfRuleContext( WorksheetContextBase& rFragment, void* pDataBar );
23 :
24 : virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
25 : virtual void onStartElement( const AttributeList& rAttribs ) SAL_OVERRIDE;
26 :
27 : private:
28 : void* mpTarget;
29 :
30 : bool mbFirstEntry;
31 : };
32 :
33 : /**
34 : * Handle ExtLst entries in xlsx. These entries are a way to extend the standard
35 : * without actually changing it
36 : *
37 : * Needed right now for data bars
38 : *
39 : * ExtLstLocalContext is for the entry in the datastructure that needs to be extended
40 : */
41 0 : class ExtLstLocalContext : public WorksheetContextBase
42 : {
43 : public:
44 : explicit ExtLstLocalContext( WorksheetContextBase& rFragment, void* pTarget ); // until now a ExtLst always extends an existing entry
45 :
46 : protected:
47 : virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
48 : virtual void onStartElement( const AttributeList& rAttribs ) SAL_OVERRIDE;
49 : virtual void onCharacters( const OUString& rChars ) SAL_OVERRIDE;
50 :
51 : private:
52 : void* mpTarget;
53 : };
54 :
55 : /**
56 : * A single ext entry. Will be skipped until the actual entry with the correct uri is found
57 : */
58 0 : class ExtGlobalContext : public WorksheetContextBase
59 : {
60 : public:
61 : explicit ExtGlobalContext( WorksheetContextBase& rFragment );
62 :
63 : protected:
64 : virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
65 : virtual void onStartElement( const AttributeList& rAttribs ) SAL_OVERRIDE;
66 :
67 : private:
68 : };
69 :
70 : /**
71 : * Used for the actual ExtLst containing the new extended definition.
72 : * Uses the saved data from the ExtLstLocalContext
73 : */
74 0 : class ExtLstGlobalContext : public WorksheetContextBase
75 : {
76 : public:
77 : explicit ExtLstGlobalContext( WorksheetFragment& rFragment );
78 :
79 : protected:
80 : virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
81 : };
82 :
83 : } //namespace xls
84 : } //namespace oox
85 :
86 : #endif
87 :
88 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|