xref: /AOO41X/main/oox/inc/oox/xls/chartsheetfragment.hxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef OOX_XLS_CHARTSHEETFRAGMENT_HXX
29 #define OOX_XLS_CHARTSHEETFRAGMENT_HXX
30 
31 #include "oox/xls/excelhandlers.hxx"
32 
33 namespace oox {
34 namespace xls {
35 
36 // ============================================================================
37 
38 class ChartsheetFragment : public WorksheetFragmentBase
39 {
40 public:
41     explicit            ChartsheetFragment(
42                             const WorksheetHelper& rHelper,
43                             const ::rtl::OUString& rFragmentPath );
44 
45 protected:
46     virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs );
47     virtual void        onCharacters( const ::rtl::OUString& rChars );
48 
49     virtual ::oox::core::ContextHandlerRef onCreateRecordContext( sal_Int32 nRecId, SequenceInputStream& rStrm );
50 
51     virtual const ::oox::core::RecordInfo* getRecordInfos() const;
52     virtual void        initializeImport();
53     virtual void        finalizeImport();
54 
55 private:
56     /** Imports the the relation identifier for the DrawingML part. */
57     void                importDrawing( const AttributeList& rAttribs );
58     /** Imports the DRAWING record containing the relation identifier for the DrawingML part. */
59     void                importDrawing( SequenceInputStream& rStrm );
60 };
61 
62 // ============================================================================
63 
64 class BiffChartsheetFragment : public BiffWorksheetFragmentBase
65 {
66 public:
67     explicit            BiffChartsheetFragment(
68                             const WorksheetHelper& rHelper,
69                             const BiffWorkbookFragmentBase& rParent );
70 
71     /** Imports the entire sheet fragment, returns true, if EOF record has been reached. */
72     virtual bool        importFragment();
73 };
74 
75 // ============================================================================
76 
77 } // namespace xls
78 } // namespace oox
79 
80 #endif
81