SWFieldManager.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 * FieldManager to read/parse SW StarOffice field
36 *
37 */
38#ifndef SW_FIELDMANAGER
39# define SW_FIELDMANAGER
40
41#include <vector>
42
43#include "STOFFDebug.hxx"
44#include "STOFFEntry.hxx"
45#include "STOFFInputStream.hxx"
46
47class StarState;
48
50{
53struct Field {
56 {
57 }
59 virtual ~Field();
61 friend std::ostream &operator<<(std::ostream &o, Field const &field)
62 {
63 field.print(o);
64 return o;
65 }
67 virtual bool send(STOFFListenerPtr listener, StarState &state) const;
69 virtual void print(std::ostream &o) const;
71 int m_type;
77 librevenge::RVNGString m_name;
79 librevenge::RVNGString m_content;
81 librevenge::RVNGString m_textValue;
86protected:
88 Field(const Field &orig) : m_type(orig.m_type), m_subType(orig.m_subType), m_format(orig.m_format),
90 {
91 }
92};
93
94struct State;
95}
96
97class StarZone;
98
105{
106public:
110 virtual ~SWFieldManager();
111
112
114 shared_ptr<SWFieldManagerInternal::Field> readField(StarZone &zone, char cKind='_');
115
116 //
117 // data
118 //
119private:
121 shared_ptr<SWFieldManagerInternal::State> m_state;
122};
123#endif
124// vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
the main class to read/.
Definition SWFieldManager.hxx:105
SWFieldManager()
constructor
Definition SWFieldManager.cxx:935
virtual ~SWFieldManager()
destructor
Definition SWFieldManager.cxx:939
shared_ptr< SWFieldManagerInternal::Field > readField(StarZone &zone, char cKind='_')
try to read a field type
Definition SWFieldManager.cxx:943
shared_ptr< SWFieldManagerInternal::State > m_state
the state
Definition SWFieldManager.hxx:121
class to store an state: ie.
Definition StarState.hxx:67
a zone in a StarOffice file
Definition StarZone.hxx:57
shared_ptr< STOFFListener > STOFFListenerPtr
a smart pointer of STOFFListener
Definition libstaroffice_internal.hxx:476
Internal: the structures of a SWFieldManager.
Definition StarState.hxx:60
Internal: a field.
Definition SWFieldManager.hxx:53
int m_type
the field type
Definition SWFieldManager.hxx:71
Field(const Field &orig)
copy constructor
Definition SWFieldManager.hxx:88
librevenge::RVNGString m_content
the content
Definition SWFieldManager.hxx:79
double m_doubleValue
double
Definition SWFieldManager.hxx:83
int m_subType
the subtype
Definition SWFieldManager.hxx:73
friend std::ostream & operator<<(std::ostream &o, Field const &field)
operator<<
Definition SWFieldManager.hxx:61
virtual ~Field()
destructor
Definition SWFieldManager.cxx:72
int m_level
the chapter level
Definition SWFieldManager.hxx:85
Field()
constructor
Definition SWFieldManager.hxx:55
virtual bool send(STOFFListenerPtr listener, StarState &state) const
add to send the zone data
Definition SWFieldManager.cxx:110
librevenge::RVNGString m_textValue
the value text
Definition SWFieldManager.hxx:81
virtual void print(std::ostream &o) const
print a field
Definition SWFieldManager.cxx:76
librevenge::RVNGString m_name
the name
Definition SWFieldManager.hxx:77
int m_format
the field format
Definition SWFieldManager.hxx:75

Generated on Wed Nov 29 2023 18:59:40 for libstaroffice by doxygen 1.9.8