LibreOffice Module lotuswordpro (master)
1
lotuswordpro
inc
xfilter
xfhyperlink.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
* Hyperlink object for OOo xml filter.
59
************************************************************************/
60
#ifndef INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFHYPERLINK_HXX
61
#define INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFHYPERLINK_HXX
62
63
#include <
xfilter/ixfstream.hxx
>
64
#include <
xfilter/ixfattrlist.hxx
>
65
#include <
xfilter/xfcontent.hxx
>
66
67
class
XFHyperlink
:
public
XFContent
68
{
69
public
:
70
XFHyperlink
();
71
72
public
:
73
void
SetHRef
(
const
OUString& href);
74
75
void
SetText
(
const
OUString&
text
);
76
77
virtual
void
ToXml
(
IXFStream
* pStrm)
override
;
78
79
private
:
80
OUString
m_strHRef
;
81
OUString
m_strName
;
82
OUString
m_strFrame
;
83
OUString
m_strText
;
84
};
85
86
inline
XFHyperlink::XFHyperlink
() {
m_strFrame
=
"_self"
; }
87
88
inline
void
XFHyperlink::SetHRef
(
const
OUString& href) {
m_strHRef
= href; }
89
90
inline
void
XFHyperlink::SetText
(
const
OUString& text) {
m_strText
=
text
; }
91
92
inline
void
XFHyperlink::ToXml
(
IXFStream
* pStrm)
93
{
94
IXFAttrList
* pAttrList = pStrm->
GetAttrList
();
95
pAttrList->
Clear
();
96
97
pAttrList->
AddAttribute
(
"xlink:type"
,
"simple"
);
98
pAttrList->
AddAttribute
(
"xlink:href"
,
m_strHRef
);
99
if
(!
m_strName
.isEmpty())
100
pAttrList->
AddAttribute
(
"office:name"
,
m_strName
);
101
pAttrList->
AddAttribute
(
"office:target-frame-name"
,
m_strFrame
);
102
pAttrList->
AddAttribute
(
"xlink:show"
,
"replace"
);
103
pStrm->
StartElement
(
"text:a"
);
104
105
pAttrList->
Clear
();
106
if
(!
GetStyleName
().isEmpty())
107
pAttrList->
AddAttribute
(
"text:style-name"
,
GetStyleName
());
108
pStrm->
StartElement
(
"text:span"
);
109
if
(!
m_strText
.isEmpty())
110
pStrm->
Characters
(
m_strText
);
111
else
112
pStrm->
Characters
(
m_strHRef
);
113
pStrm->
EndElement
(
"text:span"
);
114
115
pStrm->
EndElement
(
"text:a"
);
116
}
117
118
#endif
119
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
IXFAttrList
Attribute list interface for sax writer.
Definition:
ixfattrlist.hxx:72
IXFAttrList::Clear
virtual void Clear()=0
@descr: Clear all the attributes in the attribute list.
IXFAttrList::AddAttribute
virtual void AddAttribute(const OUString &name, const OUString &value)=0
@descr: Add an attribute to the attribute list.
IXFStream
Stream wrapper for sax writer.
Definition:
ixfstream.hxx:72
IXFStream::Characters
virtual void Characters(const OUString &oustr)=0
@descr output text node.
IXFStream::GetAttrList
virtual IXFAttrList * GetAttrList()=0
@descr return the Attribute list interface.
IXFStream::StartElement
virtual void StartElement(const OUString &oustr)=0
@descr Wrap XDocumentHandler::startElement()
IXFStream::EndElement
virtual void EndElement(const OUString &oustr)=0
@descr Wrap XDocumentHandler::endElement()
XFContent
@descr Base class for all content object.
Definition:
xfcontent.hxx:80
XFContent::GetStyleName
const OUString & GetStyleName() const
: return the style name.
Definition:
xfcontent.hxx:95
XFHyperlink
Definition:
xfhyperlink.hxx:68
XFHyperlink::SetText
void SetText(const OUString &text)
Definition:
xfhyperlink.hxx:90
XFHyperlink::m_strText
OUString m_strText
Definition:
xfhyperlink.hxx:83
XFHyperlink::ToXml
virtual void ToXml(IXFStream *pStrm) override
Definition:
xfhyperlink.hxx:92
XFHyperlink::SetHRef
void SetHRef(const OUString &href)
Definition:
xfhyperlink.hxx:88
XFHyperlink::m_strName
OUString m_strName
Definition:
xfhyperlink.hxx:81
XFHyperlink::m_strFrame
OUString m_strFrame
Definition:
xfhyperlink.hxx:82
XFHyperlink::m_strHRef
OUString m_strHRef
Definition:
xfhyperlink.hxx:80
XFHyperlink::XFHyperlink
XFHyperlink()
Definition:
xfhyperlink.hxx:86
ixfattrlist.hxx
ixfstream.hxx
text
def text(shape, orig_st)
xfcontent.hxx
Generated on Sun Jul 30 2023 04:29:22 for LibreOffice Module lotuswordpro (master) by
1.9.3