Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #ifndef OOX_XLS_WORKSHEETFRAGMENT_HXX
30 : : #define OOX_XLS_WORKSHEETFRAGMENT_HXX
31 : :
32 : : #include "excelhandlers.hxx"
33 : :
34 : : namespace oox {
35 : : namespace xls {
36 : :
37 : : // ============================================================================
38 : :
39 [ # # ][ # # ]: 0 : class DataValidationsContext : public WorksheetContextBase
40 : : {
41 : : public:
42 : : explicit DataValidationsContext( WorksheetFragmentBase& rFragment );
43 : :
44 : : protected:
45 : : virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs );
46 : : virtual void onCharacters( const ::rtl::OUString& rChars );
47 : : virtual void onEndElement();
48 : :
49 : : virtual ::oox::core::ContextHandlerRef onCreateRecordContext( sal_Int32 nRecId, SequenceInputStream& rStrm );
50 : :
51 : : private:
52 : : /** Imports the dataValidation element containing data validation settings. */
53 : : void importDataValidation( const AttributeList& rAttribs );
54 : : /** Imports the DATAVALIDATION record containing data validation settings. */
55 : : void importDataValidation( SequenceInputStream& rStrm );
56 : :
57 : : private:
58 : : ::std::auto_ptr< ValidationModel > mxValModel;
59 : : };
60 : :
61 : : // ============================================================================
62 : :
63 [ - + ]: 120 : class WorksheetFragment : public WorksheetFragmentBase
64 : : {
65 : : public:
66 : : explicit WorksheetFragment(
67 : : const WorksheetHelper& rHelper,
68 : : const ::rtl::OUString& rFragmentPath );
69 : :
70 : : protected:
71 : : virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs );
72 : : virtual void onCharacters( const ::rtl::OUString& rChars );
73 : :
74 : : virtual ::oox::core::ContextHandlerRef onCreateRecordContext( sal_Int32 nRecId, SequenceInputStream& rStrm );
75 : :
76 : : virtual const ::oox::core::RecordInfo* getRecordInfos() const;
77 : : virtual void initializeImport();
78 : : virtual void finalizeImport();
79 : :
80 : : private:
81 : : /** Imports page settings from a pageSetUpPr element. */
82 : : void importPageSetUpPr( const AttributeList& rAttribs );
83 : : /** Imports the dimension element containing the used area of the sheet. */
84 : : void importDimension( const AttributeList& rAttribs );
85 : : /** Imports sheet format properties from a sheetFormatPr element. */
86 : : void importSheetFormatPr( const AttributeList& rAttribs );
87 : : /** Imports column settings from a col element. */
88 : : void importCol( const AttributeList& rAttribs );
89 : : /** Imports a merged cell range from a mergeCell element. */
90 : : void importMergeCell( const AttributeList& rAttribs );
91 : : /** Imports the hyperlink element containing a hyperlink for a cell range. */
92 : : void importHyperlink( const AttributeList& rAttribs );
93 : : /** Imports individual break that is either within row or column break context. */
94 : : void importBrk( const AttributeList& rAttribs, bool bRowBreak );
95 : : /** Imports the the relation identifier for the DrawingML part. */
96 : : void importDrawing( const AttributeList& rAttribs );
97 : : /** Imports the the relation identifier for the legacy VML drawing part. */
98 : : void importLegacyDrawing( const AttributeList& rAttribs );
99 : : /** Imports additional data for an OLE object. */
100 : : void importOleObject( const AttributeList& rAttribs );
101 : : /** Imports additional data for an OCX form control. */
102 : : void importControl( const AttributeList& rAttribs );
103 : :
104 : : /** Imports the DIMENSION record containing the used area of the sheet. */
105 : : void importDimension( SequenceInputStream& rStrm );
106 : : /** Imports sheet format properties from a SHEETFORMATPR record. */
107 : : void importSheetFormatPr( SequenceInputStream& rStrm );
108 : : /** Imports column settings from a COL record. */
109 : : void importCol( SequenceInputStream& rStrm );
110 : : /** Imports a merged cell range from a MERGECELL record. */
111 : : void importMergeCell( SequenceInputStream& rStrm );
112 : : /** Imports a hyperlink for a cell range from a HYPERLINK record. */
113 : : void importHyperlink( SequenceInputStream& rStrm );
114 : : /** Imports the BRK record for an individual row or column page break. */
115 : : void importBrk( SequenceInputStream& rStrm, bool bRowBreak );
116 : : /** Imports the DRAWING record containing the relation identifier for the DrawingML part. */
117 : : void importDrawing( SequenceInputStream& rStrm );
118 : : /** Imports the LEGACYDRAWING record containing the relation identifier for the VML drawing part. */
119 : : void importLegacyDrawing( SequenceInputStream& rStrm );
120 : : /** Imports additional data for an OLE object. */
121 : : void importOleObject( SequenceInputStream& rStrm );
122 : : /** Imports additional data for an OCX form control. */
123 : : void importControl( SequenceInputStream& rStrm );
124 : :
125 : : /** Imports the binary data of an embedded OLE object from the fragment with the passed ID. */
126 : : void importEmbeddedOleData( StreamDataSequence& orEmbeddedData, const ::rtl::OUString& rRelId );
127 : : };
128 : :
129 : : } // namespace xls
130 : : } // namespace oox
131 : :
132 : : #endif
133 : :
134 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|