/src/libstaroffice/src/lib/STOFFCellStyle.cxx
Line | Count | Source |
1 | | /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */ |
2 | | |
3 | | /* libstaroffice |
4 | | * Version: MPL 2.0 / LGPLv2+ |
5 | | * |
6 | | * The contents of this file are subject to the Mozilla Public License Version |
7 | | * 2.0 (the "License"); you may not use this file except in compliance with |
8 | | * the License or as specified alternatively below. You may obtain a copy of |
9 | | * the License at http://www.mozilla.org/MPL/ |
10 | | * |
11 | | * Software distributed under the License is distributed on an "AS IS" basis, |
12 | | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
13 | | * for the specific language governing rights and limitations under the |
14 | | * License. |
15 | | * |
16 | | * Major Contributor(s): |
17 | | * Copyright (C) 2002 William Lachance (wrlach@gmail.com) |
18 | | * Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net) |
19 | | * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch) |
20 | | * Copyright (C) 2006, 2007 Andrew Ziem |
21 | | * Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr) |
22 | | * |
23 | | * |
24 | | * All Rights Reserved. |
25 | | * |
26 | | * For minor contributions see the git repository. |
27 | | * |
28 | | * Alternatively, the contents of this file may be used under the terms of |
29 | | * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"), |
30 | | * in which case the provisions of the LGPLv2+ are applicable |
31 | | * instead of those above. |
32 | | */ |
33 | | |
34 | | #include <sstream> |
35 | | |
36 | | #include <librevenge/librevenge.h> |
37 | | |
38 | | #include "libstaroffice_internal.hxx" |
39 | | |
40 | | #include "STOFFCellStyle.hxx" |
41 | | |
42 | | // cell style function |
43 | | |
44 | | std::ostream &operator<<(std::ostream &o, STOFFCellStyle const &cellStyle) |
45 | 0 | { |
46 | 0 | o << cellStyle.m_propertyList.getPropString().cstr() << ","; |
47 | 0 | if (cellStyle.m_numberCellSpanned!=STOFFVec2i(1,1)) |
48 | 0 | o << "span=" << cellStyle.m_numberCellSpanned << ","; |
49 | 0 | if (cellStyle.m_format) |
50 | 0 | o << "format=" << cellStyle.m_format << ","; |
51 | 0 | return o; |
52 | 0 | } |
53 | | |
54 | | bool STOFFCellStyle::operator==(STOFFCellStyle const &cellStyle) const |
55 | 0 | { |
56 | 0 | return m_propertyList.getPropString() == cellStyle.m_propertyList.getPropString() && |
57 | 0 | m_numberCellSpanned==cellStyle.m_numberCellSpanned && m_format==cellStyle.m_format; |
58 | 0 | } |
59 | | |
60 | | void STOFFCellStyle::addTo(librevenge::RVNGPropertyList &pList) const |
61 | 817k | { |
62 | 817k | librevenge::RVNGPropertyList::Iter i(m_propertyList); |
63 | 3.18M | for (i.rewind(); i.next();) { |
64 | 2.37M | if (i.child()) { |
65 | 0 | if (std::string("librevenge:background-image") != i.key()) { |
66 | 0 | STOFF_DEBUG_MSG(("STOFFCellStyle::addTo: find unexpected property child\n")); |
67 | 0 | } |
68 | 0 | pList.insert(i.key(), *i.child()); |
69 | 0 | continue; |
70 | 0 | } |
71 | 2.37M | pList.insert(i.key(), i()->clone()); |
72 | 2.37M | } |
73 | 817k | pList.insert("table:number-columns-spanned", m_numberCellSpanned[0]); |
74 | 817k | pList.insert("table:number-rows-spanned", m_numberCellSpanned[1]); |
75 | 817k | } |
76 | | |
77 | | // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab: |