STOFFChart.hxx Source File documentation

STOFFChart.hxx
Go to the documentation of this file.
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 /*
35 * Structure to store and construct a chart
36 *
37 */
38
39 #ifndef STOFF_CHART
40 # define STOFF_CHART
41
42 #include <iostream>
43 #include <vector>
44 #include <map>
45
46 #include "libstaroffice_internal.hxx"
47
48 #include "STOFFEntry.hxx"
49 #include "STOFFFont.hxx"
50 #include "STOFFGraphicStyle.hxx"
51
52 namespace STOFFChartInternal
53 {
54 class SubDocument;
55 }
57 class STOFFChart
58 {
59 friend class STOFFChartInternal::SubDocument;
60 public:
62 struct Position {
64 explicit Position(STOFFVec2i pos=STOFFVec2i(-1,-1), librevenge::RVNGString const &sheetName="")
65 : m_pos(pos)
66 , m_sheetName(sheetName)
67 {
68 }
70 bool valid() const
71 {
72 return m_pos[0]>=0 && m_pos[1]>=0 && !m_sheetName.empty();
73 }
75 bool valid(Position const &maxPos) const
76 {
77 return valid() && maxPos.valid() && maxPos.m_pos[0]>=m_pos[0] && maxPos.m_pos[1]>=m_pos[1];
78 }
80 librevenge::RVNGString getCellName() const;
82 friend std::ostream &operator<<(std::ostream &o, Position const &pos);
84 bool operator==(Position &pos) const
85 {
86 return m_pos==pos.m_pos && m_sheetName==pos.m_sheetName;
87 }
89 bool operator!=(Position &pos) const
90 {
91 return !(operator==(pos));
92 }
94 STOFFVec2i m_pos;
96 librevenge::RVNGString m_sheetName;
97 };
98 struct Axis {
100 enum Type { A_None, A_Numeric, A_Logarithmic, A_Sequence, A_Sequence_Skip_Empty };
102 Axis();
104 ~Axis();
106 void addContentTo(int coord, librevenge::RVNGPropertyList &propList) const;
108 void addStyleTo(librevenge::RVNGPropertyList &propList) const;
110 friend std::ostream &operator<<(std::ostream &o, Axis const &axis);
112 Type m_type;
114 bool m_automaticScaling;
116 STOFFVec2f m_scaling;
118 bool m_showGrid;
120 bool m_showLabel;
122 Position m_labelRanges[2];
123
125 bool m_showTitle;
127 Position m_titleRange;
129 librevenge::RVNGString m_title;
131 librevenge::RVNGString m_subTitle;
133 STOFFGraphicStyle m_style;
134 };
136 struct Legend {
138 Legend()
139 : m_show(false)
140 , m_autoPosition(true)
141 , m_relativePosition(libstoff::RightBit)
142 , m_position(0,0)
143 , m_font()
144 , m_style()
145 {
146 }
148 void addContentTo(librevenge::RVNGPropertyList &propList) const;
150 void addStyleTo(librevenge::RVNGPropertyList &propList) const;
152 friend std::ostream &operator<<(std::ostream &o, Legend const &legend);
154 bool m_show;
156 bool m_autoPosition;
158 int m_relativePosition;
160 STOFFVec2f m_position;
162 STOFFFont m_font;
164 STOFFGraphicStyle m_style;
165 };
167 struct Serie {
169 enum Type { S_Area, S_Bar, S_Bubble, S_Circle, S_Column, S_Gantt, S_Line, S_Radar, S_Ring, S_Scatter, S_Stock, S_Surface };
171 enum PointType {
172 P_None=0, P_Automatic, P_Square, P_Diamond, P_Arrow_Down,
173 P_Arrow_Up, P_Arrow_Right, P_Arrow_Left, P_Bow_Tie, P_Hourglass,
174 P_Circle, P_Star, P_X, P_Plus, P_Asterisk,
175 P_Horizontal_Bar, P_Vertical_Bar
176 };
178 Serie();
179 Serie(Serie const &)=default;
180 Serie(Serie &&)=default;
181 Serie &operator=(Serie const &)=default;
182 Serie &operator=(Serie &&)=default;
184 virtual ~Serie();
186 bool is1DStyle() const
187 {
188 return m_type==S_Line || m_type==S_Radar || (m_type==S_Scatter && m_pointType==P_None);
189 }
191 bool valid() const
192 {
193 return m_ranges[0].valid(m_ranges[0]);
194 }
196 void addContentTo(librevenge::RVNGPropertyList &propList) const;
198 void addStyleTo(librevenge::RVNGPropertyList &propList) const;
200 static std::string getSerieTypeName(Type type);
202 friend std::ostream &operator<<(std::ostream &o, Serie const &series);
204 Type m_type;
206 Position m_ranges[2];
208 bool m_useSecondaryY;
210 STOFFFont m_font;
212 Position m_labelRanges[2];
214 Position m_legendRange;
216 librevenge::RVNGString m_legendText;
218 STOFFGraphicStyle m_style;
220 PointType m_pointType;
221 };
223 struct TextZone {
225 enum Type { T_Title, T_SubTitle, T_Footer };
227 enum ContentType { C_Cell, C_Text };
228
230 explicit TextZone(Type type);
232 ~TextZone();
234 bool valid() const
235 {
236 if (!m_show) return false;
237 if (m_contentType==C_Cell)
238 return m_cell.valid();
239 if (m_contentType!=C_Text)
240 return false;
241 for (auto &e : m_textEntryList) {
242 if (e.valid()) return true;
243 }
244 return false;
245 }
247 void addContentTo(librevenge::RVNGPropertyList &propList) const;
249 void addStyleTo(librevenge::RVNGPropertyList &propList) const;
251 friend std::ostream &operator<<(std::ostream &o, TextZone const &zone);
253 Type m_type;
255 ContentType m_contentType;
257 bool m_show;
259 STOFFVec2f m_position;
261 Position m_cell;
263 std::vector<STOFFEntry> m_textEntryList;
265 STOFFFont m_font;
267 STOFFGraphicStyle m_style;
268 };
269
271 STOFFChart(STOFFVec2f const &dim=STOFFVec2f());
273 virtual ~STOFFChart();
275 void sendChart(STOFFSpreadsheetListenerPtr &listener, librevenge::RVNGSpreadsheetInterface *interface);
277 virtual void sendContent(TextZone const &zone, STOFFListenerPtr &listener) const =0;
278
280 void setGridColor(STOFFColor const &color)
281 {
282 m_gridColor=color;
283 }
285 Axis &getAxis(int coord);
287 Axis const &getAxis(int coord) const;
288
290 Legend const &getLegend() const
291 {
292 return m_legend;
293 }
295 Legend &getLegend()
296 {
297 return m_legend;
298 }
299
301 Serie *getSerie(int id, bool create);
303 std::map<int, Serie> const &getIdSerieMap() const
304 {
305 return m_serieMap;
306 }
308 TextZone *getTextZone(TextZone::Type type, bool create=false);
309
310 protected:
312 void sendTextZoneContent(TextZone::Type type, STOFFListenerPtr &listener) const;
313
314 public:
316 STOFFVec2f m_dimension;
318 Serie::Type m_type;
320 bool m_dataStacked;
322 bool m_dataPercentStacked;
324 bool m_dataVertical;
326 bool m_is3D;
328 bool m_is3DDeep;
329
330 // main
331
333 STOFFGraphicStyle m_style;
335 librevenge::RVNGString m_name;
336
337 // plot area
338
340 STOFFBox2f m_plotAreaPosition;
342 STOFFGraphicStyle m_plotAreaStyle;
343
344 // legend
345
347 STOFFBox2f m_legendPosition;
348
350 STOFFGraphicStyle m_floorStyle;
352 STOFFGraphicStyle m_wallStyle;
353
354 protected:
356 STOFFColor m_gridColor;
358 Axis m_axis[5];
360 Legend m_legend;
362 std::map<int, Serie> m_serieMap;
364 std::map<TextZone::Type, TextZone> m_textZoneMap;
365 private:
366 explicit STOFFChart(STOFFChart const &orig) = delete;
367 STOFFChart &operator=(STOFFChart const &orig) = delete;
368 };
369
370 #endif
371 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
STOFFChartInternal::SubDocument::parse
void parse(STOFFListenerPtr &listener, libstoff::SubDocumentType type) final
the parser function
Definition: STOFFChart.cxx:99
STOFFChart::m_plotAreaStyle
STOFFGraphicStyle m_plotAreaStyle
the ploat area style
Definition: STOFFChart.hxx:342
STOFFChart::TextZone::m_position
STOFFVec2f m_position
the position in the zone
Definition: STOFFChart.hxx:259
STOFFListenerPtr
std::shared_ptr< STOFFListener > STOFFListenerPtr
a smart pointer of STOFFListener
Definition: libstaroffice_internal.hxx:491
STOFFGraphicStyle::m_propertyList
librevenge::RVNGPropertyList m_propertyList
the property list
Definition: STOFFGraphicStyle.hxx:66
STOFFChart::Serie::P_Arrow_Up
@ P_Arrow_Up
Definition: STOFFChart.hxx:173
STOFFChart::Serie::addContentTo
void addContentTo(librevenge::RVNGPropertyList &propList) const
add content to the propList
Definition: STOFFChart.cxx:618
STOFFChart::Serie::S_Circle
@ S_Circle
Definition: STOFFChart.hxx:169
STOFFChart::Axis
Definition: STOFFChart.hxx:98
STOFFChart::Serie::S_Scatter
@ S_Scatter
Definition: STOFFChart.hxx:169
STOFFChart::Serie::m_pointType
PointType m_pointType
the point type
Definition: STOFFChart.hxx:220
STOFFVec2< float >
STOFFEntry
basic class to store an entry in a file This contained :
Definition: STOFFEntry.hxx:46
STOFFChart::Legend::m_show
bool m_show
show or not the legend
Definition: STOFFChart.hxx:154
STOFFChart::Axis::m_title
librevenge::RVNGString m_title
the title label
Definition: STOFFChart.hxx:129
STOFFChart::TextZone::addStyleTo
void addStyleTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: STOFFChart.cxx:815
STOFFChart::Serie::P_Horizontal_Bar
@ P_Horizontal_Bar
Definition: STOFFChart.hxx:175
STOFFEntry.hxx
STOFFChart::TextZone::m_contentType
ContentType m_contentType
the content type
Definition: STOFFChart.hxx:255
STOFF_DEBUG_MSG
#define STOFF_DEBUG_MSG(M)
Definition: libstaroffice_internal.hxx:129
STOFFChart::getLegend
Legend & getLegend()
returns the legend
Definition: STOFFChart.hxx:295
STOFFChart::Serie::P_Diamond
@ P_Diamond
Definition: STOFFChart.hxx:172
STOFFChart::Serie::is1DStyle
bool is1DStyle() const
return true if the serie style is 1D
Definition: STOFFChart.hxx:186
STOFFChart::m_dataStacked
bool m_dataStacked
a flag to know if the data are stacked or not
Definition: STOFFChart.hxx:320
STOFFChart::Serie::P_Star
@ P_Star
Definition: STOFFChart.hxx:174
STOFFBox2f
STOFFBox2< float > STOFFBox2f
STOFFBox2 of float.
Definition: libstaroffice_internal.hxx:1135
STOFFChart::Legend::m_position
STOFFVec2f m_position
the position in points
Definition: STOFFChart.hxx:160
STOFFChart::TextZone::ContentType
ContentType
the text content type
Definition: STOFFChart.hxx:227
STOFFChart::Legend::addStyleTo
void addStyleTo(librevenge::RVNGPropertyList &propList) const
add style to the propList
Definition: STOFFChart.cxx:532
STOFFChart::m_wallStyle
STOFFGraphicStyle m_wallStyle
wall
Definition: STOFFChart.hxx:352
STOFFChart
a class used to store a chart associated to a spreadsheet ....
Definition: STOFFChart.hxx:57
STOFFChart::getIdSerieMap
const std::map< int, Serie > & getIdSerieMap() const
returns the list of defined series
Definition: STOFFChart.hxx:303
STOFFChart::Serie::m_useSecondaryY
bool m_useSecondaryY
use or not the secondary y axis
Definition: STOFFChart.hxx:208
STOFFChart::Axis::A_Logarithmic
@ A_Logarithmic
Definition: STOFFChart.hxx:100
STOFFChart::Serie::m_type
Type m_type
the type
Definition: STOFFChart.hxx:204
STOFFSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: STOFFSubDocument.hxx:41
STOFFChart::Serie::operator<<
friend std::ostream & operator<<(std::ostream &o, Serie const &series)
operator<<
Definition: STOFFChart.cxx:688
STOFFChart::Serie::P_Square
@ P_Square
Definition: STOFFChart.hxx:172
STOFFChart::TextZone::valid
bool valid() const
returns true if the textbox is valid
Definition: STOFFChart.hxx:234
STOFFChart::m_dataPercentStacked
bool m_dataPercentStacked
a flag to know if the data are percent stacked or not
Definition: STOFFChart.hxx:322
STOFFChart::sendTextZoneContent
void sendTextZoneContent(TextZone::Type type, STOFFListenerPtr &listener) const
sends a textzone content
Definition: STOFFChart.cxx:188
STOFFChart::m_textZoneMap
std::map< TextZone::Type, TextZone > m_textZoneMap
a map text zone type to text zone
Definition: STOFFChart.hxx:364
STOFFChart::Serie::valid
bool valid() const
return true if the serie is valid
Definition: STOFFChart.hxx:191
STOFFChart::Legend::m_relativePosition
int m_relativePosition
the automatic position libstoff::LeftBit|...
Definition: STOFFChart.hxx:158
operator<<
std::ostream & operator<<(std::ostream &o, STOFFChart::Position const &pos)
Definition: STOFFChart.cxx:367
libstoff::LeftBit
@ LeftBit
Definition: libstaroffice_internal.hxx:180
STOFFChart::Serie::P_Arrow_Down
@ P_Arrow_Down
Definition: STOFFChart.hxx:172
STOFFChart::Axis::A_Sequence
@ A_Sequence
Definition: STOFFChart.hxx:100
STOFFChart::Position::m_pos
STOFFVec2i m_pos
the cell column and row
Definition: STOFFChart.hxx:94
STOFFChart::Serie::m_style
STOFFGraphicStyle m_style
the graphic style
Definition: STOFFChart.hxx:218
STOFFChart::Axis::m_showGrid
bool m_showGrid
show or not the grid
Definition: STOFFChart.hxx:118
STOFFChart.hxx
STOFFChart::Serie::PointType
PointType
the point type
Definition: STOFFChart.hxx:171
STOFFBox2< float >
STOFFChart::Serie::m_ranges
Position m_ranges[2]
the data range
Definition: STOFFChart.hxx:206
libstoff::getCellName
std::string getCellName(STOFFVec2i const &cellPos, STOFFVec2b const &relative)
returns the cell name corresponding to a cell's position
Definition: libstaroffice_internal.cxx:455
STOFFChart::Serie::~Serie
virtual ~Serie()
destructor
Definition: STOFFChart.cxx:579
STOFFChart::Legend
a legend in a chart
Definition: STOFFChart.hxx:136
STOFFColor
the class to store a color
Definition: libstaroffice_internal.hxx:189
STOFFChart::m_dimension
STOFFVec2f m_dimension
the chart dimension in point
Definition: STOFFChart.hxx:316
STOFFChartInternal
Internal: the structures of a STOFFChart.
Definition: STOFFChart.cxx:57
STOFFSpreadsheetListenerPtr
std::shared_ptr< STOFFSpreadsheetListener > STOFFSpreadsheetListenerPtr
a smart pointer of STOFFSpreadsheetListener
Definition: libstaroffice_internal.hxx:497
STOFFChart::TextZone::TextZone
TextZone(Type type)
constructor
Definition: STOFFChart.cxx:761
STOFFChart::Axis::~Axis
~Axis()
destructor
Definition: STOFFChart.cxx:394
STOFFChart::TextZone::T_Title
@ T_Title
Definition: STOFFChart.hxx:225
STOFFChartInternal::SubDocument::m_textZone
STOFFChart::TextZone::Type m_textZone
the textzone type
Definition: STOFFChart.cxx:93
STOFFChart::getSerie
Serie * getSerie(int id, bool create)
return a serie
Definition: STOFFChart.cxx:168
STOFFChart::Axis::A_Numeric
@ A_Numeric
Definition: STOFFChart.hxx:100
STOFFChart::Axis::m_scaling
STOFFVec2f m_scaling
the minimum, maximum scaling(if manual)
Definition: STOFFChart.hxx:116
STOFFChart::Axis::m_showLabel
bool m_showLabel
show or not the label
Definition: STOFFChart.hxx:120
STOFFChart::TextZone::m_textEntryList
std::vector< STOFFEntry > m_textEntryList
the text entry (or the list of text entry)
Definition: STOFFChart.hxx:263
STOFFChart::Serie::P_Circle
@ P_Circle
Definition: STOFFChart.hxx:174
STOFFChartInternal::SubDocument::operator!=
bool operator!=(STOFFSubDocument const &doc) const final
operator!=
Definition: STOFFChart.cxx:73
STOFFChart::m_style
STOFFGraphicStyle m_style
the chart style
Definition: STOFFChart.hxx:333
libstaroffice_internal.hxx
STOFFChart::m_legendPosition
STOFFBox2f m_legendPosition
the legend dimension in percent
Definition: STOFFChart.hxx:347
STOFFChart::STOFFChart
STOFFChart(STOFFVec2f const &dim=STOFFVec2f())
the constructor
Definition: STOFFChart.cxx:118
STOFFChart::Serie::addStyleTo
void addStyleTo(librevenge::RVNGPropertyList &propList) const
add style to the propList
Definition: STOFFChart.cxx:667
STOFFChartInternal::SubDocument::m_chart
STOFFChart * m_chart
the chart
Definition: STOFFChart.cxx:91
STOFFChart::Legend::m_font
STOFFFont m_font
the font
Definition: STOFFChart.hxx:162
STOFF_FALLTHROUGH
#define STOFF_FALLTHROUGH
fall through attributes
Definition: libstaroffice_internal.hxx:110
STOFFChart::Serie::m_legendRange
Position m_legendRange
the legend range if defined
Definition: STOFFChart.hxx:214
STOFFSubDocument.hxx
STOFFChart::Axis::m_automaticScaling
bool m_automaticScaling
automatic scaling (or manual)
Definition: STOFFChart.hxx:114
STOFFChart::Position::m_sheetName
librevenge::RVNGString m_sheetName
the cell sheet name
Definition: STOFFChart.hxx:96
STOFFChart::Axis::operator<<
friend std::ostream & operator<<(std::ostream &o, Axis const &axis)
operator<<
Definition: STOFFChart.cxx:467
STOFFChart::getAxis
Axis & getAxis(int coord)
return an axis (corresponding to a coord)
Definition: STOFFChart.cxx:150
STOFFChart::operator=
STOFFChart & operator=(STOFFChart const &orig)=delete
STOFFListener.hxx
STOFFChart::Axis::m_style
STOFFGraphicStyle m_style
the graphic style
Definition: STOFFChart.hxx:133
STOFFChart::Serie::P_Bow_Tie
@ P_Bow_Tie
Definition: STOFFChart.hxx:173
STOFFBox2::size
STOFFVec2< T > size() const
the box size
Definition: libstaroffice_internal.hxx:999
STOFFChart::sendContent
virtual void sendContent(TextZone const &zone, STOFFListenerPtr &listener) const =0
send the zone content (called when the zone is of text type)
STOFFChart::Serie::S_Surface
@ S_Surface
Definition: STOFFChart.hxx:169
STOFFChart::Position::operator<<
friend std::ostream & operator<<(std::ostream &o, Position const &pos)
operator<<
Definition: STOFFChart.cxx:367
STOFFInputStreamPtr
std::shared_ptr< STOFFInputStream > STOFFInputStreamPtr
a smart pointer of STOFFInputStream
Definition: libstaroffice_internal.hxx:489
libstoff::SubDocumentType
SubDocumentType
Definition: libstaroffice_internal.hxx:185
STOFFChart::~STOFFChart
virtual ~STOFFChart()
the destructor
Definition: STOFFChart.cxx:146
STOFFChart::Serie::S_Radar
@ S_Radar
Definition: STOFFChart.hxx:169
STOFFChart::Position::valid
bool valid(Position const &maxPos) const
return true if the position is valid
Definition: STOFFChart.hxx:75
STOFFChart::Position::getCellName
librevenge::RVNGString getCellName() const
return the cell name
Definition: STOFFChart.cxx:354
STOFFChart::Axis::m_subTitle
librevenge::RVNGString m_subTitle
the subtitle label
Definition: STOFFChart.hxx:131
STOFFChart::Serie::S_Line
@ S_Line
Definition: STOFFChart.hxx:169
STOFFChart::Serie::S_Bubble
@ S_Bubble
Definition: STOFFChart.hxx:169
STOFFChart::m_axis
Axis m_axis[5]
the x,y,y-second,z and a bad axis
Definition: STOFFChart.hxx:358
STOFFChart::Serie::P_Plus
@ P_Plus
Definition: STOFFChart.hxx:174
STOFFGraphicStyle::addTo
void addTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: STOFFGraphicStyle.cxx:65
STOFFChart::m_type
Serie::Type m_type
the chart type (if no series)
Definition: STOFFChart.hxx:318
STOFFChart::TextZone
a text zone a chart
Definition: STOFFChart.hxx:223
STOFFChart::m_name
librevenge::RVNGString m_name
the chart name
Definition: STOFFChart.hxx:335
libstoff::TopBit
@ TopBit
Definition: libstaroffice_internal.hxx:180
STOFFChart::Serie::P_Asterisk
@ P_Asterisk
Definition: STOFFChart.hxx:174
STOFFChart::TextZone::m_type
Type m_type
the zone type
Definition: STOFFChart.hxx:253
STOFFChart::Legend::Legend
Legend()
constructor
Definition: STOFFChart.hxx:138
STOFFChartInternal::SubDocument::operator=
SubDocument & operator=(SubDocument const &orig)
STOFFChart::Serie::P_Vertical_Bar
@ P_Vertical_Bar
Definition: STOFFChart.hxx:175
STOFFGraphicStyle.hxx
STOFFChart::m_floorStyle
STOFFGraphicStyle m_floorStyle
floor
Definition: STOFFChart.hxx:350
libstoff::BottomBit
@ BottomBit
Definition: libstaroffice_internal.hxx:180
STOFFChart::TextZone::~TextZone
~TextZone()
destructor
Definition: STOFFChart.cxx:774
STOFFChart::Serie::P_Arrow_Right
@ P_Arrow_Right
Definition: STOFFChart.hxx:173
STOFFChart::Axis::m_showTitle
bool m_showTitle
show or not the title/subtitle
Definition: STOFFChart.hxx:125
libstoff::DOC_CHART_ZONE
@ DOC_CHART_ZONE
Definition: libstaroffice_internal.hxx:185
STOFFChart::Axis::A_Sequence_Skip_Empty
@ A_Sequence_Skip_Empty
Definition: STOFFChart.hxx:100
STOFFChart::Position::operator!=
bool operator!=(Position &pos) const
operator!=
Definition: STOFFChart.hxx:89
STOFFChart::Axis::A_None
@ A_None
Definition: STOFFChart.hxx:100
STOFFFont
Class to store font.
Definition: STOFFFont.hxx:43
STOFFChart::setGridColor
void setGridColor(STOFFColor const &color)
set the grid color
Definition: STOFFChart.hxx:280
STOFFChart::Serie::P_Automatic
@ P_Automatic
Definition: STOFFChart.hxx:172
STOFFChart::Axis::addContentTo
void addContentTo(int coord, librevenge::RVNGPropertyList &propList) const
add content to the propList
Definition: STOFFChart.cxx:398
STOFFVec2f
STOFFVec2< float > STOFFVec2f
STOFFVec2 of float.
Definition: libstaroffice_internal.hxx:771
STOFFGraphicStyle
Class to store a graphic style.
Definition: STOFFGraphicStyle.hxx:44
STOFFChart::Serie::Type
Type
the series type
Definition: STOFFChart.hxx:169
STOFFChart::TextZone::m_style
STOFFGraphicStyle m_style
the graphic style
Definition: STOFFChart.hxx:267
STOFFChart::Serie
a serie in a chart
Definition: STOFFChart.hxx:167
STOFFChart::m_plotAreaPosition
STOFFBox2f m_plotAreaPosition
the plot area dimension in percent
Definition: STOFFChart.hxx:340
STOFFChartInternal::SubDocument::operator==
bool operator==(STOFFSubDocument const &doc) const
operator==
Definition: STOFFChart.cxx:82
STOFFChart::TextZone::C_Text
@ C_Text
Definition: STOFFChart.hxx:227
STOFFChartInternal::SubDocument
Internal: the subdocument of a STOFFChart.
Definition: STOFFChart.cxx:61
STOFFChart::TextZone::operator<<
friend std::ostream & operator<<(std::ostream &o, TextZone const &zone)
operator<<
Definition: STOFFChart.cxx:821
STOFFChart::getTextZone
TextZone * getTextZone(TextZone::Type type, bool create=false)
returns a textzone content
Definition: STOFFChart.cxx:178
STOFFChart::m_dataVertical
bool m_dataVertical
a flag to know if the data are vertical (for bar)
Definition: STOFFChart.hxx:324
STOFFChart::Serie::P_None
@ P_None
Definition: STOFFChart.hxx:172
STOFFChart::TextZone::T_Footer
@ T_Footer
Definition: STOFFChart.hxx:225
STOFF_N_ELEMENTS
#define STOFF_N_ELEMENTS(m)
Definition: libstaroffice_internal.hxx:119
STOFFChart::Serie::S_Column
@ S_Column
Definition: STOFFChart.hxx:169
STOFFChart::Serie::P_Hourglass
@ P_Hourglass
Definition: STOFFChart.hxx:173
STOFFChart::Legend::addContentTo
void addContentTo(librevenge::RVNGPropertyList &propList) const
add content to the propList
Definition: STOFFChart.cxx:510
STOFFChart::TextZone::m_cell
Position m_cell
the cell position ( or title and subtitle)
Definition: STOFFChart.hxx:261
STOFFChart::Legend::m_autoPosition
bool m_autoPosition
automatic position
Definition: STOFFChart.hxx:156
STOFFChart::Serie::S_Ring
@ S_Ring
Definition: STOFFChart.hxx:169
STOFFChart::Serie::Serie
Serie()
constructor
Definition: STOFFChart.cxx:568
STOFFChart::TextZone::m_font
STOFFFont m_font
the zone format
Definition: STOFFChart.hxx:265
STOFFChartInternal::SubDocument::SubDocument
SubDocument(STOFFChart *chart, STOFFChart::TextZone::Type textZone)
Definition: STOFFChart.cxx:64
STOFFChart::m_legend
Legend m_legend
the legend
Definition: STOFFChart.hxx:360
STOFFChart::Serie::S_Bar
@ S_Bar
Definition: STOFFChart.hxx:169
STOFFChart::sendChart
void sendChart(STOFFSpreadsheetListenerPtr &listener, librevenge::RVNGSpreadsheetInterface *interface)
send the chart to the listener
Definition: STOFFChart.cxx:197
STOFFChart::Axis::m_type
Type m_type
the sequence type
Definition: STOFFChart.hxx:112
STOFFChart::Serie::P_Arrow_Left
@ P_Arrow_Left
Definition: STOFFChart.hxx:173
STOFFChart::Axis::addStyleTo
void addStyleTo(librevenge::RVNGPropertyList &propList) const
add style to the propList
Definition: STOFFChart.cxx:453
STOFFChart::Axis::m_labelRanges
Position m_labelRanges[2]
the label range if defined
Definition: STOFFChart.hxx:122
STOFFChart::TextZone::C_Cell
@ C_Cell
Definition: STOFFChart.hxx:227
STOFFPosition.hxx
STOFFChart::TextZone::addContentTo
void addContentTo(librevenge::RVNGPropertyList &propList) const
add content to the propList
Definition: STOFFChart.cxx:778
STOFFChart::TextZone::T_SubTitle
@ T_SubTitle
Definition: STOFFChart.hxx:225
STOFFChart::Position
a cell position
Definition: STOFFChart.hxx:62
STOFFChart::Position::valid
bool valid() const
return true if the position is valid
Definition: STOFFChart.hxx:70
STOFFChart::Serie::P_X
@ P_X
Definition: STOFFChart.hxx:174
STOFFChart::Serie::S_Gantt
@ S_Gantt
Definition: STOFFChart.hxx:169
libstoff::RightBit
@ RightBit
Definition: libstaroffice_internal.hxx:180
STOFFChart::getLegend
const Legend & getLegend() const
returns the legend
Definition: STOFFChart.hxx:290
STOFFChart::Serie::S_Area
@ S_Area
Definition: STOFFChart.hxx:169
STOFFChart::Legend::m_style
STOFFGraphicStyle m_style
the graphic style
Definition: STOFFChart.hxx:164
STOFFChart::Axis::Axis
Axis()
constructor
Definition: STOFFChart.cxx:379
STOFFChart::Serie::S_Stock
@ S_Stock
Definition: STOFFChart.hxx:169
STOFFVec2i
STOFFVec2< int > STOFFVec2i
STOFFVec2 of int.
Definition: libstaroffice_internal.hxx:767
STOFFChart::Serie::m_font
STOFFFont m_font
the label font
Definition: STOFFChart.hxx:210
STOFFChart::Serie::m_legendText
librevenge::RVNGString m_legendText
the legend name if defined
Definition: STOFFChart.hxx:216
STOFFFont.hxx
STOFFChart::TextZone::m_show
bool m_show
true if the zone is visible
Definition: STOFFChart.hxx:257
libstoff
namespace used to regroup all libwpd functions, enumerations which we have redefined for internal usa...
Definition: libstaroffice_internal.cxx:50
STOFFInputStream.hxx
STOFFChart::m_is3D
bool m_is3D
a flag to know if the graphic is 3D
Definition: STOFFChart.hxx:326
STOFFChart::Serie::getSerieTypeName
static std::string getSerieTypeName(Type type)
returns a string corresponding to a series type
Definition: STOFFChart.cxx:583
STOFFChart::Serie::m_labelRanges
Position m_labelRanges[2]
the label ranges if defined(unused)
Definition: STOFFChart.hxx:212
STOFFChart::Serie::operator=
Serie & operator=(Serie const &)=default
STOFFChart::Position::operator==
bool operator==(Position &pos) const
operator==
Definition: STOFFChart.hxx:84
STOFFChart::Legend::operator<<
friend std::ostream & operator<<(std::ostream &o, Legend const &legend)
operator<<
Definition: STOFFChart.cxx:539
STOFFChart::m_is3DDeep
bool m_is3DDeep
a flag to know if real 3D or 2D-extended
Definition: STOFFChart.hxx:328
STOFFSpreadsheetListener.hxx
STOFFChart::Position::Position
Position(STOFFVec2i pos=STOFFVec2i(-1,-1), librevenge::RVNGString const &sheetName="")
constructor
Definition: STOFFChart.hxx:64
STOFFChart::Axis::m_titleRange
Position m_titleRange
the title cell range
Definition: STOFFChart.hxx:127
STOFFChart::Axis::Type
Type
the axis content
Definition: STOFFChart.hxx:100
STOFFChart::TextZone::Type
Type
the text type
Definition: STOFFChart.hxx:225
STOFFChart::m_gridColor
STOFFColor m_gridColor
the grid color
Definition: STOFFChart.hxx:356
STOFFChart::m_serieMap
std::map< int, Serie > m_serieMap
the list of series
Definition: STOFFChart.hxx:362
STOFFChartInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: STOFFChart.cxx:70