File indexing completed on 2025-01-19 10:49:25
0001 /* 0002 * SPDX-FileCopyrightText: 2010 Carlos Licea <carlos@kdab.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "KoColumn.h" 0008 #include "KoColumnStyle.h" 0009 #include "KoCellStyle.h" 0010 0011 #include <KoXmlWriter.h> 0012 0013 #include <QString> 0014 0015 namespace { 0016 const QMap<KoColumn::Visibility, QString> visibilityMap { 0017 { KoColumn::Collapse, "collapse" }, 0018 { KoColumn::Filter, "filter" }, 0019 { KoColumn::Visible, "visible" } 0020 }; 0021 } 0022 0023 KoColumn::KoColumn() 0024 : m_defaultCellStyle(0) 0025 , m_style(0) 0026 , m_visibility(Visible) 0027 { 0028 } 0029 0030 KoColumn::~KoColumn() 0031 { 0032 } 0033 0034 void KoColumn::setStyle(KoColumnStyle::Ptr style) 0035 { 0036 m_style = style; 0037 } 0038 0039 KoColumnStyle::Ptr KoColumn::style() 0040 { 0041 return m_style; 0042 } 0043 0044 KoCellStyle::Ptr KoColumn::defualtCellStyle() const 0045 { 0046 return m_defaultCellStyle; 0047 } 0048 0049 void KoColumn::setDefaultCellStyle(KoCellStyle::Ptr defaultStyle) 0050 { 0051 m_defaultCellStyle = defaultStyle; 0052 } 0053 0054 void KoColumn::setVisibility(KoColumn::Visibility visibility) 0055 { 0056 m_visibility = visibility; 0057 } 0058 0059 KoColumn::Visibility KoColumn::visibility() 0060 { 0061 return m_visibility; 0062 } 0063 0064 void KoColumn::saveOdf(KoXmlWriter& writer, KoGenStyles& styles) 0065 { 0066 writer.startElement("table:table-column"); 0067 if(m_style) { 0068 writer.addAttribute("table:style-name", m_style->saveOdf(styles)); 0069 } 0070 if(m_defaultCellStyle) { 0071 writer.addAttribute("table:default-cell-style-name", m_defaultCellStyle->saveOdf(styles)); 0072 } 0073 writer.addAttribute("table:visibility", visibilityMap.value(m_visibility)); 0074 writer.endElement();//table:column 0075 }