LibreOffice Module lotuswordpro (master) 1
lwpfrib.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*************************************************************************
3 *
4 * The Contents of this file are made available subject to the terms of
5 * either of the following licenses
6 *
7 * - GNU Lesser General Public License Version 2.1
8 * - Sun Industry Standards Source License Version 1.1
9 *
10 * Sun Microsystems Inc., October, 2000
11 *
12 * GNU Lesser General Public License Version 2.1
13 * =============================================
14 * Copyright 2000 by Sun Microsystems, Inc.
15 * 901 San Antonio Road, Palo Alto, CA 94303, USA
16 *
17 * This library is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU Lesser General Public
19 * License version 2.1, as published by the Free Software Foundation.
20 *
21 * This library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * Lesser General Public License for more details.
25 *
26 * You should have received a copy of the GNU Lesser General Public
27 * License along with this library; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
29 * MA 02111-1307 USA
30 *
31 *
32 * Sun Industry Standards Source License Version 1.1
33 * =================================================
34 * The contents of this file are subject to the Sun Industry Standards
35 * Source License Version 1.1 (the "License"); You may not use this file
36 * except in compliance with the License. You may obtain a copy of the
37 * License at http://www.openoffice.org/license.html.
38 *
39 * Software provided under this License is provided on an "AS IS" basis,
40 * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
41 * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
42 * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
43 * See the License for the specific provisions governing your rights and
44 * obligations concerning the Software.
45 *
46 * The Initial Developer of the Original Code is: IBM Corporation
47 *
48 * Copyright: 2008 by IBM Corporation
49 *
50 * All Rights Reserved.
51 *
52 * Contributor(s): _______________________________________
53 *
54 *
55 ************************************************************************/
56/*************************************************************************
57 * @file
58 * For LWP filter architecture prototype
59 ************************************************************************/
60
61#ifndef INCLUDED_LOTUSWORDPRO_INC_LWPFRIB_HXX
62#define INCLUDED_LOTUSWORDPRO_INC_LWPFRIB_HXX
63#include <map>
64#include <memory>
65#include <config_lgpl.h>
66#include "lwpobjid.hxx"
67#include "lwpobjstrm.hxx"
68#include "lwpoverride.hxx"
69#include "lwpfoundry.hxx"
70#include "xfilter/xfcolor.hxx"
71
73{
74 sal_uInt32 FontID;
78 sal_uInt16 CodePage;
84};
85
86class LwpPara;
87class LwpHyperlinkMgr;
89{
90public:
91 explicit LwpFrib(LwpPara* pPara);
92 virtual ~LwpFrib();
93 static LwpFrib* CreateFrib(LwpPara* pPara, LwpObjectStream* pObjStrm, sal_uInt8 fribtag,
94 sal_uInt8 editID);
95 virtual void Read(LwpObjectStream* pObjStrm, sal_uInt16 len);
96 LwpFrib* GetNext() { return m_pNext; }
97 void SetNext(LwpFrib* next) { m_pNext = next; }
98 sal_uInt8 GetType() const { return m_nFribType; }
99 OUString GetEditor();
101
102protected:
103 std::map<LwpFrib*, OUString>* m_pFribMap;
107 std::unique_ptr<ModifierInfo> m_pModifiers;
108 OUString m_StyleName;
109
110public:
112 const OUString& GetStyleName() const { return m_StyleName; }
113 void SetModifiers(ModifierInfo* pModifiers);
115 virtual void RegisterStyle(LwpFoundry* pFoundry);
116 bool HasNextFrib();
117 void ConvertChars(XFContentContainer* pXFPara, const OUString& text);
118 void ConvertHyperLink(XFContentContainer* pXFPara, const LwpHyperlinkMgr* pHyperlink,
119 const OUString& text);
121
123 bool GetRevisionFlag() const { return m_bRevisionFlag; }
124 enum
125 {
128 };
129
130 void Register(std::map<LwpFrib*, OUString>* pFribMap);
131 void Deregister();
132
133private:
134 static void ReadModifiers(LwpObjectStream* pObjStrm, ModifierInfo* pModInfo);
135
136protected:
140};
141
142#endif
143
144/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
sal_uInt8 GetRevisionType() const
Definition: lwpfrib.hxx:122
LwpFrib * m_pNext
Definition: lwpfrib.hxx:105
const OUString & GetStyleName() const
Definition: lwpfrib.hxx:112
LwpFrib * GetNext()
Definition: lwpfrib.hxx:96
void Register(std::map< LwpFrib *, OUString > *pFribMap)
Definition: lwpfrib.cxx:439
XFColor GetHighlightColor()
Definition: lwpfrib.cxx:433
static void ReadModifiers(LwpObjectStream *pObjStrm, ModifierInfo *pModInfo)
Definition: lwpfrib.cxx:309
virtual void Read(LwpObjectStream *pObjStrm, sal_uInt16 len)
Definition: lwpfrib.cxx:207
OUString GetEditor()
Definition: lwpfrib.cxx:427
LwpPara * m_pPara
Definition: lwpfrib.hxx:104
void ConvertHyperLink(XFContentContainer *pXFPara, const LwpHyperlinkMgr *pHyperlink, const OUString &text)
Definition: lwpfrib.cxx:396
sal_uInt8 m_nRevisionType
Definition: lwpfrib.hxx:137
virtual void RegisterStyle(LwpFoundry *pFoundry)
Definition: lwpfrib.cxx:223
OUString m_StyleName
Definition: lwpfrib.hxx:108
std::unique_ptr< ModifierInfo > m_pModifiers
Definition: lwpfrib.hxx:107
sal_uInt8 GetType() const
Definition: lwpfrib.hxx:98
void SetModifiers(ModifierInfo *pModifiers)
Definition: lwpfrib.cxx:209
std::map< LwpFrib *, OUString > * m_pFribMap
Definition: lwpfrib.hxx:103
rtl::Reference< XFFont > GetFont()
@descr: Get the current frib font style
Definition: lwpfrib.cxx:410
bool m_ModFlag
Definition: lwpfrib.hxx:111
ModifierInfo * GetModifiers()
Definition: lwpfrib.hxx:114
bool m_bRevisionFlag
Definition: lwpfrib.hxx:138
@ REV_DELETE
Definition: lwpfrib.hxx:127
@ REV_INSERT
Definition: lwpfrib.hxx:126
bool GetRevisionFlag() const
Definition: lwpfrib.hxx:123
void SetNext(LwpFrib *next)
Definition: lwpfrib.hxx:97
virtual ~LwpFrib()
Definition: lwpfrib.cxx:95
bool HasNextFrib()
@descr: Whether there are other fribs following current frib.
Definition: lwpfrib.cxx:378
void Deregister()
Definition: lwpfrib.cxx:446
sal_uInt8 m_nFribType
Definition: lwpfrib.hxx:106
sal_uInt8 m_nEditor
Definition: lwpfrib.hxx:139
LwpFrib(LwpPara *pPara)
Definition: lwpfrib.cxx:83
static LwpFrib * CreateFrib(LwpPara *pPara, LwpObjectStream *pObjStrm, sal_uInt8 fribtag, sal_uInt8 editID)
Definition: lwpfrib.cxx:97
void ConvertChars(XFContentContainer *pXFPara, const OUString &text)
Definition: lwpfrib.cxx:380
object id class
Definition: lwpobjid.hxx:79
stream class for LwpObject body data provide stream like interface to read object data
Definition: lwpobjstrm.hxx:77
Color object.
Definition: xfcolor.hxx:70
A container for content.
LwpTextLanguageOverride Language
Definition: lwpfrib.hxx:76
bool HasHighlight
Definition: lwpfrib.hxx:81
bool HasCharStyle
Definition: lwpfrib.hxx:79
bool RevisionFlag
Definition: lwpfrib.hxx:83
LwpObjectID CharStyleID
Definition: lwpfrib.hxx:75
sal_uInt32 FontID
Definition: lwpfrib.hxx:74
sal_uInt8 RevisionType
Definition: lwpfrib.hxx:82
sal_uInt16 CodePage
Definition: lwpfrib.hxx:78
bool HasLangOverride
Definition: lwpfrib.hxx:80
LwpTextAttributeOverride aTxtAttrOverride
Definition: lwpfrib.hxx:77
unsigned char sal_uInt8