Branch data Line data Source code
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 : : * LwpStory:
59 : : 1. Word Pro object for paragraph list;
60 : : 2. the content of layout object
61 : : ************************************************************************/
62 : : /*************************************************************************
63 : : * Change History
64 : : Jan 2005 Created
65 : : ************************************************************************/
66 : :
67 : : #ifndef _LWPSTORY_HXX
68 : : #define _LWPSTORY_HXX
69 : : #include "lwpcontent.hxx"
70 : :
71 : : class LwpPageLayout;
72 : : class LwpStory: public LwpContent
73 : : {
74 : : public:
75 : : LwpStory(LwpObjectHeader &objHdr, LwpSvStream* pStrm);
76 : : virtual ~LwpStory();
77 : : private:
78 : : //File format members:
79 : : LwpDLVListHeadTail m_ParaList;
80 : : LwpObjectID m_FirstParaStyle;
81 : :
82 : : // for bullet , 05/23/2005
83 : : typedef std::pair<rtl::OUString, sal_uInt8> NamePosPair;
84 : : std::vector <NamePosPair> m_vBulletStyleNameList;
85 : :
86 : : // , 02/16/2005
87 : : sal_Bool m_bPMModified;
88 : : LwpPageLayout* m_pCurrentLayout; //for register page layout style
89 : : std::vector<LwpPageLayout*> m_LayoutList;
90 : : LwpLayout* m_pTabLayout; //for register tab style
91 : :
92 : : sal_Bool m_bDropcap;
93 : : LwpHyperlinkMgr* m_pHyperlinkMgr;
94 : : OUString m_CurrSectionName;
95 : :
96 : : XFContentContainer* m_pXFContainer;
97 : :
98 : : protected:
99 : : void Read();
100 : : void XFConvertFrameInCell(XFContentContainer* pCont);
101 : : void XFConvertFrameInFrame(XFContentContainer* pCont);
102 : : void XFConvertFrameInHeaderFooter(XFContentContainer* pCont);
103 : :
104 : : public:
105 : : void RegisterStyle();
106 : : void Parse(IXFStream* pOutputStream);
107 : : virtual void XFConvert(XFContentContainer* pCont);
108 : : void XFConvertFrameInPage(XFContentContainer* pCont);
109 : : inline LwpDLVListHeadTail* GetParaList();
110 : : inline LwpObjectID* GetFirstPara();
111 : : inline LwpObjectID* GetLastPara();
112 : : XFContentContainer* GetXFContent();
113 : : void AddXFContent(XFContent* pContent);
114 : :
115 : : inline sal_Bool GetDropcapFlag();
116 : : inline LwpPageLayout* GetCurrentLayout();
117 : : inline LwpMiddleLayout* GetTabLayout();//for register tab style
118 : : inline OUString GetSectionName();
119 : : inline LwpHyperlinkMgr* GetHyperlinkMgr();
120 : :
121 : : inline sal_Bool IsPMModified();
122 : : inline void SetPMModified(sal_Bool bPMModified);
123 : : inline void SetDropcapFlag(sal_Bool bFlag);
124 : : inline void SetTabLayout(LwpLayout* pLayout);
125 : : inline void SetSectionName(OUString StyleName);
126 : :
127 : : void SetCurrentLayout(LwpPageLayout* pPageLayout);
128 : : void AddPageLayout(LwpPageLayout* pObject);
129 : : LwpPageLayout* GetNextPageLayout();
130 : : sal_Bool IsNeedSection();
131 : : void SortPageLayout();
132 : :
133 : : LwpPara* GetLastParaOfPreviousStory();
134 : :
135 : : OUString GetContentText(sal_Bool bAllText = sal_False);//add by ,for CHB,05/5/25
136 : : inline void AddBullStyleName2List(const rtl::OUString& rStyleName, const sal_uInt8& nPos);
137 : : sal_Bool IsBullStyleUsedBefore(const rtl::OUString& rStyleName, const sal_uInt8& nPos);
138 : :
139 : : OUString RegisterFirstFribStyle();
140 : : };
141 : :
142 : : LwpDLVListHeadTail* LwpStory::GetParaList()
143 : : {
144 : : return &m_ParaList;
145 : : }
146 : 357 : LwpObjectID* LwpStory::GetFirstPara()
147 : : {
148 : 357 : return m_ParaList.GetHead();
149 : : }
150 : 0 : LwpObjectID* LwpStory::GetLastPara()
151 : : {
152 : 0 : return m_ParaList.GetTail();
153 : : }
154 : 1596 : sal_Bool LwpStory::GetDropcapFlag()
155 : : {
156 : 1596 : return m_bDropcap;
157 : : }
158 : 270 : LwpMiddleLayout* LwpStory::GetTabLayout()
159 : : {
160 [ + + ]: 270 : if(m_pTabLayout)
161 : 240 : return m_pTabLayout;
162 : 270 : return static_cast<LwpMiddleLayout*>(GetLayout(NULL));
163 : : }
164 : 12 : void LwpStory::SetPMModified(sal_Bool bPMModified)
165 : : {
166 : 12 : m_bPMModified = bPMModified;
167 : 12 : }
168 : 0 : void LwpStory::SetDropcapFlag(sal_Bool bFlag)
169 : : {
170 : 0 : m_bDropcap = bFlag;
171 : 0 : }
172 : 0 : void LwpStory::SetTabLayout(LwpLayout* pLayout)
173 : : {
174 : 0 : m_pTabLayout = pLayout;
175 : 0 : }
176 : 0 : void LwpStory::SetSectionName(OUString StyleName)
177 : : {
178 : 0 : m_CurrSectionName = StyleName;
179 : 0 : }
180 : 0 : OUString LwpStory::GetSectionName()
181 : : {
182 : 0 : return m_CurrSectionName;
183 : : }
184 : 783 : sal_Bool LwpStory::IsPMModified()
185 : : {
186 : 783 : return m_bPMModified;
187 : : }
188 : 12 : LwpPageLayout* LwpStory::GetCurrentLayout()
189 : : {
190 : 12 : return m_pCurrentLayout;
191 : : }
192 : 567 : LwpHyperlinkMgr* LwpStory::GetHyperlinkMgr()
193 : : {
194 : 567 : return m_pHyperlinkMgr;
195 : : }
196 : 9 : inline void LwpStory::AddBullStyleName2List(const rtl::OUString& rStyleName, const sal_uInt8& nPos)
197 : : {
198 [ + - ]: 9 : m_vBulletStyleNameList.push_back(std::make_pair(rStyleName, nPos));
199 : 9 : }
200 : :
201 : : #endif
202 : :
203 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|