summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2009-01-05 17:49:45 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2009-01-05 17:49:45 +0000
commit478f9ad06412c910d0264f76962a6d5e1a01aaa2 (patch)
treec13ac1368ed47e446db23e3e89c0b7f2c5913681
parent6ecc856f8cc90bd18b29523460570e9358792d34 (diff)
CWS-TOOLING: integrate CWS overline3
2008-12-11 15:24:46 +0100 fredrikh r265314 : i97099 2008-12-11 15:20:37 +0100 fredrikh r265313 : i97099 2008-12-11 15:18:00 +0100 fredrikh r265312 : i97099 2008-12-11 15:17:00 +0100 fredrikh r265311 : i97099 2008-12-11 15:13:20 +0100 fredrikh r265309 : i97144 2008-12-11 15:06:24 +0100 fredrikh r265306 : i97099 2008-11-24 10:41:42 +0100 fme r264213 : #i5991# Overline support 2008-11-24 10:39:53 +0100 fme r264212 : #i5991# Overline support 2008-11-24 10:02:13 +0100 fme r264209 : #5991# Overline support 2008-11-24 10:01:26 +0100 fme r264208 : #5991# Overline support 2008-11-24 09:59:11 +0100 fme r264207 : #5991# Overline support 2008-11-24 09:57:11 +0100 fme r264206 : #5991# Overline support 2008-11-14 10:36:44 +0100 fme r263667 : CWS-TOOLING: rebase CWS overline3 to trunk@263288 (milestone: DEV300:m35) 2008-11-13 16:12:13 +0100 fme r263649 : #i5991# migrate CWS overline3 to SVN.
-rw-r--r--sw/inc/charatr.hxx6
-rw-r--r--sw/inc/format.hxx3
-rw-r--r--sw/inc/hintids.hxx210
-rw-r--r--sw/inc/swatrset.hxx5
-rw-r--r--sw/inc/tblafmt.hxx5
-rw-r--r--sw/inc/txatbase.hxx10
-rw-r--r--sw/inc/unoprnms.hxx7
-rwxr-xr-xsw/sdi/_annotsh.sdi7
-rw-r--r--sw/sdi/_textsh.sdi8
-rw-r--r--sw/sdi/drwtxtsh.sdi7
-rw-r--r--sw/source/core/attr/swatrset.cxx3
-rw-r--r--sw/source/core/bastyp/init.cxx18
-rw-r--r--sw/source/core/doc/dbgoutsw.cxx1
-rw-r--r--sw/source/core/doc/notxtfrm.cxx4
-rw-r--r--sw/source/core/doc/tblafmt.cxx25
-rw-r--r--sw/source/core/inc/swfntcch.hxx4
-rw-r--r--sw/source/core/inc/swfont.hxx23
-rw-r--r--sw/source/core/layout/wsfrm.cxx1
-rw-r--r--sw/source/core/text/EnhancedPDFExportHelper.cxx5
-rw-r--r--sw/source/core/text/atrhndl.hxx4
-rw-r--r--sw/source/core/text/atrstck.cxx31
-rw-r--r--sw/source/core/text/itrpaint.cxx5
-rw-r--r--sw/source/core/text/porfld.cxx8
-rw-r--r--sw/source/core/text/txtfld.cxx6
-rw-r--r--sw/source/core/text/txtftn.cxx4
-rw-r--r--sw/source/core/text/txtio.cxx4
-rw-r--r--sw/source/core/txtnode/fntcache.cxx44
-rw-r--r--sw/source/core/txtnode/fntcap.cxx16
-rw-r--r--sw/source/core/txtnode/swfont.cxx20
-rw-r--r--sw/source/core/unocore/unomap.cxx38
-rw-r--r--sw/source/core/unocore/unoprnms.cxx7
-rw-r--r--sw/source/core/unocore/unosrch.cxx9
-rw-r--r--sw/source/filter/html/css1atr.cxx117
-rw-r--r--sw/source/filter/html/css1kywd.cxx3
-rw-r--r--sw/source/filter/html/css1kywd.hxx3
-rw-r--r--sw/source/filter/html/htmlatr.cxx28
-rw-r--r--sw/source/filter/html/htmlform.cxx4
-rw-r--r--sw/source/filter/html/svxcss1.cxx22
-rw-r--r--sw/source/filter/rtf/rtfatr.cxx93
-rw-r--r--sw/source/filter/rtf/wrtrtf.cxx14
-rw-r--r--sw/source/filter/rtf/wrtrtf.hxx4
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx7
-rw-r--r--sw/source/filter/ww8/ww8par3.cxx6
-rw-r--r--sw/source/ui/inc/swmn_tmpl.hrc6
-rw-r--r--sw/source/ui/inc/toolbox_tmpl.hrc12
-rwxr-xr-xsw/source/ui/shells/annotsh.cxx9
-rw-r--r--sw/source/ui/shells/drwtxtex.cxx10
-rw-r--r--sw/source/ui/shells/txtattr.cxx6
-rw-r--r--sw/source/ui/table/tautofmt.cxx3
-rw-r--r--sw/source/ui/uiview/view.cxx3
50 files changed, 641 insertions, 257 deletions
diff --git a/sw/inc/charatr.hxx b/sw/inc/charatr.hxx
index 32302f3bb122..621b88fb9eb1 100644
--- a/sw/inc/charatr.hxx
+++ b/sw/inc/charatr.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: charatr.hxx,v $
- * $Revision: 1.15 $
+ * $Revision: 1.15.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -63,6 +63,8 @@ inline const SvxKerningItem &SwAttrSet::GetKerning(BOOL bInP) const
{ return (const SvxKerningItem&)Get( RES_CHRATR_KERNING,bInP); }
inline const SvxUnderlineItem &SwAttrSet::GetUnderline(BOOL bInP) const
{ return (const SvxUnderlineItem&)Get( RES_CHRATR_UNDERLINE,bInP); }
+inline const SvxOverlineItem &SwAttrSet::GetOverline(BOOL bInP) const
+ { return (const SvxOverlineItem&)Get( RES_CHRATR_OVERLINE,bInP); }
inline const SvxCrossedOutItem &SwAttrSet::GetCrossedOut(BOOL bInP) const
{ return (const SvxCrossedOutItem&)Get( RES_CHRATR_CROSSEDOUT,bInP); }
inline const SvxFontHeightItem &SwAttrSet::GetSize(BOOL bInP) const
@@ -133,6 +135,8 @@ inline const SvxKerningItem &SwFmt::GetKerning(BOOL bInP) const
{ return aSet.GetKerning(bInP); }
inline const SvxUnderlineItem &SwFmt::GetUnderline(BOOL bInP) const
{ return aSet.GetUnderline(bInP); }
+inline const SvxOverlineItem &SwFmt::GetOverline(BOOL bInP) const
+ { return aSet.GetOverline(bInP); }
inline const SvxCrossedOutItem &SwFmt::GetCrossedOut(BOOL bInP) const
{ return aSet.GetCrossedOut(bInP); }
inline const SvxFontHeightItem &SwFmt::GetSize(BOOL bInP) const
diff --git a/sw/inc/format.hxx b/sw/inc/format.hxx
index b72ca46866d4..5451ec78003c 100644
--- a/sw/inc/format.hxx
+++ b/sw/inc/format.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: format.hxx,v $
- * $Revision: 1.32.144.1 $
+ * $Revision: 1.32.140.1 $
*
* This file is part of OpenOffice.org.
*
@@ -198,6 +198,7 @@ public:
inline const SvxContourItem &GetContour( BOOL = TRUE ) const;
inline const SvxKerningItem &GetKerning( BOOL = TRUE ) const;
inline const SvxUnderlineItem &GetUnderline( BOOL = TRUE ) const;
+ inline const SvxOverlineItem &GetOverline( BOOL = TRUE ) const;
inline const SvxCrossedOutItem &GetCrossedOut( BOOL = TRUE ) const;
inline const SvxFontHeightItem &GetSize( BOOL = TRUE ) const;
inline const SvxPropSizeItem &GetPropSize( BOOL = TRUE ) const;
diff --git a/sw/inc/hintids.hxx b/sw/inc/hintids.hxx
index f8d6a78f9737..af29b40df0c9 100644
--- a/sw/inc/hintids.hxx
+++ b/sw/inc/hintids.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: hintids.hxx,v $
- * $Revision: 1.37 $
+ * $Revision: 1.36.136.2 $
*
* This file is part of OpenOffice.org.
*
@@ -101,6 +101,9 @@ RES_CHRATR_BEGIN = HINT_BEGIN,
RES_CHRATR_SCALEW, // 35
RES_CHRATR_RELIEF, // 36
RES_CHRATR_HIDDEN, // 37
+ RES_CHRATR_OVERLINE, // 38
+ RES_CHRATR_DUMMY1, // 39
+ RES_CHRATR_DUMMY2, // 40
RES_CHRATR_END
};
@@ -116,27 +119,27 @@ RES_TXTATR_BEGIN = RES_CHRATR_END,
// merkt sich die Ids immer als Offset zum Start der Gruppe!!!
// Aus dem RES_TXTATR_NOLINEBREAK ist jetzt RES_TXTATR_INETFMT geworden.
RES_TXTATR_WITHEND_BEGIN = RES_TXTATR_BEGIN ,
- RES_TXTATR_AUTOFMT = RES_TXTATR_WITHEND_BEGIN, // 38
- RES_TXTATR_INETFMT, // 39
- RES_TXTATR_REFMARK, // 40
- RES_TXTATR_TOXMARK, // 41
- RES_TXTATR_CHARFMT, // 42
- RES_TXTATR_DUMMY5, // 43
- RES_TXTATR_CJK_RUBY, // 44
- RES_TXTATR_UNKNOWN_CONTAINER, // 45
- RES_TXTATR_DUMMY6, // 46
- RES_TXTATR_DUMMY7, // 47
+ RES_TXTATR_AUTOFMT = RES_TXTATR_WITHEND_BEGIN, // 41
+ RES_TXTATR_INETFMT, // 42
+ RES_TXTATR_REFMARK, // 43
+ RES_TXTATR_TOXMARK, // 44
+ RES_TXTATR_CHARFMT, // 45
+ RES_TXTATR_DUMMY5, // 46
+ RES_TXTATR_CJK_RUBY, // 47
+ RES_TXTATR_UNKNOWN_CONTAINER, // 48
+ RES_TXTATR_DUMMY6, // 49
+ RES_TXTATR_DUMMY7, // 50
RES_TXTATR_WITHEND_END,
// alle TextAttribute ohne ein Ende
RES_TXTATR_NOEND_BEGIN = RES_TXTATR_WITHEND_END,
- RES_TXTATR_FIELD = RES_TXTATR_NOEND_BEGIN, // 48
- RES_TXTATR_FLYCNT, // 49
- RES_TXTATR_FTN, // 50
- RES_TXTATR_SOFTHYPH, // 51
- RES_TXTATR_HARDBLANK, // 52
- RES_TXTATR_DUMMY1, // 53
- RES_TXTATR_DUMMY2, // 54
+ RES_TXTATR_FIELD = RES_TXTATR_NOEND_BEGIN, // 51
+ RES_TXTATR_FLYCNT, // 52
+ RES_TXTATR_FTN, // 53
+ RES_TXTATR_SOFTHYPH, // 54
+ RES_TXTATR_HARDBLANK, // 55
+ RES_TXTATR_DUMMY1, // 56
+ RES_TXTATR_DUMMY2, // 57
RES_TXTATR_NOEND_END,
RES_TXTATR_END = RES_TXTATR_NOEND_END
};
@@ -144,22 +147,22 @@ RES_TXTATR_END = RES_TXTATR_NOEND_END
enum RES_PARATR
{
RES_PARATR_BEGIN = RES_TXTATR_END,
- RES_PARATR_LINESPACING = RES_PARATR_BEGIN, // 55
- RES_PARATR_ADJUST, // 56
- RES_PARATR_SPLIT, // 57
- RES_PARATR_ORPHANS, // 58
- RES_PARATR_WIDOWS, // 59
- RES_PARATR_TABSTOP, // 60
- RES_PARATR_HYPHENZONE, // 61
- RES_PARATR_DROP, // 62
- RES_PARATR_REGISTER, // 63
- RES_PARATR_NUMRULE, // 64
- RES_PARATR_SCRIPTSPACE, // 65
- RES_PARATR_HANGINGPUNCTUATION, // 66
- RES_PARATR_FORBIDDEN_RULES, // 67
- RES_PARATR_VERTALIGN, // 68
- RES_PARATR_SNAPTOGRID, // 69
- RES_PARATR_CONNECT_BORDER, // 70
+ RES_PARATR_LINESPACING = RES_PARATR_BEGIN, // 58
+ RES_PARATR_ADJUST, // 59
+ RES_PARATR_SPLIT, // 60
+ RES_PARATR_ORPHANS, // 61
+ RES_PARATR_WIDOWS, // 62
+ RES_PARATR_TABSTOP, // 63
+ RES_PARATR_HYPHENZONE, // 64
+ RES_PARATR_DROP, // 65
+ RES_PARATR_REGISTER, // 66
+ RES_PARATR_NUMRULE, // 67
+ RES_PARATR_SCRIPTSPACE, // 68
+ RES_PARATR_HANGINGPUNCTUATION, // 69
+ RES_PARATR_FORBIDDEN_RULES, // 70
+ RES_PARATR_VERTALIGN, // 71
+ RES_PARATR_SNAPTOGRID, // 72
+ RES_PARATR_CONNECT_BORDER, // 73
RES_PARATR_END
};
@@ -169,11 +172,11 @@ RES_PARATR_END
enum RES_PARATR_LIST
{
RES_PARATR_LIST_BEGIN = RES_PARATR_END,
- RES_PARATR_LIST_ID = RES_PARATR_LIST_BEGIN, // 71
- RES_PARATR_LIST_LEVEL, // 72
- RES_PARATR_LIST_ISRESTART, // 73
- RES_PARATR_LIST_RESTARTVALUE, // 74
- RES_PARATR_LIST_ISCOUNTED, // 75
+ RES_PARATR_LIST_ID = RES_PARATR_LIST_BEGIN, // 74
+ RES_PARATR_LIST_LEVEL, // 75
+ RES_PARATR_LIST_ISRESTART, // 76
+ RES_PARATR_LIST_RESTARTVALUE, // 77
+ RES_PARATR_LIST_ISCOUNTED, // 78
RES_PARATR_LIST_END
};
// <--
@@ -181,91 +184,92 @@ RES_PARATR_LIST_END
enum RES_FRMATR
{
RES_FRMATR_BEGIN = RES_PARATR_LIST_END,
- RES_FILL_ORDER = RES_FRMATR_BEGIN, // 76
- RES_FRM_SIZE, // 77
- RES_PAPER_BIN, // 78
- RES_LR_SPACE, // 79
- RES_UL_SPACE, // 80
- RES_PAGEDESC, // 81
- RES_BREAK, // 82
- RES_CNTNT, // 83
- RES_HEADER, // 84
- RES_FOOTER, // 85
- RES_PRINT, // 86
- RES_OPAQUE, // 87
- RES_PROTECT, // 88
- RES_SURROUND, // 89
- RES_VERT_ORIENT, // 90
- RES_HORI_ORIENT, // 91
- RES_ANCHOR, // 92
- RES_BACKGROUND, // 93
- RES_BOX, // 94
- RES_SHADOW, // 95
- RES_FRMMACRO, // 96
- RES_COL, // 97
- RES_KEEP, // 98
- RES_URL, // 99
- RES_EDIT_IN_READONLY, // 100
- RES_LAYOUT_SPLIT, // 101
- RES_CHAIN, // 102
- RES_TEXTGRID, // 103
- RES_LINENUMBER , // 104
- RES_FTN_AT_TXTEND, // 105
- RES_END_AT_TXTEND, // 106
- RES_COLUMNBALANCE, // 107
- RES_FRAMEDIR, // 108
- RES_HEADER_FOOTER_EAT_SPACING, // 109
- RES_ROW_SPLIT, // 110
- RES_FOLLOW_TEXT_FLOW, // 111
+ RES_FILL_ORDER = RES_FRMATR_BEGIN, // 79
+ RES_FRM_SIZE, // 80
+ RES_PAPER_BIN, // 81
+ RES_LR_SPACE, // 82
+ RES_UL_SPACE, // 83
+ RES_PAGEDESC, // 84
+ RES_BREAK, // 85
+ RES_CNTNT, // 86
+ RES_HEADER, // 87
+ RES_FOOTER, // 88
+ RES_PRINT, // 89
+ RES_OPAQUE, // 90
+ RES_PROTECT, // 91
+ RES_SURROUND, // 92
+ RES_VERT_ORIENT, // 93
+ RES_HORI_ORIENT, // 94
+ RES_ANCHOR, // 95
+ RES_BACKGROUND, // 96
+ RES_BOX, // 97
+ RES_SHADOW, // 98
+ RES_FRMMACRO, // 99
+ RES_COL, // 100
+ RES_KEEP, // 101
+ RES_URL, // 102
+ RES_EDIT_IN_READONLY, // 103
+ RES_LAYOUT_SPLIT, // 104
+ RES_CHAIN, // 105
+ RES_TEXTGRID, // 106
+ RES_LINENUMBER , // 107
+ RES_FTN_AT_TXTEND, // 108
+ RES_END_AT_TXTEND, // 109
+ RES_COLUMNBALANCE, // 110
+ RES_FRAMEDIR, // 111
+ RES_HEADER_FOOTER_EAT_SPACING, // 112
+ RES_ROW_SPLIT, // 113
+ // OD 18.09.2003 #i18732# - insert new item and 5 dummies
+ RES_FOLLOW_TEXT_FLOW, // 114
// --> collapsing borders FME 2005-05-27 #i29550#
- RES_COLLAPSING_BORDERS, // 112
+ RES_COLLAPSING_BORDERS, // 115
// <-- collapsing
// OD 2004-05-04 #i28701# - use dummy1 for new item
- RES_WRAP_INFLUENCE_ON_OBJPOS, // 113
- RES_AUTO_STYLE, // 114
- RES_FRMATR_STYLE_NAME, // 115
- RES_FRMATR_CONDITIONAL_STYLE_NAME, // 116
+ RES_WRAP_INFLUENCE_ON_OBJPOS, // 116
+ RES_AUTO_STYLE, // 117
+ RES_FRMATR_STYLE_NAME, // 118
+ RES_FRMATR_CONDITIONAL_STYLE_NAME, // 119
RES_FRMATR_END
};
enum RES_GRFATR
{
RES_GRFATR_BEGIN = RES_FRMATR_END,
- RES_GRFATR_MIRRORGRF = RES_GRFATR_BEGIN, // 117
- RES_GRFATR_CROPGRF, // 118
-
- RES_GRFATR_ROTATION, // 119
- RES_GRFATR_LUMINANCE, // 120
- RES_GRFATR_CONTRAST, // 121
- RES_GRFATR_CHANNELR, // 122
- RES_GRFATR_CHANNELG, // 123
- RES_GRFATR_CHANNELB, // 124
- RES_GRFATR_GAMMA, // 125
- RES_GRFATR_INVERT, // 126
- RES_GRFATR_TRANSPARENCY, // 127
- RES_GRFATR_DRAWMODE, // 128
-
- RES_GRFATR_DUMMY1, // 129
- RES_GRFATR_DUMMY2, // 130
- RES_GRFATR_DUMMY3, // 131
- RES_GRFATR_DUMMY4, // 132
- RES_GRFATR_DUMMY5, // 133
+ RES_GRFATR_MIRRORGRF = RES_GRFATR_BEGIN, // 120
+ RES_GRFATR_CROPGRF, // 121
+
+ RES_GRFATR_ROTATION, // 122
+ RES_GRFATR_LUMINANCE, // 123
+ RES_GRFATR_CONTRAST, // 124
+ RES_GRFATR_CHANNELR, // 125
+ RES_GRFATR_CHANNELG, // 126
+ RES_GRFATR_CHANNELB, // 127
+ RES_GRFATR_GAMMA, // 128
+ RES_GRFATR_INVERT, // 129
+ RES_GRFATR_TRANSPARENCY, // 130
+ RES_GRFATR_DRAWMODE, // 131
+
+ RES_GRFATR_DUMMY1, // 132
+ RES_GRFATR_DUMMY2, // 133
+ RES_GRFATR_DUMMY3, // 134
+ RES_GRFATR_DUMMY4, // 135
+ RES_GRFATR_DUMMY5, // 136
RES_GRFATR_END
};
enum RES_BOXATR
{
RES_BOXATR_BEGIN = RES_GRFATR_END,
- RES_BOXATR_FORMAT = RES_BOXATR_BEGIN, // 134
- RES_BOXATR_FORMULA, // 135
- RES_BOXATR_VALUE, // 136
+ RES_BOXATR_FORMAT = RES_BOXATR_BEGIN, // 137
+ RES_BOXATR_FORMULA, // 138
+ RES_BOXATR_VALUE, // 139
RES_BOXATR_END
};
enum RES_UNKNOWNATR
{
RES_UNKNOWNATR_BEGIN = RES_BOXATR_END,
- RES_UNKNOWNATR_CONTAINER = RES_UNKNOWNATR_BEGIN,// 137
+ RES_UNKNOWNATR_CONTAINER = RES_UNKNOWNATR_BEGIN,// 140
RES_UNKNOWNATR_END
};
diff --git a/sw/inc/swatrset.hxx b/sw/inc/swatrset.hxx
index 3c5df0617713..a800d1b1b649 100644
--- a/sw/inc/swatrset.hxx
+++ b/sw/inc/swatrset.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: swatrset.hxx,v $
- * $Revision: 1.27 $
+ * $Revision: 1.27.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -48,6 +48,7 @@ class SvxWordLineModeItem;
class SvxContourItem;
class SvxKerningItem;
class SvxUnderlineItem;
+class SvxOverlineItem;
class SvxCrossedOutItem;
class SvxFontHeightItem;
class SvxPropSizeItem;
@@ -155,6 +156,7 @@ class SwAttrPool : public SfxItemPool
// OD 2004-01-21 #i18732# - due to extension of attribute set a new version
// map for binary filter is necessary (version map 5).
static USHORT* pVersionMap5;
+ static USHORT* pVersionMap6;
SwDoc* pDoc;
@@ -232,6 +234,7 @@ public:
inline const SvxContourItem &GetContour( BOOL = TRUE ) const;
inline const SvxKerningItem &GetKerning( BOOL = TRUE ) const;
inline const SvxUnderlineItem &GetUnderline( BOOL = TRUE ) const;
+ inline const SvxOverlineItem &GetOverline( BOOL = TRUE ) const;
inline const SvxCrossedOutItem &GetCrossedOut( BOOL = TRUE ) const;
inline const SvxFontHeightItem &GetSize( BOOL = TRUE ) const;
inline const SvxPropSizeItem &GetPropSize( BOOL = TRUE ) const;
diff --git a/sw/inc/tblafmt.hxx b/sw/inc/tblafmt.hxx
index 717fa0c5c9be..0b26219ab7e1 100644
--- a/sw/inc/tblafmt.hxx
+++ b/sw/inc/tblafmt.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: tblafmt.hxx,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -93,6 +93,7 @@ class SwBoxAutoFmt
SvxPostureItem aCTLPosture;
SvxUnderlineItem aUnderline;
+ SvxOverlineItem aOverline;
SvxCrossedOutItem aCrossedOut;
SvxContourItem aContour;
SvxShadowedItem aShadowed;
@@ -140,6 +141,7 @@ public:
const SvxWeightItem &GetCTLWeight() const { return aCTLWeight; }
const SvxPostureItem &GetCTLPosture() const { return aCTLPosture; }
const SvxUnderlineItem &GetUnderline() const { return aUnderline; }
+ const SvxOverlineItem &GetOverline() const { return aOverline; }
const SvxCrossedOutItem &GetCrossedOut() const { return aCrossedOut; }
const SvxContourItem &GetContour() const { return aContour; }
const SvxShadowedItem &GetShadowed() const { return aShadowed; }
@@ -166,6 +168,7 @@ public:
void SetCTLWeight( const SvxWeightItem& rNew ) { aCTLWeight = rNew; }
void SetCTLPosture( const SvxPostureItem& rNew ) { aCTLPosture = rNew; }
void SetUnderline( const SvxUnderlineItem& rNew ) { aUnderline = rNew; }
+ void SetOverline( const SvxOverlineItem& rNew ) { aOverline = rNew; }
void SetCrossedOut( const SvxCrossedOutItem& rNew ) { aCrossedOut = rNew; }
void SetContour( const SvxContourItem& rNew ) { aContour = rNew; }
void SetShadowed( const SvxShadowedItem& rNew ) { aShadowed = rNew; }
diff --git a/sw/inc/txatbase.hxx b/sw/inc/txatbase.hxx
index 2ec5f7c29896..45bacf92eb5c 100644
--- a/sw/inc/txatbase.hxx
+++ b/sw/inc/txatbase.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: txatbase.hxx,v $
- * $Revision: 1.22 $
+ * $Revision: 1.22.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -40,6 +40,7 @@ class SvxFontItem;
class SvxPostureItem;
class SvxWeightItem;
class SvxUnderlineItem;
+class SvxOverlineItem;
class SvxFontHeightItem;
class SvxPropSizeItem;
class SvxShadowedItem;
@@ -133,6 +134,7 @@ public:
inline const SvxPostureItem &GetPosture() const;
inline const SvxWeightItem &GetWeight() const;
inline const SvxUnderlineItem &GetUnderline() const;
+ inline const SvxOverlineItem &GetOverline() const;
inline const SvxFontHeightItem &GetFontSize() const;
inline const SvxPropSizeItem &GetPropSize() const;
inline const SvxShadowedItem &GetShadowed() const;
@@ -236,6 +238,12 @@ inline const SvxUnderlineItem& SwTxtAttr::GetUnderline() const
return (const SvxUnderlineItem&)*pAttr;
}
+inline const SvxOverlineItem& SwTxtAttr::GetOverline() const
+{
+ ASSERT( pAttr && pAttr->Which() == RES_CHRATR_OVERLINE, "Falsche Abfrage" );
+ return (const SvxOverlineItem&)*pAttr;
+}
+
inline const SvxFontHeightItem& SwTxtAttr::GetFontSize() const
{
ASSERT( pAttr && pAttr->Which() == RES_CHRATR_FONTSIZE, "Falsche Abfrage" );
diff --git a/sw/inc/unoprnms.hxx b/sw/inc/unoprnms.hxx
index b49ccfaa0952..02d81ec9628d 100644
--- a/sw/inc/unoprnms.hxx
+++ b/sw/inc/unoprnms.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: unoprnms.hxx,v $
- * $Revision: 1.129 $
+ * $Revision: 1.129.100.1 $
*
* This file is part of OpenOffice.org.
*
@@ -800,7 +800,10 @@ enum SwPropNameIds
/* 0731 */ UNO_NAME_PARA_CONTINUEING_PREVIOUS_SUB_TREE,
/* 0732 */ UNO_NAME_PARA_LIST_LABEL_STRING,
// <--
-/* 0733 */ SW_PROPNAME_END
+/* 0733 */ UNO_NAME_CHAR_OVERLINE,
+/* 0734 */ UNO_NAME_CHAR_OVERLINE_COLOR,
+/* 0735 */ UNO_NAME_CHAR_OVERLINE_HAS_COLOR,
+/* 0736 */ SW_PROPNAME_END
};
diff --git a/sw/sdi/_annotsh.sdi b/sw/sdi/_annotsh.sdi
index cbba9249acaa..e7f9208b7e7c 100755
--- a/sw/sdi/_annotsh.sdi
+++ b/sw/sdi/_annotsh.sdi
@@ -243,6 +243,13 @@ interface _Annotation
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
+ SID_ATTR_CHAR_OVERLINE // api:
+ [
+ ExecMethod = Exec ;
+ StateMethod = GetState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
+
SID_ATTR_CHAR_CONTOUR
[
ExecMethod = Exec;
diff --git a/sw/sdi/_textsh.sdi b/sw/sdi/_textsh.sdi
index 73bf1625c9c7..0d9d53de2ac0 100644
--- a/sw/sdi/_textsh.sdi
+++ b/sw/sdi/_textsh.sdi
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: _textsh.sdi,v $
- * $Revision: 1.42 $
+ * $Revision: 1.42.208.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1365,6 +1365,12 @@ interface BaseText
StateMethod = GetTxtCtrlState;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
+ SID_ATTR_CHAR_OVERLINE // status(final|play)
+ [
+ ExecMethod = ExecTxtCtrl;
+ StateMethod = GetTxtCtrlState;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
SID_ATTR_FLASH // status(final|play)
[
ExecMethod = ExecTxtCtrl;
diff --git a/sw/sdi/drwtxtsh.sdi b/sw/sdi/drwtxtsh.sdi
index c18d47ec2bc0..8b55e0bc49d9 100644
--- a/sw/sdi/drwtxtsh.sdi
+++ b/sw/sdi/drwtxtsh.sdi
@@ -191,6 +191,13 @@ interface TextDrawText
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
+ SID_ATTR_CHAR_OVERLINE // api:
+ [
+ ExecMethod = Execute ;
+ StateMethod = GetDrawTxtCtrlState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
+
SID_ATTR_CHAR_CONTOUR
[
ExecMethod = Execute ;
diff --git a/sw/source/core/attr/swatrset.cxx b/sw/source/core/attr/swatrset.cxx
index 1b19e4f1baf3..b53466b5b22b 100644
--- a/sw/source/core/attr/swatrset.cxx
+++ b/sw/source/core/attr/swatrset.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: swatrset.cxx,v $
- * $Revision: 1.17 $
+ * $Revision: 1.16.140.2 $
*
* This file is part of OpenOffice.org.
*
@@ -69,6 +69,7 @@ SwAttrPool::SwAttrPool( SwDoc* pD )
SetVersionMap( 4, 1,121, pVersionMap4 );
// OD 2004-01-21 #i18732# - apply new version map
SetVersionMap( 5, 1,130, pVersionMap5 );
+ SetVersionMap( 6, 1,136, pVersionMap6 );
}
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index d7fed071ac27..0d43354160b2 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: init.cxx,v $
- * $Revision: 1.66 $
+ * $Revision: 1.66.138.1 $
*
* This file is part of OpenOffice.org.
*
@@ -315,6 +315,9 @@ SfxItemInfo __FAR_DATA aSlotTab[] =
{ SID_ATTR_CHAR_SCALEWIDTH, SFX_ITEM_POOLABLE }, // RES_CHRATR_SCALEW
{ SID_ATTR_CHAR_RELIEF, SFX_ITEM_POOLABLE }, // RES_CHRATR_RELIEF
{ SID_ATTR_CHAR_HIDDEN, SFX_ITEM_POOLABLE }, // RES_CHRATR_HIDDEN
+ { SID_ATTR_CHAR_OVERLINE, SFX_ITEM_POOLABLE }, // RES_CHRATR_OVERLINE
+ { 0, SFX_ITEM_POOLABLE }, // RES_CHRATR_DUMMY1
+ { 0, SFX_ITEM_POOLABLE }, // RES_CHRATR_DUMMY2
{ 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_AUTOFMT
{ FN_TXTATR_INET, 0 }, // RES_TXTATR_INETFMT
@@ -444,6 +447,7 @@ USHORT* SwAttrPool::pVersionMap3 = 0;
USHORT* SwAttrPool::pVersionMap4 = 0;
// OD 2004-01-21 #i18732#
USHORT* SwAttrPool::pVersionMap5 = 0;
+USHORT* SwAttrPool::pVersionMap6 = 0;
SwIndexReg* SwIndexReg::pEmptyIndexArray = 0;
const sal_Char* __FAR_DATA pMarkToTable = "table";
@@ -519,9 +523,11 @@ void _InitCore()
aAttrTab[ RES_CHRATR_SCALEW - POOLATTR_BEGIN ] = new SvxCharScaleWidthItem( 100, RES_CHRATR_SCALEW );
aAttrTab[ RES_CHRATR_RELIEF - POOLATTR_BEGIN ] = new SvxCharReliefItem( RELIEF_NONE, RES_CHRATR_RELIEF );
aAttrTab[ RES_CHRATR_HIDDEN - POOLATTR_BEGIN ] = new SvxCharHiddenItem( FALSE, RES_CHRATR_HIDDEN );
+ aAttrTab[ RES_CHRATR_OVERLINE- POOLATTR_BEGIN ] = new SvxOverlineItem( UNDERLINE_NONE, RES_CHRATR_OVERLINE );
// CharakterAttr - Dummies
- //no dummy available
+ aAttrTab[ RES_CHRATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_CHRATR_DUMMY1 );
+ aAttrTab[ RES_CHRATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_CHRATR_DUMMY2 );
// CharakterAttr - Dummies
aAttrTab[ RES_TXTATR_AUTOFMT- POOLATTR_BEGIN ] = new SwFmtAutoFmt;
@@ -715,6 +721,13 @@ void _InitCore()
for ( i = 110; i <= 130; ++i )
SwAttrPool::pVersionMap5[ i-1 ] = i + 6;
+ // 6. Version - new character attribute for overlining plus 2 dummies
+ SwAttrPool::pVersionMap6 = new USHORT[ 136 ];
+ for( i = 1; i <= 37; i++ )
+ SwAttrPool::pVersionMap6[ i-1 ] = i;
+ for ( i = 38; i <= 136; ++i )
+ SwAttrPool::pVersionMap6[ i-1 ] = i + 3;
+
uno::Reference<
lang::XMultiServiceFactory > xMSF =
::comphelper::getProcessServiceFactory();
@@ -827,6 +840,7 @@ void _FinitCore()
delete[] SwAttrPool::pVersionMap4;
// OD 2004-01-21 #i18732#
delete[] SwAttrPool::pVersionMap5;
+ delete[] SwAttrPool::pVersionMap6;
for ( USHORT i = 0; i < pGlobalOLEExcludeList->Count(); ++i )
delete (SvGlobalName*)(*pGlobalOLEExcludeList)[i];
diff --git a/sw/source/core/doc/dbgoutsw.cxx b/sw/source/core/doc/dbgoutsw.cxx
index b768a79d52b6..812399ae9bf7 100644
--- a/sw/source/core/doc/dbgoutsw.cxx
+++ b/sw/source/core/doc/dbgoutsw.cxx
@@ -141,6 +141,7 @@ map<USHORT,String,CompareUShort> & GetItemWhichMap()
aItemWhichMap[RES_CHRATR_PROPORTIONALFONTSIZE] = String("CHRATR_PROPORTIONALFONTSIZE", RTL_TEXTENCODING_ASCII_US);
aItemWhichMap[RES_CHRATR_SHADOWED] = String("CHRATR_SHADOWED", RTL_TEXTENCODING_ASCII_US);
aItemWhichMap[RES_CHRATR_UNDERLINE] = String("CHRATR_UNDERLINE", RTL_TEXTENCODING_ASCII_US);
+ aItemWhichMap[RES_CHRATR_OVERLINE] = String("CHRATR_OVERLINE", RTL_TEXTENCODING_ASCII_US);
aItemWhichMap[RES_CHRATR_WEIGHT] = String("CHRATR_WEIGHT", RTL_TEXTENCODING_ASCII_US);
aItemWhichMap[RES_CHRATR_WORDLINEMODE] = String("CHRATR_WORDLINEMODE", RTL_TEXTENCODING_ASCII_US);
aItemWhichMap[RES_CHRATR_AUTOKERN] = String("CHRATR_AUTOKERN", RTL_TEXTENCODING_ASCII_US);
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 00a4b326417e..3c813621ea29 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: notxtfrm.cxx,v $
- * $Revision: 1.44 $
+ * $Revision: 1.43.54.2 $
*
* This file is part of OpenOffice.org.
*
@@ -140,7 +140,7 @@ void lcl_PaintReplacement( const SwRect &rRect, const String &rText,
SwFmt *pFmt = rSh.GetDoc()->GetFmtFromPool( static_cast<sal_uInt16>
(bVisited ? RES_POOLCHR_INET_VISIT : RES_POOLCHR_INET_NORMAL ) );
aCol = pFmt->GetColor().GetValue();
- eUnderline = pFmt->GetUnderline().GetUnderline();
+ eUnderline = pFmt->GetUnderline().GetLineStyle();
}
pFont->SetUnderline( eUnderline );
diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx
index 73c8525ae00e..630979ff72ed 100644
--- a/sw/source/core/doc/tblafmt.cxx
+++ b/sw/source/core/doc/tblafmt.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: tblafmt.cxx,v $
- * $Revision: 1.22 $
+ * $Revision: 1.22.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -80,9 +80,13 @@ const USHORT AUTOFORMAT_DATA_ID_680DR14 = 10012;
const USHORT AUTOFORMAT_ID_680DR25 = 10021;
const USHORT AUTOFORMAT_DATA_ID_680DR25 = 10022;
+// --- from DEV300/overline2 on: #5991# overline
+const USHORT AUTOFORMAT_ID_300OVRLN = 10031;
+const USHORT AUTOFORMAT_DATA_ID_300OVRLN = 10032;
+
// current version
-const USHORT AUTOFORMAT_ID = AUTOFORMAT_ID_680DR25;
-const USHORT AUTOFORMAT_DATA_ID = AUTOFORMAT_DATA_ID_680DR25;
+const USHORT AUTOFORMAT_ID = AUTOFORMAT_ID_300OVRLN;
+const USHORT AUTOFORMAT_DATA_ID = AUTOFORMAT_DATA_ID_300OVRLN;
#ifdef READ_OLDVERS
@@ -110,6 +114,7 @@ public:
USHORT nWeightVersion;
USHORT nPostureVersion;
USHORT nUnderlineVersion;
+ USHORT nOverlineVersion;
USHORT nCrossedOutVersion;
USHORT nContourVersion;
USHORT nShadowedVersion;
@@ -140,6 +145,7 @@ SwAfVersions::SwAfVersions() :
nWeightVersion(0),
nPostureVersion(0),
nUnderlineVersion(0),
+ nOverlineVersion(0),
nCrossedOutVersion(0),
nContourVersion(0),
nShadowedVersion(0),
@@ -166,6 +172,8 @@ void SwAfVersions::Load( SvStream& rStream, USHORT nVer )
rStream >> nWeightVersion;
rStream >> nPostureVersion;
rStream >> nUnderlineVersion;
+ if ( nVer >= AUTOFORMAT_ID_300OVRLN )
+ rStream >> nOverlineVersion;
rStream >> nCrossedOutVersion;
rStream >> nContourVersion;
rStream >> nShadowedVersion;
@@ -207,6 +215,7 @@ SwBoxAutoFmt::SwBoxAutoFmt()
aCTLPosture( ITALIC_NONE, RES_CHRATR_CTL_POSTURE ),
aUnderline( UNDERLINE_NONE, RES_CHRATR_UNDERLINE ),
+ aOverline( UNDERLINE_NONE, RES_CHRATR_OVERLINE ),
aCrossedOut( STRIKEOUT_NONE, RES_CHRATR_CROSSEDOUT ),
aContour( sal_False, RES_CHRATR_CONTOUR ),
aShadowed( sal_False, RES_CHRATR_SHADOWED ),
@@ -247,6 +256,7 @@ SwBoxAutoFmt::SwBoxAutoFmt( const SwBoxAutoFmt& rNew )
aCTLWeight( rNew.aCTLWeight ),
aCTLPosture( rNew.aCTLPosture ),
aUnderline( rNew.aUnderline ),
+ aOverline( rNew.aOverline ),
aCrossedOut( rNew.aCrossedOut ),
aContour( rNew.aContour ),
aShadowed( rNew.aShadowed ),
@@ -289,6 +299,7 @@ SwBoxAutoFmt& SwBoxAutoFmt::operator=( const SwBoxAutoFmt& rNew )
aCTLWeight = rNew.aCTLWeight;
aCTLPosture = rNew.aCTLPosture;
aUnderline = rNew.aUnderline;
+ aOverline = rNew.aOverline;
aCrossedOut = rNew.aCrossedOut;
aContour = rNew.aContour;
aShadowed = rNew.aShadowed;
@@ -346,6 +357,10 @@ BOOL SwBoxAutoFmt::Load( SvStream& rStream, const SwAfVersions& rVersions, USHOR
READ( aCTLPosture, SvxPostureItem , rVersions.nPostureVersion)
}
READ( aUnderline, SvxUnderlineItem , rVersions.nUnderlineVersion)
+ if( nVer >= AUTOFORMAT_DATA_ID_300OVRLN )
+ {
+ READ( aOverline, SvxOverlineItem , rVersions.nOverlineVersion)
+ }
READ( aCrossedOut, SvxCrossedOutItem , rVersions.nCrossedOutVersion)
READ( aContour, SvxContourItem , rVersions.nContourVersion)
READ( aShadowed, SvxShadowedItem , rVersions.nShadowedVersion)
@@ -453,6 +468,7 @@ BOOL SwBoxAutoFmt::Save( SvStream& rStream ) const
aCTLWeight.Store( rStream, aCTLWeight.GetVersion(SOFFICE_FILEFORMAT_40) );
aCTLPosture.Store( rStream, aCTLPosture.GetVersion(SOFFICE_FILEFORMAT_40) );
aUnderline.Store( rStream, aUnderline.GetVersion(SOFFICE_FILEFORMAT_40) );
+ aOverline.Store( rStream, aOverline.GetVersion(SOFFICE_FILEFORMAT_40) );
aCrossedOut.Store( rStream, aCrossedOut.GetVersion(SOFFICE_FILEFORMAT_40) );
aContour.Store( rStream, aContour.GetVersion(SOFFICE_FILEFORMAT_40) );
aShadowed.Store( rStream, aShadowed.GetVersion(SOFFICE_FILEFORMAT_40) );
@@ -488,6 +504,7 @@ BOOL SwBoxAutoFmt::SaveVerionNo( SvStream& rStream ) const
rStream << aWeight.GetVersion( SOFFICE_FILEFORMAT_40 );
rStream << aPosture.GetVersion( SOFFICE_FILEFORMAT_40 );
rStream << aUnderline.GetVersion( SOFFICE_FILEFORMAT_40 );
+ rStream << aOverline.GetVersion( SOFFICE_FILEFORMAT_40 );
rStream << aCrossedOut.GetVersion( SOFFICE_FILEFORMAT_40 );
rStream << aContour.GetVersion( SOFFICE_FILEFORMAT_40 );
rStream << aShadowed.GetVersion( SOFFICE_FILEFORMAT_40 );
@@ -630,6 +647,7 @@ SwBoxAutoFmt& SwTableAutoFmt::UpdateFromSet( BYTE nPos,
pFmt->SetCTLWeight( (SvxWeightItem&)rSet.Get( RES_CHRATR_CTL_WEIGHT ) );
pFmt->SetCTLPosture( (SvxPostureItem&)rSet.Get( RES_CHRATR_CTL_POSTURE ) );
pFmt->SetUnderline( (SvxUnderlineItem&)rSet.Get( RES_CHRATR_UNDERLINE ) );
+ pFmt->SetOverline( (SvxOverlineItem&)rSet.Get( RES_CHRATR_OVERLINE ) );
pFmt->SetCrossedOut( (SvxCrossedOutItem&)rSet.Get( RES_CHRATR_CROSSEDOUT ) );
pFmt->SetContour( (SvxContourItem&)rSet.Get( RES_CHRATR_CONTOUR ) );
pFmt->SetShadowed( (SvxShadowedItem&)rSet.Get( RES_CHRATR_SHADOWED ) );
@@ -709,6 +727,7 @@ void SwTableAutoFmt::UpdateToSet( BYTE nPos, SfxItemSet& rSet,
rSet.Put( rChg.GetPosture(), RES_CHRATR_CTL_POSTURE );
}
rSet.Put( rChg.GetUnderline() );
+ rSet.Put( rChg.GetOverline() );
rSet.Put( rChg.GetCrossedOut() );
rSet.Put( rChg.GetContour() );
rSet.Put( rChg.GetShadowed() );
diff --git a/sw/source/core/inc/swfntcch.hxx b/sw/source/core/inc/swfntcch.hxx
index b3b4839fc444..bad28cd2a6a0 100644
--- a/sw/source/core/inc/swfntcch.hxx
+++ b/sw/source/core/inc/swfntcch.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: swfntcch.hxx,v $
- * $Revision: 1.7 $
+ * $Revision: 1.7.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -32,7 +32,7 @@
#include <tools/mempool.hxx>
-#define NUM_DEFAULT_VALUES 35
+#define NUM_DEFAULT_VALUES 36
#include "swcache.hxx"
#include "swfont.hxx"
diff --git a/sw/source/core/inc/swfont.hxx b/sw/source/core/inc/swfont.hxx
index 4c62d90304a5..c36d5d9d4192 100644
--- a/sw/source/core/inc/swfont.hxx
+++ b/sw/source/core/inc/swfont.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: swfont.hxx,v $
- * $Revision: 1.37 $
+ * $Revision: 1.37.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -98,6 +98,7 @@ class SwSubFont : public SvxFont
inline void SetPitch( const FontPitch ePitch );
inline void SetAlign( const FontAlign eAlign );
inline void SetUnderline( const FontUnderline eUnderline );
+ inline void SetOverline( const FontUnderline eOverline );
inline void SetStrikeout( const FontStrikeout eStrikeout );
inline void SetItalic( const FontItalic eItalic );
inline void SetOutline( const BOOL bOutline );
@@ -137,6 +138,7 @@ class SwFont
SwSubFont aSub[SW_SCRIPTS]; // Latin-, CJK- and CTL-font
Color* pBackColor; // background color (i.e. at character styles)
Color aUnderColor; // color of the underlining
+ Color aOverColor; // color of the overlining
BYTE nToxCnt; // Zaehlt die Schachtelungstiefe der Tox
BYTE nRefCnt; // Zaehlt die Schachtelungstiefe der Refs
BYTE nActual; // actual font (Latin, CJK or CTL)
@@ -202,6 +204,8 @@ public:
inline void SetAlign( const FontAlign eAlign );
inline void SetUnderline( const FontUnderline eUnderline );
inline void SetUnderColor( const Color &rColor ) { aUnderColor = rColor; }
+ inline void SetOverline( const FontUnderline eOverline );
+ inline void SetOverColor( const Color &rColor ) { aOverColor = rColor; }
inline void SetStrikeout( const FontStrikeout eStrikeout );
inline void SetOutline( const BOOL bOutline );
void SetVertical( USHORT nDir, const BOOL nVertLayout = FALSE );
@@ -264,6 +268,8 @@ public:
{ return aSub[nActual].IsSymbol( pSh ); }
FontUnderline GetUnderline() const { return aSub[nActual].GetUnderline(); }
const Color& GetUnderColor() const { return aUnderColor; }
+ FontUnderline GetOverline() const { return aSub[nActual].GetOverline(); }
+ const Color& GetOverColor() const { return aOverColor; }
short GetFixKerning() const { return aSub[nActual].GetFixKerning(); }
FontStrikeout GetStrikeout() const { return aSub[nActual].GetStrikeout(); }
const Color& GetColor() const { return aSub[nActual].GetColor(); }
@@ -500,6 +506,21 @@ inline void SwFont::SetUnderline( const FontUnderline eUnderline )
}
// gekapselte SV-Font-Methode
+inline void SwSubFont::SetOverline( const FontUnderline eOverline )
+{
+ pMagic = 0;
+ Font::SetOverline( eOverline );
+}
+
+inline void SwFont::SetOverline( const FontUnderline eOverline )
+{
+ bFntChg = TRUE;
+ aSub[0].SetOverline( eOverline );
+ aSub[1].SetOverline( eOverline );
+ aSub[2].SetOverline( eOverline );
+}
+
+// gekapselte SV-Font-Methode
inline void SwSubFont::SetStrikeout( const FontStrikeout eStrikeout )
{
pMagic = 0;
diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx
index 5377a5eec18b..af97063da6e3 100644
--- a/sw/source/core/layout/wsfrm.cxx
+++ b/sw/source/core/layout/wsfrm.cxx
@@ -2329,6 +2329,7 @@ void SwCntntFrm::_UpdateAttr( SfxPoolItem* pOld, SfxPoolItem* pNew,
case RES_CHRATR_SHADOWED:
case RES_CHRATR_AUTOKERN:
case RES_CHRATR_UNDERLINE:
+ case RES_CHRATR_OVERLINE:
case RES_CHRATR_KERNING:
case RES_CHRATR_FONT:
case RES_CHRATR_FONTSIZE:
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index bc5804117deb..d274dd2bcaf2 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: EnhancedPDFExportHelper.cxx,v $
- * $Revision: 1.26 $
+ * $Revision: 1.26.138.1 $
*
* This file is part of OpenOffice.org.
*
@@ -821,6 +821,8 @@ void SwTaggedPDFHelper::SetAttributes( vcl::PDFWriter::StructElement eType )
{
if ( UNDERLINE_NONE != rInf.GetFont()->GetUnderline() )
mpPDFExtOutDevData->SetStructureAttribute( vcl::PDFWriter::TextDecorationType, vcl::PDFWriter::Underline );
+ if ( UNDERLINE_NONE != rInf.GetFont()->GetOverline() )
+ mpPDFExtOutDevData->SetStructureAttribute( vcl::PDFWriter::TextDecorationType, vcl::PDFWriter::Overline );
if ( STRIKEOUT_NONE != rInf.GetFont()->GetStrikeout() )
mpPDFExtOutDevData->SetStructureAttribute( vcl::PDFWriter::TextDecorationType, vcl::PDFWriter::LineThrough );
if ( EMPHASISMARK_NONE != rInf.GetFont()->GetEmphasisMark() )
@@ -1428,6 +1430,7 @@ void SwTaggedPDFHelper::BeginInlineStructureElements()
const LanguageType nDefaultLang = SwEnhancedPDFExportHelper::GetDefaultLanguage();
if ( UNDERLINE_NONE != rInf.GetFont()->GetUnderline() ||
+ UNDERLINE_NONE != rInf.GetFont()->GetOverline() ||
STRIKEOUT_NONE != rInf.GetFont()->GetStrikeout() ||
EMPHASISMARK_NONE != rInf.GetFont()->GetEmphasisMark() ||
0 != rInf.GetFont()->GetEscapement() ||
diff --git a/sw/source/core/text/atrhndl.hxx b/sw/source/core/text/atrhndl.hxx
index 2fb177500dda..42e2a4a80463 100644
--- a/sw/source/core/text/atrhndl.hxx
+++ b/sw/source/core/text/atrhndl.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: atrhndl.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -32,7 +32,7 @@
#define _ATRHNDL_HXX
#define INITIAL_NUM_ATTR 3
-#define NUM_ATTRIBUTE_STACKS 38
+#define NUM_ATTRIBUTE_STACKS 39
#include <txatbase.hxx>
#include <swfntcch.hxx>
diff --git a/sw/source/core/text/atrstck.cxx b/sw/source/core/text/atrstck.cxx
index 660576097a97..383791c8a671 100644
--- a/sw/source/core/text/atrstck.cxx
+++ b/sw/source/core/text/atrstck.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: atrstck.cxx,v $
- * $Revision: 1.30 $
+ * $Revision: 1.30.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -129,16 +129,19 @@ const BYTE StackPos[ static_cast<USHORT>(RES_TXTATR_WITHEND_END) -
32, // RES_CHRATR_SCALEW, // 35
33, // RES_CHRATR_RELIEF, // 36
34, // RES_CHRATR_HIDDEN, // 37
- 0, // RES_TXTATR_AUTOFMT, // 39
- 0, // RES_TXTATR_INETFMT // 38
- 35, // RES_TXTATR_REFMARK, // 40
- 36, // RES_TXTATR_TOXMARK, // 41
- 0, // RES_TXTATR_CHARFMT, // 42
- 0, // RES_TXTATR_DUMMY5 // 43
- 37, // RES_TXTATR_CJK_RUBY, // 44
- 0, // RES_TXTATR_UNKNOWN_CONTAINER, // 45
- 0, // RES_TXTATR_DUMMY6, // 46
- 0 // RES_TXTATR_DUMMY7, // 47
+ 35, // RES_CHRATR_OVERLINE, // 38
+ 0, // RES_CHRATR_DUMMY1, // 39
+ 0, // RES_CHRATR_DUMMY2, // 40
+ 0, // RES_TXTATR_AUTOFMT, // 41
+ 0, // RES_TXTATR_INETFMT // 42
+ 36, // RES_TXTATR_REFMARK, // 43
+ 37, // RES_TXTATR_TOXMARK, // 44
+ 0, // RES_TXTATR_CHARFMT, // 45
+ 0, // RES_TXTATR_DUMMY5 // 46
+ 38, // RES_TXTATR_CJK_RUBY, // 47
+ 0, // RES_TXTATR_UNKNOWN_CONTAINER, // 48
+ 0, // RES_TXTATR_DUMMY6, // 49
+ 0 // RES_TXTATR_DUMMY7, // 50
};
/*************************************************************************
@@ -748,11 +751,15 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, sal_Bool bPu
if( (mpShell && !mpShell->GetWin()) ||
pTmpItem && !static_cast<const SvxCharHiddenItem*>(pTmpItem)->GetValue() )
{
- rFnt.SetUnderline( ((SvxUnderlineItem&)rItem).GetUnderline() );
+ rFnt.SetUnderline( ((SvxUnderlineItem&)rItem).GetLineStyle() );
rFnt.SetUnderColor( ((SvxUnderlineItem&)rItem).GetColor() );
}
break;
}
+ case RES_CHRATR_OVERLINE :
+ rFnt.SetOverline( ((SvxOverlineItem&)rItem).GetLineStyle() );
+ rFnt.SetOverColor( ((SvxOverlineItem&)rItem).GetColor() );
+ break;
case RES_CHRATR_WEIGHT :
rFnt.SetWeight( ((SvxWeightItem&)rItem).GetWeight(), SW_LATIN );
break;
diff --git a/sw/source/core/text/itrpaint.cxx b/sw/source/core/text/itrpaint.cxx
index 13d045c5822f..965de6545fe2 100644
--- a/sw/source/core/text/itrpaint.cxx
+++ b/sw/source/core/text/itrpaint.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: itrpaint.cxx,v $
- * $Revision: 1.47 $
+ * $Revision: 1.47.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -564,7 +564,7 @@ void SwTxtPainter::CheckSpecialUnderline( const SwLinePortion* pPor,
if ( pItem )
{
bUnder = sal_True;
- bUnderSelect = pFnt->GetUnderline() == pItem->GetUnderline();
+ bUnderSelect = pFnt->GetUnderline() == pItem->GetLineStyle();
}
if( bUnder )
@@ -709,6 +709,7 @@ void SwTxtPainter::CheckSpecialUnderline( const SwLinePortion* pPor,
pUnderlineFnt->SetProportion( 100 );
pUnderlineFnt->SetEscapement( 0 );
pUnderlineFnt->SetStrikeout( STRIKEOUT_NONE );
+ pUnderlineFnt->SetOverline( UNDERLINE_NONE );
const Color aFillColor( COL_TRANSPARENT );
pUnderlineFnt->SetFillColor( aFillColor );
diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx
index 8443bf2c2e9b..36686217c365 100644
--- a/sw/source/core/text/porfld.cxx
+++ b/sw/source/core/text/porfld.cxx
@@ -708,11 +708,13 @@ void SwNumberPortion::Paint( const SwTxtPaintInfo &rInf ) const
{
const SwFont *pTmpFnt = rInf.GetFont();
sal_Bool bPaintSpace = ( UNDERLINE_NONE != pTmpFnt->GetUnderline() ||
- STRIKEOUT_NONE != pTmpFnt->GetStrikeout() ) &&
- !pTmpFnt->IsWordLineMode();
+ UNDERLINE_NONE != pTmpFnt->GetOverline() ||
+ STRIKEOUT_NONE != pTmpFnt->GetStrikeout() ) &&
+ !pTmpFnt->IsWordLineMode();
if( bPaintSpace && pFnt )
bPaintSpace = ( UNDERLINE_NONE != pFnt->GetUnderline() ||
- STRIKEOUT_NONE != pFnt->GetStrikeout() ) &&
+ UNDERLINE_NONE != pFnt->GetOverline() ||
+ STRIKEOUT_NONE != pFnt->GetStrikeout() ) &&
!pFnt->IsWordLineMode();
SwFontSave aSave( rInf, pFnt );
diff --git a/sw/source/core/text/txtfld.cxx b/sw/source/core/text/txtfld.cxx
index d09d4ccb9ecf..2fe945ef58b4 100644
--- a/sw/source/core/text/txtfld.cxx
+++ b/sw/source/core/text/txtfld.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: txtfld.cxx,v $
- * $Revision: 1.30 $
+ * $Revision: 1.30.136.1 $
*
* This file is part of OpenOffice.org.
*
@@ -398,9 +398,11 @@ SwNumberPortion *SwTxtFormatter::NewNumberPortion( SwTxtFormatInfo &rInf ) const
{
// i18463:
// Underline style of paragraph font should not be considered
+ // Overline style of paragraph font should not be considered
// Weight style of paragraph font should not be considered
// Posture style of paragraph font should not be considered
pNumFnt->SetUnderline( UNDERLINE_NONE );
+ pNumFnt->SetOverline( UNDERLINE_NONE );
pNumFnt->SetItalic( ITALIC_NONE, SW_LATIN );
pNumFnt->SetItalic( ITALIC_NONE, SW_CJK );
pNumFnt->SetItalic( ITALIC_NONE, SW_CTL );
@@ -472,6 +474,8 @@ SwNumberPortion *SwTxtFormatter::NewNumberPortion( SwTxtFormatInfo &rInf ) const
// i18463:
// Underline style of paragraph font should not be considered
pNumFnt->SetUnderline( UNDERLINE_NONE );
+ // Overline style of paragraph font should not be considered
+ pNumFnt->SetOverline( UNDERLINE_NONE );
}
diff --git a/sw/source/core/text/txtftn.cxx b/sw/source/core/text/txtftn.cxx
index 8e3eb2e4fef5..90231485132b 100644
--- a/sw/source/core/text/txtftn.cxx
+++ b/sw/source/core/text/txtftn.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: txtftn.cxx,v $
- * $Revision: 1.51 $
+ * $Revision: 1.51.208.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1028,10 +1028,12 @@ SwNumberPortion *SwTxtFormatter::NewFtnNumPortion( SwTxtFormatInfo &rInf ) const
// --> FME 2005-02-17 #i37142#
// Underline style of paragraph font should not be considered
+ // Overline style of paragraph font should not be considered
// Weight style of paragraph font should not be considered
// Posture style of paragraph font should not be considered
// See also #i18463# and SwTxtFormatter::NewNumberPortion()
pNumFnt->SetUnderline( UNDERLINE_NONE );
+ pNumFnt->SetOverline( UNDERLINE_NONE );
pNumFnt->SetItalic( ITALIC_NONE, SW_LATIN );
pNumFnt->SetItalic( ITALIC_NONE, SW_CJK );
pNumFnt->SetItalic( ITALIC_NONE, SW_CTL );
diff --git a/sw/source/core/text/txtio.cxx b/sw/source/core/text/txtio.cxx
index 8b8a9bc285da..0df7da5f8494 100644
--- a/sw/source/core/text/txtio.cxx
+++ b/sw/source/core/text/txtio.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: txtio.cxx,v $
- * $Revision: 1.17 $
+ * $Revision: 1.17.208.1 $
*
* This file is part of OpenOffice.org.
*
@@ -297,6 +297,8 @@ SvStream &operator<<( SvStream &rOs, const SwpHints & ) //$ ostream
rOs << "FONTSIZE" << ' ' << GetFontSize(pHint)->nSize;
else if(0 != GetUnderline(pHint))
rOs << "UNDERLINE" << ' ' << (MSHORT)(GetUnderline(pHint)->nState);
+ else if(0 != GetOverline(pHint))
+ rOs << "OVERLINE" << ' ' << (MSHORT)(GetOverline(pHint)->nState);
else if(0 != GetWeight(pHint))
rOs << "WEIGHT" << ' ' << GetWeight(pHint)->nWeight;
else if(0 != GetContour(pHint))
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx
index 338417c79731..a4ca805f1a7c 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -116,14 +116,14 @@ void SwRVPMarker::Mark( const OutputDevice* pOut )
{
if( pOut )
{
- Color aOldCol = pOut->GetLineColor();
+ Color aOldCol = pOut->GetUnderColor();
Color aBlack = Color( COL_BLACK );
if( aOldCol != aBlack )
{
- ((OutputDevice*)pOut)->SetLineColor( aBlack );
+ ((OutputDevice*)pOut)->SetUnderColor( aBlack );
((OutputDevice*)pOut)->DrawChord( Rectangle(0,1,0,1),
Point(), Point() );
- ((OutputDevice*)pOut)->SetLineColor( aOldCol );
+ ((OutputDevice*)pOut)->SetUnderColor( aOldCol );
}
else
((OutputDevice*)pOut)->DrawChord( Rectangle(0,1,0,1),
@@ -175,8 +175,9 @@ SwFntObj::SwFntObj( const SwSubFont &rFont, const void *pOwn, ViewShell *pSh ) :
nPrtAscent = USHRT_MAX;
nPrtHeight = USHRT_MAX;
bPaintBlank = ( UNDERLINE_NONE != aFont.GetUnderline()
- || STRIKEOUT_NONE != aFont.GetStrikeout() )
- && !aFont.IsWordLineMode();
+ || UNDERLINE_NONE != aFont.GetOverline()
+ || STRIKEOUT_NONE != aFont.GetStrikeout() )
+ && !aFont.IsWordLineMode();
}
SwFntObj::~SwFntObj()
@@ -937,10 +938,10 @@ static void lcl_DrawLineForWrongListData(
if (rInf.GetOut().GetConnectMetaFile())
rInf.GetOut().Push();
- const Color aCol( rInf.GetOut().GetLineColor() );
+ const Color aCol( rInf.GetOut().GetTextLineColor() );
const BOOL bColSave = aCol != aLineColor;
if (bColSave)
- rInf.GetOut().SetLineColor( aLineColor );
+ rInf.GetOut().SetTextLineColor( aLineColor );
// iterate over all ranges stored in the respective SwWrongList
do
@@ -1011,7 +1012,7 @@ static void lcl_DrawLineForWrongListData(
while (nWrLen && pWList->Check( nStart, nWrLen ));
if (bColSave)
- rInf.GetOut().SetLineColor( aCol );
+ rInf.GetOut().SetTextLineColor( aCol );
if (rInf.GetOut().GetConnectMetaFile())
rInf.GetOut().Pop();
@@ -1931,10 +1932,10 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf )
WRONG_SHOW_MEDIUM < nHght ? WAVE_NORMAL :
( WRONG_SHOW_SMALL < nHght ? WAVE_SMALL :
WAVE_FLAT );
- Color aCol( rInf.GetOut().GetLineColor() );
+ Color aCol( rInf.GetOut().GetTextLineColor() );
BOOL bColSave = aCol != *pWaveCol;
if ( bColSave )
- rInf.GetOut().SetLineColor( *pWaveCol );
+ rInf.GetOut().SetTextLineColor( *pWaveCol );
Point aEnd;
long nKernVal = pKernArray[ USHORT( rInf.GetLen() - 1 ) ];
@@ -1981,7 +1982,7 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf )
rInf.GetOut().DrawWaveLine( aCurrPos, aEnd, nWave );
if ( bColSave )
- rInf.GetOut().SetLineColor( aCol );
+ rInf.GetOut().SetTextLineColor( aCol );
if ( rInf.GetOut().GetConnectMetaFile() )
rInf.GetOut().Pop();
@@ -2815,27 +2816,28 @@ sal_Bool SwDrawTextInfo::ApplyAutoColor( Font* pFont )
sal_Bool bPrt = GetShell() && ! GetShell()->GetWin();
ColorData nNewColor = COL_BLACK;
sal_Bool bChgFntColor = sal_False;
- sal_Bool bChgUnderColor = sal_False;
+ sal_Bool bChgLineColor = sal_False;
if( bPrt && GetShell() && GetShell()->GetViewOptions()->IsBlackFont() )
{
if ( COL_BLACK != rFnt.GetColor().GetColor() )
bChgFntColor = sal_True;
- if ( COL_BLACK != GetOut().GetTextLineColor().GetColor() )
- bChgUnderColor = sal_True;
+ if ( (COL_BLACK != GetOut().GetTextLineColor().GetColor()) ||
+ (COL_BLACK != GetOut().GetOverlineColor().GetColor()) )
+ bChgLineColor = sal_True;
}
else
{
// FontColor has to be changed if:
// 1. FontColor = AUTO or 2. IsAlwaysAutoColor is set
- // UnderLineColor has to be changed if:
+ // LineColor has to be changed if:
// 1. IsAlwaysAutoColor is set
- bChgUnderColor = ! bPrt && GetShell() &&
+ bChgLineColor = ! bPrt && GetShell() &&
GetShell()->GetAccessibilityOptions()->IsAlwaysAutoColor();
- bChgFntColor = COL_AUTO == rFnt.GetColor().GetColor() || bChgUnderColor;
+ bChgFntColor = COL_AUTO == rFnt.GetColor().GetColor() || bChgLineColor;
if ( bChgFntColor )
{
@@ -2893,7 +2895,7 @@ sal_Bool SwDrawTextInfo::ApplyAutoColor( Font* pFont )
}
}
- if ( bChgFntColor || bChgUnderColor )
+ if ( bChgFntColor || bChgLineColor )
{
Color aNewColor( nNewColor );
@@ -2913,13 +2915,15 @@ sal_Bool SwDrawTextInfo::ApplyAutoColor( Font* pFont )
}
}
- // the underline color has to be set separately
- if ( bChgUnderColor )
+ // the underline and overline colors have to be set separately
+ if ( bChgLineColor )
{
// get current font color or color set at output device
aNewColor = pFont ? pFont->GetColor() : GetOut().GetFont().GetColor();
if ( aNewColor != GetOut().GetTextLineColor() )
GetOut().SetTextLineColor( aNewColor );
+ if ( aNewColor != GetOut().GetOverlineColor() )
+ GetOut().SetOverlineColor( aNewColor );
}
return sal_True;
diff --git a/sw/source/core/txtnode/fntcap.cxx b/sw/source/core/txtnode/fntcap.cxx
index b611299957f7..d9bd1bb44b03 100644
--- a/sw/source/core/txtnode/fntcap.cxx
+++ b/sw/source/core/txtnode/fntcap.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: fntcap.cxx,v $
- * $Revision: 1.27.214.1 $
+ * $Revision: 1.27.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -380,6 +380,7 @@ void SwSubFont::DrawCapital( SwDrawTextInfo &rInf )
// Es wird vorausgesetzt, dass rPos bereits kalkuliert ist!
// hochgezogen in SwFont: const Point aPos( CalcPos(rPos) );
rInf.SetDrawSpace( GetUnderline() != UNDERLINE_NONE ||
+ GetOverline() != UNDERLINE_NONE ||
GetStrikeout() != STRIKEOUT_NONE );
SwDoDrawCapital aDo( rInf );
DoOnCapitals( aDo );
@@ -549,6 +550,7 @@ void SwSubFont::DrawStretchCapital( SwDrawTextInfo &rInf )
rInf.SetPos( rOldPos );
rInf.SetDrawSpace( GetUnderline() != UNDERLINE_NONE ||
+ GetOverline() != UNDERLINE_NONE ||
GetStrikeout() != STRIKEOUT_NONE );
SwDoDrawStretchCapital aDo( rInf, nCapWidth );
DoOnCapitals( aDo );
@@ -601,13 +603,14 @@ void SwSubFont::DoOnCapitals( SwDoCapitals &rDo )
SwSubFont aFont( *this );
Point aStartPos( rDo.GetInf().GetPos() );
- const BOOL bUnderStriked = aFont.GetUnderline() != UNDERLINE_NONE
- || aFont.GetStrikeout() != STRIKEOUT_NONE;
- const BOOL bWordWise = bUnderStriked && aFont.IsWordLineMode() &&
+ const BOOL bTextLines = aFont.GetUnderline() != UNDERLINE_NONE
+ || aFont.GetOverline() != UNDERLINE_NONE
+ || aFont.GetStrikeout() != STRIKEOUT_NONE;
+ const BOOL bWordWise = bTextLines && aFont.IsWordLineMode() &&
rDo.GetInf().GetDrawSpace();
const long nTmpKern = rDo.GetInf().GetKern();
- if ( bUnderStriked )
+ if ( bTextLines )
{
if ( bWordWise )
{
@@ -621,6 +624,7 @@ void SwSubFont::DoOnCapitals( SwDoCapitals &rDo )
// Wir basteln uns einen Font fuer die Grossbuchstaben:
aFont.SetUnderline( UNDERLINE_NONE );
+ aFont.SetOverline( UNDERLINE_NONE );
aFont.SetStrikeout( STRIKEOUT_NONE );
pMagic2 = NULL;
nIndex2 = 0;
@@ -827,7 +831,7 @@ void SwSubFont::DoOnCapitals( SwDoCapitals &rDo )
if( pBigFont != pOldLast )
delete pBigFontAccess;
- if( bUnderStriked )
+ if( bTextLines )
{
if( rDo.GetInf().GetDrawSpace() )
{
diff --git a/sw/source/core/txtnode/swfont.cxx b/sw/source/core/txtnode/swfont.cxx
index fc73941ad58f..c70d8aaa4a14 100644
--- a/sw/source/core/txtnode/swfont.cxx
+++ b/sw/source/core/txtnode/swfont.cxx
@@ -337,9 +337,15 @@ void SwFont::SetDiffFnt( const SfxItemSet *pAttrSet,
if( SFX_ITEM_SET == pAttrSet->GetItemState( RES_CHRATR_UNDERLINE,
TRUE, &pItem ))
{
- SetUnderline( ((SvxUnderlineItem*)pItem)->GetUnderline() );
+ SetUnderline( ((SvxUnderlineItem*)pItem)->GetLineStyle() );
SetUnderColor( ((SvxUnderlineItem*)pItem)->GetColor() );
}
+ if( SFX_ITEM_SET == pAttrSet->GetItemState( RES_CHRATR_OVERLINE,
+ TRUE, &pItem ))
+ {
+ SetOverline( ((SvxOverlineItem*)pItem)->GetLineStyle() );
+ SetOverColor( ((SvxOverlineItem*)pItem)->GetColor() );
+ }
if( SFX_ITEM_SET == pAttrSet->GetItemState( RES_CHRATR_CROSSEDOUT,
TRUE, &pItem ))
SetStrikeout( ((SvxCrossedOutItem*)pItem)->GetStrikeout() );
@@ -438,6 +444,7 @@ SwFont::SwFont( const SwFont &rFont )
nActual = rFont.nActual;
pBackColor = rFont.pBackColor ? new Color( *rFont.pBackColor ) : NULL;
aUnderColor = rFont.GetUnderColor();
+ aOverColor = rFont.GetOverColor();
nToxCnt = nRefCnt = 0;
bFntChg = rFont.bFntChg;
bOrgChg = rFont.bOrgChg;
@@ -515,12 +522,14 @@ SwFont::SwFont( const SwAttrSet* pAttrSet,
aSub[SW_CTL].SetLanguage( pAttrSet->GetCTLLanguage().GetLanguage() );
}
- const FontUnderline eUnderline = pAttrSet->GetUnderline().GetUnderline();
+ const FontUnderline eUnderline = pAttrSet->GetUnderline().GetLineStyle();
if ( pAttrSet->GetCharHidden().GetValue() )
SetUnderline( UNDERLINE_DOTTED );
else
SetUnderline( eUnderline );
SetUnderColor( pAttrSet->GetUnderline().GetColor() );
+ SetOverline( pAttrSet->GetOverline().GetLineStyle() );
+ SetOverColor( pAttrSet->GetOverline().GetColor() );
SetEmphasisMark( pAttrSet->GetEmphasisMark().GetEmphasisMark() );
SetStrikeout( pAttrSet->GetCrossedOut().GetStrikeout() );
SetColor( pAttrSet->GetColor().GetValue() );
@@ -580,6 +589,7 @@ SwFont& SwFont::operator=( const SwFont &rFont )
delete pBackColor;
pBackColor = rFont.pBackColor ? new Color( *rFont.pBackColor ) : NULL;
aUnderColor = rFont.GetUnderColor();
+ aOverColor = rFont.GetOverColor();
nToxCnt = nRefCnt = 0;
bFntChg = rFont.bFntChg;
bOrgChg = rFont.bOrgChg;
@@ -629,7 +639,9 @@ BOOL SwSubFont::ChgFnt( ViewShell *pSh, OutputDevice& rOut )
pLastFont->SetDevFont( pSh, rOut );
pLastFont->Lock();
- return UNDERLINE_NONE != GetUnderline() || STRIKEOUT_NONE != GetStrikeout();
+ return UNDERLINE_NONE != GetUnderline() ||
+ UNDERLINE_NONE != GetOverline() ||
+ STRIKEOUT_NONE != GetStrikeout();
}
/*************************************************************************
@@ -658,6 +670,8 @@ void SwFont::ChgPhysFnt( ViewShell *pSh, OutputDevice& rOut )
}
if( rOut.GetTextLineColor() != aUnderColor )
rOut.SetTextLineColor( aUnderColor );
+ if( rOut.GetOverlineColor() != aOverColor )
+ rOut.SetOverlineColor( aOverColor );
}
/*************************************************************************
diff --git a/sw/source/core/unocore/unomap.cxx b/sw/source/core/unocore/unomap.cxx
index 022cdd003643..2bbf715a9e87 100644
--- a/sw/source/core/unocore/unomap.cxx
+++ b/sw/source/core/unocore/unomap.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: unomap.cxx,v $
- * $Revision: 1.213 $
+ * $Revision: 1.213.54.1 $
*
* This file is part of OpenOffice.org.
*
@@ -304,9 +304,12 @@ void SwUnoPropertyMapProvider::Sort( sal_uInt16 nId )
{ SW_PROP_NMID(UNO_NAME_CHAR_AUTO_ESCAPEMENT), RES_CHRATR_ESCAPEMENT, CPPU_E2T(CPPUTYPE_BOOLEAN) , PropertyAttribute::MAYBEVOID, MID_AUTO_ESC }, \
{ SW_PROP_NMID(UNO_NAME_CHAR_FLASH), RES_CHRATR_BLINK , CPPU_E2T(CPPUTYPE_BOOLEAN) , PropertyAttribute::MAYBEVOID, 0}, \
{ SW_PROP_NMID(UNO_NAME_CHAR_HIDDEN), RES_CHRATR_HIDDEN, CPPU_E2T(CPPUTYPE_BOOLEAN) , PropertyAttribute::MAYBEVOID, 0},\
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PropertyAttribute::MAYBEVOID, MID_UNDERLINE}, \
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PropertyAttribute::MAYBEVOID, MID_UL_COLOR}, \
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PropertyAttribute::MAYBEVOID, MID_UL_HASCOLOR}, \
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PropertyAttribute::MAYBEVOID, MID_TL_STYLE}, \
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PropertyAttribute::MAYBEVOID, MID_TL_COLOR}, \
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PropertyAttribute::MAYBEVOID, MID_TL_HASCOLOR}, \
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT16), PropertyAttribute::MAYBEVOID, MID_TL_STYLE}, \
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT32), PropertyAttribute::MAYBEVOID, MID_TL_COLOR}, \
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_HAS_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PropertyAttribute::MAYBEVOID, MID_TL_HASCOLOR}, \
{ SW_PROP_NMID(UNO_NAME_PARA_GRAPHIC_URL), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_OUSTRING), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_URL }, \
{ SW_PROP_NMID(UNO_NAME_PARA_GRAPHIC_FILTER), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_OUSTRING), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_FILTER }, \
{ SW_PROP_NMID(UNO_NAME_PARA_GRAPHIC_LOCATION), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_GRAPHICLOC), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_POSITION}, \
@@ -519,9 +522,12 @@ void SwUnoPropertyMapProvider::Sort( sal_uInt16 nId )
_STANDARD_FONT_PROPERTIES\
_CJK_FONT_PROPERTIES\
_CTL_FONT_PROPERTIES\
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_UNDERLINE},\
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_UL_COLOR},\
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_UL_HASCOLOR},\
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_TL_STYLE},\
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TL_COLOR},\
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_TL_HASCOLOR},\
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_TL_STYLE},\
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TL_COLOR},\
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_HAS_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_TL_HASCOLOR},\
{ SW_PROP_NMID(UNO_NAME_PARA_LEFT_MARGIN), RES_LR_SPACE, CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TXT_LMARGIN|CONVERT_TWIPS},\
{ SW_PROP_NMID(UNO_NAME_PARA_RIGHT_MARGIN), RES_LR_SPACE, CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_R_MARGIN|CONVERT_TWIPS},\
{ SW_PROP_NMID(UNO_NAME_PARA_LEFT_MARGIN_RELATIVE), RES_LR_SPACE, CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_L_REL_MARGIN},\
@@ -672,9 +678,12 @@ const SfxItemPropertyMap* SwUnoPropertyMapProvider::GetPropertyMap(sal_uInt16 nP
_STANDARD_FONT_PROPERTIES
_CJK_FONT_PROPERTIES
_CTL_FONT_PROPERTIES
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_UNDERLINE},
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_UL_COLOR},
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_UL_HASCOLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_TL_STYLE},
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TL_COLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_TL_HASCOLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_TL_STYLE},
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TL_COLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_HAS_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_TL_HASCOLOR},
{ SW_PROP_NMID(UNO_NAME_CHAR_KERNING), RES_CHRATR_KERNING , CPPU_E2T(CPPUTYPE_INT16) , PROPERTY_NONE, CONVERT_TWIPS},
{ SW_PROP_NMID(UNO_NAME_CHAR_NO_HYPHENATION), RES_CHRATR_NOHYPHEN , CPPU_E2T(CPPUTYPE_BOOLEAN) , PROPERTY_NONE, 0},
{ SW_PROP_NMID(UNO_NAME_CHAR_SHADOWED), RES_CHRATR_SHADOWED , CPPU_E2T(CPPUTYPE_BOOLEAN) , PROPERTY_NONE, 0},
@@ -716,9 +725,12 @@ const SfxItemPropertyMap* SwUnoPropertyMapProvider::GetPropertyMap(sal_uInt16 nP
_STANDARD_FONT_PROPERTIES
_CJK_FONT_PROPERTIES
_CTL_FONT_PROPERTIES
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_UNDERLINE},
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_UL_COLOR},
- { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_UL_HASCOLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_TL_STYLE},
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TL_COLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_UNDERLINE_HAS_COLOR), RES_CHRATR_UNDERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_TL_HASCOLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT16), PROPERTY_NONE, MID_TL_STYLE},
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, MID_TL_COLOR},
+ { SW_PROP_NMID(UNO_NAME_CHAR_OVERLINE_HAS_COLOR), RES_CHRATR_OVERLINE , CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_TL_HASCOLOR},
{ SW_PROP_NMID(UNO_NAME_CHAR_KERNING), RES_CHRATR_KERNING , CPPU_E2T(CPPUTYPE_INT16) , PROPERTY_NONE, CONVERT_TWIPS},
{ SW_PROP_NMID(UNO_NAME_CHAR_NO_HYPHENATION), RES_CHRATR_NOHYPHEN , CPPU_E2T(CPPUTYPE_BOOLEAN) , PROPERTY_NONE, 0},
{ SW_PROP_NMID(UNO_NAME_CHAR_SHADOWED), RES_CHRATR_SHADOWED , CPPU_E2T(CPPUTYPE_BOOLEAN) , PROPERTY_NONE, 0},
diff --git a/sw/source/core/unocore/unoprnms.cxx b/sw/source/core/unocore/unoprnms.cxx
index bf066ee17416..2f4d5ebb05c6 100644
--- a/sw/source/core/unocore/unoprnms.cxx
+++ b/sw/source/core/unocore/unoprnms.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: unoprnms.cxx,v $
- * $Revision: 1.139 $
+ * $Revision: 1.139.100.1 $
*
* This file is part of OpenOffice.org.
*
@@ -774,7 +774,10 @@ const SwPropNameTab aPropNameTab = {
/* 0729 UNO_NAME_DEFAULT_LIST_ID*/ {MAP_CHAR_LEN("DefaultListId")},
/* 0730 UNO_NAME_STREAM_NAME */ {MAP_CHAR_LEN("StreamName")},
/* 0731 UNO_NAME_PARA_CONTINUEING_PREVIOUS_SUB_TREE */ {MAP_CHAR_LEN("ContinueingPreviousSubTree")},
-/* 0732 UNO_NAME_PARA_LIST_LABEL_STRING */ {MAP_CHAR_LEN("ListLabelString")}
+/* 0732 UNO_NAME_PARA_LIST_LABEL_STRING */ {MAP_CHAR_LEN("ListLabelString")},
+/* 0733 CHAR_OVERLINE */ {MAP_CHAR_LEN("CharOverline")},
+/* 0734 CHAR_OVERLINE_COLOR */ {MAP_CHAR_LEN("CharOverlineColor")},
+/* 0735 CHAR_OVERLINE_HAS_COLOR */ {MAP_CHAR_LEN("CharOverlineHasColor")}
};
const SwPropNameLen& SwGetPropName( USHORT nId )
diff --git a/sw/source/core/unocore/unosrch.cxx b/sw/source/core/unocore/unosrch.cxx
index 4a6862879bfb..306f9ca9cff7 100644
--- a/sw/source/core/unocore/unosrch.cxx
+++ b/sw/source/core/unocore/unosrch.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: unosrch.cxx,v $
- * $Revision: 1.19 $
+ * $Revision: 1.19.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -179,6 +179,7 @@ void SwSearchProperties_Impl::FillItemSet(SfxItemSet& rSet, sal_Bool bIsValueSea
*pDropItem = 0,
*pWeightItem = 0,
*pULineItem = 0,
+ *pOLineItem = 0,
*pCharFmtItem = 0,
*pShadItem = 0,
*pPostItem = 0,
@@ -298,6 +299,11 @@ void SwSearchProperties_Impl::FillItemSet(SfxItemSet& rSet, sal_Bool bIsValueSea
pULineItem = rSet.GetPool()->GetDefaultItem(pTempMap->nWID).Clone();
pTempItem = pULineItem;
break;
+ case RES_CHRATR_OVERLINE:
+ if(!pOLineItem)
+ pOLineItem = rSet.GetPool()->GetDefaultItem(pTempMap->nWID).Clone();
+ pTempItem = pOLineItem;
+ break;
case RES_CHRATR_WEIGHT:
if(!pWeightItem)
pWeightItem = rSet.GetPool()->GetDefaultItem(pTempMap->nWID).Clone();
@@ -406,6 +412,7 @@ void SwSearchProperties_Impl::FillItemSet(SfxItemSet& rSet, sal_Bool bIsValueSea
delete pDropItem;
delete pWeightItem;
delete pULineItem;
+ delete pOLineItem;
delete pCharFmtItem ;
delete pShadItem;
delete pPostItem;
diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx
index 301d43182155..0a2ee6775d6d 100644
--- a/sw/source/filter/html/css1atr.cxx
+++ b/sw/source/filter/html/css1atr.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: css1atr.cxx,v $
- * $Revision: 1.44 $
+ * $Revision: 1.44.138.1 $
*
* This file is part of OpenOffice.org.
*
@@ -163,8 +163,9 @@ static Writer& OutCSS1_SwFtnInfo( Writer& rWrt, const SwEndNoteInfo& rInfo,
static void OutCSS1_SwFmtDropAttrs( SwHTMLWriter& rHWrt,
const SwFmtDrop& rDrop,
const SfxItemSet *pCharFmtItemSet=0 );
-static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
+static Writer& OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( Writer& rWrt,
const SvxUnderlineItem *pUItem,
+ const SvxOverlineItem *pOItem,
const SvxCrossedOutItem *pCOItem,
const SvxBlinkItem *pBItem );
static Writer& OutCSS1_SvxFontWeight( Writer& rWrt, const SfxPoolItem& rHt );
@@ -545,7 +546,7 @@ void SwHTMLWriter::OutCSS1_SfxItemSet( const SfxItemSet& rItemSet,
// ein par Attribute benoetigen eine Spezial-Behandlung
const SfxPoolItem *pItem = 0;
- // Underline, CrossedOut und Blink bilden zusammen eine CSS1-Property
+ // Underline, Overline, CrossedOut und Blink bilden zusammen eine CSS1-Property
// (geht natuerlich nicht bei Hints)
if( !IsCSS1Source(CSS1_OUTMODE_HINT) )
{
@@ -553,6 +554,10 @@ void SwHTMLWriter::OutCSS1_SfxItemSet( const SfxItemSet& rItemSet,
if( SFX_ITEM_SET==rItemSet.GetItemState( RES_CHRATR_UNDERLINE, bDeep, &pItem ))
pUnderlineItem = (const SvxUnderlineItem *)pItem;
+ const SvxOverlineItem *pOverlineItem = 0;
+ if( SFX_ITEM_SET==rItemSet.GetItemState( RES_CHRATR_OVERLINE, bDeep, &pItem ))
+ pOverlineItem = (const SvxOverlineItem *)pItem;
+
const SvxCrossedOutItem *pCrossedOutItem = 0;
if( SFX_ITEM_SET==rItemSet.GetItemState( RES_CHRATR_CROSSEDOUT, bDeep, &pItem ))
pCrossedOutItem = (const SvxCrossedOutItem *)pItem;
@@ -561,8 +566,9 @@ void SwHTMLWriter::OutCSS1_SfxItemSet( const SfxItemSet& rItemSet,
if( SFX_ITEM_SET==rItemSet.GetItemState( RES_CHRATR_BLINK, bDeep, &pItem ))
pBlinkItem = (const SvxBlinkItem *)pItem;
- if( pUnderlineItem || pCrossedOutItem || pBlinkItem )
- OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( *this, pUnderlineItem,
+ if( pUnderlineItem || pOverlineItem || pCrossedOutItem || pBlinkItem )
+ OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( *this, pUnderlineItem,
+ pOverlineItem,
pCrossedOutItem,
pBlinkItem );
@@ -2453,20 +2459,22 @@ void SwHTMLWriter::OutCSS1_FrmFmtBackground( const SwFrmFmt& rFrmFmt )
//-----------------------------------------------------------------------
-static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
+static Writer& OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( Writer& rWrt,
const SvxUnderlineItem *pUItem,
+ const SvxOverlineItem *pOItem,
const SvxCrossedOutItem *pCOItem,
const SvxBlinkItem *pBItem )
{
SwHTMLWriter& rHTMLWrt = (SwHTMLWriter&)rWrt;
+ BOOL bNone = FALSE;
const sal_Char *pUStr = 0;
if( pUItem )
{
- switch( pUItem->GetUnderline() )
+ switch( pUItem->GetLineStyle() )
{
case UNDERLINE_NONE:
- pUStr = sCSS1_PV_none;
+ bNone = TRUE;
break;
case UNDERLINE_DONTKNOW:
break;
@@ -2483,16 +2491,38 @@ static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
}
}
+ const sal_Char *pOStr = 0;
+ if( pOItem )
+ {
+ switch( pOItem->GetLineStyle() )
+ {
+ case UNDERLINE_NONE:
+ bNone = TRUE;
+ break;
+ case UNDERLINE_DONTKNOW:
+ break;
+ default:
+ if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) )
+ {
+ // das geht auch in HTML und muss nicht als STYLE-Option
+ // und darf nicht als Hint geschrieben werden
+ ASSERT( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT),
+ "Overline als Hint schreiben?" );
+ pOStr = sCSS1_PV_overline;
+ }
+ break;
+ }
+ }
+
const sal_Char *pCOStr = 0;
if( pCOItem )
{
switch( pCOItem->GetStrikeout() )
{
- case STRIKEOUT_DONTKNOW:
- break;
case STRIKEOUT_NONE:
- if( !pUStr )
- pUStr = sCSS1_PV_none;
+ bNone = TRUE;
+ break;
+ case STRIKEOUT_DONTKNOW:
break;
default:
if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) )
@@ -2502,8 +2532,6 @@ static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
ASSERT( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT),
"CrossedOut als Hint schreiben?" );
pCOStr = sCSS1_PV_line_through;
- if( pUStr && sCSS1_PV_none == pUStr )
- pUStr = 0;
}
break;
}
@@ -2514,8 +2542,7 @@ static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
{
if( !pBItem->GetValue() )
{
- if( !pUStr && !pCOStr )
- pBStr = sCSS1_PV_none;
+ bNone = TRUE;
}
else if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) )
{
@@ -2524,10 +2551,6 @@ static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
ASSERT( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT),
"Blink als Hint schreiben?" );
pBStr = sCSS1_PV_blink;
- if( pUStr && sCSS1_PV_none == pUStr )
- pUStr = 0;
- if( pCOStr && sCSS1_PV_none == pCOStr )
- pCOStr = 0;
}
}
@@ -2535,6 +2558,14 @@ static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
if( pUStr )
sOut.Append( pUStr );
+ if( pOStr )
+ {
+ if( sOut.Len() )
+ sOut += ' ';
+
+ sOut.Append( pOStr );
+ }
+
if( pCOStr )
{
if( sOut.Len() )
@@ -2553,6 +2584,8 @@ static Writer& OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( Writer& rWrt,
if( sOut.Len() )
rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_decoration, sOut );
+ else if( bNone )
+ rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_decoration, sCSS1_PV_none );
return rWrt;
}
@@ -2608,11 +2641,11 @@ static Writer& OutCSS1_SvxColor( Writer& rWrt, const SfxPoolItem& rHt )
static Writer& OutCSS1_SvxCrossedOut( Writer& rWrt, const SfxPoolItem& rHt )
{
// Mit dieser Methode werden nur Hints ausgegeben!
- // Sonst wird OutCSS1_SvxUnderl_SvxCrOut_SvxBlink() direkt aufgerufen.
+ // Sonst wird OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink() direkt aufgerufen.
if( ((SwHTMLWriter&)rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) )
- OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( rWrt, 0,
- (const SvxCrossedOutItem *)&rHt, 0 );
+ OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( rWrt,
+ 0, 0, (const SvxCrossedOutItem *)&rHt, 0 );
return rWrt;
}
@@ -2793,11 +2826,24 @@ static Writer& OutCSS1_SvxLanguage( Writer& rWrt, const SfxPoolItem& rHt )
static Writer& OutCSS1_SvxUnderline( Writer& rWrt, const SfxPoolItem& rHt )
{
// Mit dieser Methode werden nur Hints ausgegeben!
- // Sonst wird OutCSS1_SvxUnderl_SvxCrOut_SvxBlink() direkt aufgerufen.
+ // Sonst wird OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink() direkt aufgerufen.
+
+ if( ((SwHTMLWriter&)rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) )
+ OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( rWrt,
+ (const SvxUnderlineItem *)&rHt, 0, 0, 0 );
+
+ return rWrt;
+}
+
+
+static Writer& OutCSS1_SvxOverline( Writer& rWrt, const SfxPoolItem& rHt )
+{
+ // Mit dieser Methode werden nur Hints ausgegeben!
+ // Sonst wird OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink() direkt aufgerufen.
if( ((SwHTMLWriter&)rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) )
- OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( rWrt,
- (const SvxUnderlineItem *)&rHt, 0, 0 );
+ OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( rWrt,
+ 0, (const SvxOverlineItem *)&rHt, 0, 0 );
return rWrt;
}
@@ -2848,11 +2894,11 @@ static Writer& OutCSS1_SvxFontWeight( Writer& rWrt, const SfxPoolItem& rHt )
static Writer& OutCSS1_SvxBlink( Writer& rWrt, const SfxPoolItem& rHt )
{
// Mit dieser Methode werden nur Hints ausgegeben!
- // Sonst wird OutCSS1_SvxUnderl_SvxCrOut_SvxBlink() direkt aufgerufen.
+ // Sonst wird OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink() direkt aufgerufen.
if( ((SwHTMLWriter&)rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) )
- OutCSS1_SvxUnderl_SvxCrOut_SvxBlink( rWrt,
- 0, 0, (const SvxBlinkItem *)&rHt );
+ OutCSS1_SvxTxtLn_SvxCrOut_SvxBlink( rWrt,
+ 0, 0, 0, (const SvxBlinkItem *)&rHt );
return rWrt;
}
@@ -3699,12 +3745,15 @@ SwAttrFnTab aCSS1AttrFnTab = {
/* RES_CHRATR_CTL_LANGUAGE */ OutCSS1_SvxLanguage,
/* RES_CHRATR_CTL_POSTURE */ OutCSS1_SvxPosture,
/* RES_CHRATR_CTL_WEIGHT */ OutCSS1_SvxFontWeight,
-/* RES_CHRATR_WRITING_DIRECTION */ 0,
+/* RES_CHRATR_ROTATE */ 0,
+/* RES_CHRATR_EMPHASIS_MARK */ 0,
+/* RES_CHRATR_TWO_LINES */ 0,
+/* RES_CHRATR_SCALEW */ 0,
+/* RES_CHRATR_RELIEF */ 0,
+/* RES_CHRATR_HIDDEN */ 0,
+/* RES_CHRATR_OVERLINE */ OutCSS1_SvxOverline,
+/* RES_CHRATR_DUMMY1 */ 0,
/* RES_CHRATR_DUMMY2 */ 0,
-/* RES_CHRATR_DUMMY3 */ 0,
-/* RES_CHRATR_DUMMY4 */ 0,
-/* RES_CHRATR_DUMMY5 */ 0,
-/* RES_CHRATR_HIDDEN */ 0, // Dummy:
/* RES_TXTATR_NOLINEBREAK */ 0,
/* RES_TXTATR_NOHYPHEN */ 0,
diff --git a/sw/source/filter/html/css1kywd.cxx b/sw/source/filter/html/css1kywd.cxx
index e865608c8403..71703c3c34ec 100644
--- a/sw/source/filter/html/css1kywd.cxx
+++ b/sw/source/filter/html/css1kywd.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: css1kywd.cxx,v $
- * $Revision: 1.8 $
+ * $Revision: 1.8.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -165,6 +165,7 @@ sal_Char __FAR_DATA CSS1_CONSTASCII_DEF( sCSS1_P_text_decoration, "text-decorati
sal_Char __FAR_DATA CSS1_CONSTASCII_DEF( sCSS1_PV_none, "none" );
sal_Char __FAR_DATA CSS1_CONSTASCII_DEF( sCSS1_PV_underline, "underline" );
+sal_Char __FAR_DATA CSS1_CONSTASCII_DEF( sCSS1_PV_overline, "overline" );
sal_Char __FAR_DATA CSS1_CONSTASCII_DEF( sCSS1_PV_line_through, "line-through" );
sal_Char __FAR_DATA CSS1_CONSTASCII_DEF( sCSS1_PV_blink, "blink" );
diff --git a/sw/source/filter/html/css1kywd.hxx b/sw/source/filter/html/css1kywd.hxx
index 4c2886af4d4e..91755fa652e9 100644
--- a/sw/source/filter/html/css1kywd.hxx
+++ b/sw/source/filter/html/css1kywd.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: css1kywd.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -171,6 +171,7 @@ extern sal_Char __FAR_DATA CSS1_CONSTASCII_DECL( sCSS1_P_text_decoration, "text-
extern sal_Char __FAR_DATA CSS1_CONSTASCII_DECL( sCSS1_PV_none, "none" );
extern sal_Char __FAR_DATA CSS1_CONSTASCII_DECL( sCSS1_PV_underline, "underline" );
+extern sal_Char __FAR_DATA CSS1_CONSTASCII_DECL( sCSS1_PV_overline, "overline" );
extern sal_Char __FAR_DATA CSS1_CONSTASCII_DECL( sCSS1_PV_line_through, "line-through" );
extern sal_Char __FAR_DATA CSS1_CONSTASCII_DECL( sCSS1_PV_blink, "blink" );
diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx
index add373324440..74c3c30c71c2 100644
--- a/sw/source/filter/html/htmlatr.cxx
+++ b/sw/source/filter/html/htmlatr.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: htmlatr.cxx,v $
- * $Revision: 1.41 $
+ * $Revision: 1.41.140.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1448,7 +1448,7 @@ HTMLOnOffState HTMLEndPosLst::GetHTMLItemState( const SfxPoolItem& rItem )
break;
case RES_CHRATR_UNDERLINE:
- switch( ((const SvxUnderlineItem&)rItem).GetUnderline() )
+ switch( ((const SvxUnderlineItem&)rItem).GetLineStyle() )
{
case UNDERLINE_SINGLE:
eState = HTML_ON_VALUE;
@@ -1463,6 +1463,11 @@ HTMLOnOffState HTMLEndPosLst::GetHTMLItemState( const SfxPoolItem& rItem )
}
break;
+ case RES_CHRATR_OVERLINE:
+ if( IsHTMLMode(HTMLMODE_SOME_STYLES) )
+ eState = HTML_STYLE_VALUE;
+ break;
+
case RES_CHRATR_WEIGHT:
case RES_CHRATR_CJK_WEIGHT:
case RES_CHRATR_CTL_WEIGHT:
@@ -1851,7 +1856,9 @@ void HTMLEndPosLst::InsertNoScript( const SfxPoolItem& rItem,
// Zeichen-Hintergrund-Attribut. Es muss immer wie ein
// Hint behandelt werden.
bSet = bOutStyles &&
- (!bParaAttrs || rItem.Which()==RES_CHRATR_BACKGROUND);
+ (!bParaAttrs
+ || rItem.Which()==RES_CHRATR_BACKGROUND
+ || rItem.Which()==RES_CHRATR_OVERLINE);
break;
case HTML_CHRFMT_VALUE:
@@ -3004,7 +3011,7 @@ static Writer& OutHTML_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
if( rHTMLWrt.bOutOpts )
return rWrt;
- const FontUnderline eUnder = ((const SvxUnderlineItem&)rHt).GetUnderline();
+ const FontUnderline eUnder = ((const SvxUnderlineItem&)rHt).GetLineStyle();
if( UNDERLINE_NONE != eUnder )
{
HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), sHTML_underline, rHTMLWrt.bTagOn );
@@ -3384,12 +3391,15 @@ SwAttrFnTab aHTMLAttrFnTab = {
/* RES_CHRATR_CTL_LANGUAGE */ OutHTML_SvxLanguage,
/* RES_CHRATR_CTL_POSTURE */ OutHTML_SwPosture,
/* RES_CHRATR_CTL_WEIGHT */ OutHTML_SwWeight,
-/* RES_CHRATR_WRITING_DIRECTION */ 0,
+/* RES_CHRATR_ROTATE */ 0,
+/* RES_CHRATR_EMPHASIS_MARK */ 0,
+/* RES_CHRATR_TWO_LINES */ 0,
+/* RES_CHRATR_SCALEW */ 0,
+/* RES_CHRATR_RELIEF */ 0,
+/* RES_CHRATR_HIDDEN */ 0,
+/* RES_CHRATR_OVERLINE */ OutHTML_CSS1Attr,
+/* RES_CHRATR_DUMMY1 */ 0,
/* RES_CHRATR_DUMMY2 */ 0,
-/* RES_CHRATR_DUMMY3 */ 0,
-/* RES_CHRATR_DUMMY4 */ 0,
-/* RES_CHRATR_DUMMY5 */ 0,
-/* RES_CHRATR_HIDDEN */ 0, // Dummy:
/* RES_TXTATR_DUMMY4 */ 0,
/* RES_TXTATR_INETFMT */ OutHTML_SwFmtINetFmt,
diff --git a/sw/source/filter/html/htmlform.cxx b/sw/source/filter/html/htmlform.cxx
index d3dc68aac1d7..06eb9675f038 100644
--- a/sw/source/filter/html/htmlform.cxx
+++ b/sw/source/filter/html/htmlform.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: htmlform.cxx,v $
- * $Revision: 1.27 $
+ * $Revision: 1.27.94.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1144,7 +1144,7 @@ uno::Reference< drawing::XShape > SwHTMLParser::InsertControl(
sal_True, &pItem ) &&
xPropSetInfo->hasPropertyByName( sPropName ) )
{
- aTmp <<= (sal_Int16)((SvxUnderlineItem *)pItem)->GetUnderline();
+ aTmp <<= (sal_Int16)((SvxUnderlineItem *)pItem)->GetLineStyle();
rFCompPropSet->setPropertyValue( sPropName, aTmp );
}
diff --git a/sw/source/filter/html/svxcss1.cxx b/sw/source/filter/html/svxcss1.cxx
index e5cbf801a2d4..50a55d16b6a2 100644
--- a/sw/source/filter/html/svxcss1.cxx
+++ b/sw/source/filter/html/svxcss1.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: svxcss1.cxx,v $
- * $Revision: 1.20.214.1 $
+ * $Revision: 1.20.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -309,6 +309,7 @@ struct SvxCSS1ItemIds
USHORT nFontHeightCJK;
USHORT nFontHeightCTL;
USHORT nUnderline;
+ USHORT nOverline;
USHORT nCrossedOut;
USHORT nColor;
USHORT nKerning;
@@ -802,6 +803,7 @@ SvxCSS1Parser::SvxCSS1Parser( SfxItemPool& rPool, const String& rBaseURL, USHORT
aItemIds.nFontHeightCJK = rPool.GetTrueWhich( SID_ATTR_CHAR_CJK_FONTHEIGHT, FALSE );
aItemIds.nFontHeightCTL = rPool.GetTrueWhich( SID_ATTR_CHAR_CTL_FONTHEIGHT, FALSE );
aItemIds.nUnderline = rPool.GetTrueWhich( SID_ATTR_CHAR_UNDERLINE, FALSE );
+ aItemIds.nOverline = rPool.GetTrueWhich( SID_ATTR_CHAR_OVERLINE, FALSE );
aItemIds.nCrossedOut = rPool.GetTrueWhich( SID_ATTR_CHAR_STRIKEOUT, FALSE );
aItemIds.nColor = rPool.GetTrueWhich( SID_ATTR_CHAR_COLOR, FALSE );
aItemIds.nKerning = rPool.GetTrueWhich( SID_ATTR_CHAR_KERNING, FALSE );
@@ -1917,10 +1919,12 @@ static void ParseCSS1_text_decoration( const CSS1Expression *pExpr,
DBG_ASSERT( pExpr, "kein Ausdruck" );
BOOL bUnderline = FALSE;
+ BOOL bOverline = FALSE;
BOOL bCrossedOut = FALSE;
BOOL bBlink = FALSE;
BOOL bBlinkOn = FALSE;
FontUnderline eUnderline = UNDERLINE_NONE;
+ FontUnderline eOverline = UNDERLINE_NONE;
FontStrikeout eCrossedOut = STRIKEOUT_NONE;
// der Wert kann zwei Werte enthalten! Und MS-IE auch Strings
@@ -1939,6 +1943,9 @@ static void ParseCSS1_text_decoration( const CSS1Expression *pExpr,
bUnderline = TRUE;
eUnderline = UNDERLINE_NONE;
+ bOverline = TRUE;
+ eOverline = UNDERLINE_NONE;
+
bCrossedOut = TRUE;
eCrossedOut = STRIKEOUT_NONE;
@@ -1959,6 +1966,16 @@ static void ParseCSS1_text_decoration( const CSS1Expression *pExpr,
}
break;
+ case 'o':
+ if( aValue.EqualsAscii( sCSS1_PV_overline ) )
+ {
+ bOverline = TRUE;
+ eOverline = UNDERLINE_SINGLE;
+
+ bKnown = TRUE;
+ }
+ break;
+
case 'l':
if( aValue.EqualsAscii( sCSS1_PV_line_through ) )
{
@@ -1992,6 +2009,9 @@ static void ParseCSS1_text_decoration( const CSS1Expression *pExpr,
if( bUnderline )
rItemSet.Put( SvxUnderlineItem( eUnderline, aItemIds.nUnderline ) );
+ if( bOverline )
+ rItemSet.Put( SvxOverlineItem( eOverline, aItemIds.nOverline ) );
+
if( bCrossedOut )
rItemSet.Put( SvxCrossedOutItem( eCrossedOut, aItemIds.nCrossedOut ) );
diff --git a/sw/source/filter/rtf/rtfatr.cxx b/sw/source/filter/rtf/rtfatr.cxx
index 7db407a5cc06..28a410e152d9 100644
--- a/sw/source/filter/rtf/rtfatr.cxx
+++ b/sw/source/filter/rtf/rtfatr.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: rtfatr.cxx,v $
- * $Revision: 1.75 $
+ * $Revision: 1.75.136.1 $
*
* This file is part of OpenOffice.org.
*
@@ -2442,7 +2442,7 @@ static Writer& OutRTF_SwCaseMap( Writer& rWrt, const SfxPoolItem& rHt )
static Writer& OutRTF_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
{
const char* pStr = 0;
- switch( ((const SvxUnderlineItem&)rHt).GetUnderline() )
+ switch( ((const SvxUnderlineItem&)rHt).GetLineStyle() )
{
case UNDERLINE_SINGLE:
pStr = sRTF_UL;
@@ -2503,7 +2503,7 @@ static Writer& OutRTF_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
{
SwRTFWriter& rRTFWrt = (SwRTFWriter&)rWrt;
- if( UNDERLINE_SINGLE == ((const SvxUnderlineItem&)rHt).GetUnderline()
+ if( UNDERLINE_SINGLE == ((const SvxUnderlineItem&)rHt).GetLineStyle()
&& ((SvxWordLineModeItem&)rRTFWrt.GetItem(
RES_CHRATR_WORDLINEMODE )).GetValue() )
pStr = sRTF_ULW;
@@ -2521,6 +2521,90 @@ static Writer& OutRTF_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
+static Writer& OutRTF_SwOverline( Writer& rWrt, const SfxPoolItem& rHt )
+{
+ const char* pStr = 0;
+ switch( ((const SvxOverlineItem&)rHt).GetLineStyle() )
+ {
+ case UNDERLINE_SINGLE:
+ pStr = sRTF_OL;
+ break;
+ case UNDERLINE_DOUBLE:
+ pStr = sRTF_OLDB;
+ break;
+ case UNDERLINE_NONE:
+ pStr = sRTF_OLNONE;
+ break;
+ case UNDERLINE_DOTTED:
+ pStr = sRTF_OLD;
+ break;
+ case UNDERLINE_DASH:
+ pStr = sRTF_OLDASH;
+ break;
+ case UNDERLINE_DASHDOT:
+ pStr = sRTF_OLDASHD;
+ break;
+ case UNDERLINE_DASHDOTDOT:
+ pStr = sRTF_OLDASHDD;
+ break;
+ case UNDERLINE_BOLD:
+ pStr = sRTF_OLTH;
+ break;
+ case UNDERLINE_WAVE:
+ pStr = sRTF_OLWAVE;
+ break;
+ case UNDERLINE_BOLDDOTTED:
+ pStr = sRTF_OLTHD;
+ break;
+ case UNDERLINE_BOLDDASH:
+ pStr = sRTF_OLTHDASH;
+ break;
+ case UNDERLINE_LONGDASH:
+ pStr = sRTF_OLLDASH;
+ break;
+ case UNDERLINE_BOLDLONGDASH:
+ pStr = sRTF_OLTHLDASH;
+ break;
+ case UNDERLINE_BOLDDASHDOT:
+ pStr = sRTF_OLTHDASHD;
+ break;
+ case UNDERLINE_BOLDDASHDOTDOT:
+ pStr = sRTF_OLTHDASHDD;
+ break;
+ case UNDERLINE_BOLDWAVE:
+ pStr = sRTF_OLHWAVE;
+ break;
+ case UNDERLINE_DOUBLEWAVE:
+ pStr = sRTF_OLOLDBWAVE;
+ break;
+ default:
+ break;
+ }
+
+ if( pStr )
+ {
+ SwRTFWriter& rRTFWrt = (SwRTFWriter&)rWrt;
+ if ( rRTFWrt.bNonStandard )
+ {
+ if( UNDERLINE_SINGLE == ((const SvxOverlineItem&)rHt).GetLineStyle()
+ && ((SvxWordLineModeItem&)rRTFWrt.GetItem(
+ RES_CHRATR_WORDLINEMODE )).GetValue() )
+ pStr = sRTF_OLW;
+
+ rRTFWrt.Strm() << pStr;
+ rRTFWrt.bOutFmtAttr = TRUE;
+
+ rWrt.Strm() << sRTF_OLC;
+ rWrt.OutULong( rRTFWrt.GetId(((const SvxOverlineItem&)rHt).GetColor()) );
+ }
+
+ }
+
+ return rWrt;
+}
+
+
+
static Writer& OutRTF_SwLanguage( Writer& rWrt, const SfxPoolItem& rHt )
{
SwRTFWriter& rRTFWrt = (SwRTFWriter&)rWrt;
@@ -4144,6 +4228,9 @@ SwAttrFnTab aRTFAttrFnTab = {
/* RES_CHRATR_SCALEW */ OutRTF_SwCharScaleW,
/* RES_CHRATR_RELIEF */ OutRTF_SwCharRelief,
/* RES_CHRATR_HIDDEN */ OutRTF_SvxCharHiddenItem,
+/* RES_CHRATR_OVERLINE */ OutRTF_SwOverline,
+/* RES_CHRATR_DUMMY1 */ 0,
+/* RES_CHRATR_DUMMY2 */ 0,
/* RES_TXTATR_AUTOFMT */ OutRTF_SwTxtAutoFmt,
/* RES_TXTATR_INETFMT */ OutRTF_SwTxtINetFmt, // Dummy
diff --git a/sw/source/filter/rtf/wrtrtf.cxx b/sw/source/filter/rtf/wrtrtf.cxx
index 90fdd48e5fe0..1f7a5b94d87d 100644
--- a/sw/source/filter/rtf/wrtrtf.cxx
+++ b/sw/source/filter/rtf/wrtrtf.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: wrtrtf.cxx,v $
- * $Revision: 1.42 $
+ * $Revision: 1.42.208.1 $
*
* This file is part of OpenOffice.org.
*
@@ -108,6 +108,8 @@ SwRTFWriter::SwRTFWriter( const String& rFltName, const String & rBaseURL ) :
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
// schreibe nur Gliederungs Absaetze
bOutOutlineOnly = 'O' == rFltName.GetChar( 0 );
+ // enable non-standard tags for cut and paste
+ bNonStandard = '\0' == rFltName.GetChar( 0 );
}
@@ -699,6 +701,16 @@ void SwRTFWriter::OutRTFColorTab()
}
+ const SvxOverlineItem* pOver = (const SvxOverlineItem*)GetDfltAttr( RES_CHRATR_OVERLINE );
+ InsColor( *pColTbl, pOver->GetColor() );
+ nMaxItem = rPool.GetItemCount(RES_CHRATR_OVERLINE);
+ for( n = 0; n < nMaxItem;n++)
+ {
+ if( 0 != (pOver = (const SvxOverlineItem*)rPool.GetItem( RES_CHRATR_OVERLINE, n ) ) )
+ InsColor( *pColTbl, pOver->GetColor() );
+
+ }
+
}
// das Frame Hintergrund - Attribut
diff --git a/sw/source/filter/rtf/wrtrtf.hxx b/sw/source/filter/rtf/wrtrtf.hxx
index b4bdd7879d23..6ab30e4bd4b1 100644
--- a/sw/source/filter/rtf/wrtrtf.hxx
+++ b/sw/source/filter/rtf/wrtrtf.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: wrtrtf.hxx,v $
- * $Revision: 1.18 $
+ * $Revision: 1.18.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -146,6 +146,8 @@ public:
BOOL bIgnoreNextPgBreak : 1; // TRUE: naechsten PageDesc/Break ignorieren
BOOL bAssociated : 1; // use associated tokens
+ BOOL bNonStandard : 1; // use non-standard tags (for cut and paste)
+
// --- public Methoden ------------------------------------------------
SwRTFWriter( const String& rFilterName, const String& rBaseURL );
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 5e321f217da5..332767eb38e7 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -1206,7 +1206,7 @@ static Writer& OutWW8_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
// 6 = thick, 7 = dash, 8 = dot(not used)
// 9 = dotdash 10 = dotdotdash, 11 = wave
BYTE b = 0;
- switch (rAttr.GetUnderline())
+ switch (rAttr.GetLineStyle())
{
case UNDERLINE_SINGLE:
b = ( bWord ) ? 2 : 1;
@@ -1261,7 +1261,7 @@ static Writer& OutWW8_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
b = 0;
break;
default:
- ASSERT(rAttr.GetUnderline() == UNDERLINE_NONE, "Unhandled underline type");
+ ASSERT(rAttr.GetLineStyle() == UNDERLINE_NONE, "Unhandled underline type");
break;
}
@@ -4959,6 +4959,9 @@ SwAttrFnTab aWW8AttrFnTab = {
/* RES_CHRATR_DUMMY4 */ OutWW8_ScaleWidth,
/* RES_CHRATR_RELIEF*/ OutWW8_Relief,
/* RES_CHRATR_HIDDEN */ OutWW8_SvxCharHidden,
+/* RES_CHRATR_OVERLINE */ 0,
+/* RES_CHRATR_DUMMY1 */ 0,
+/* RES_CHRATR_DUMMY2 */ 0,
/* RES_TXTATR_DUMMY4 */ 0,
/* RES_TXTATR_INETFMT */ OutSwFmtINetFmt,
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx
index 56283cef1752..5af9d7f459ff 100644
--- a/sw/source/filter/ww8/ww8par3.cxx
+++ b/sw/source/filter/ww8/ww8par3.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: ww8par3.cxx,v $
- * $Revision: 1.94 $
+ * $Revision: 1.93.92.2 $
*
* This file is part of OpenOffice.org.
*
@@ -2370,8 +2370,8 @@ awt::Size SwWW8ImplReader::MiserableDropDownFormHack(const String &rString,
break;
case RES_CHRATR_UNDERLINE:
- aTmp <<= (sal_Int16)(((SvxUnderlineItem*)pItem)->GetUnderline());
- aFont.SetUnderline(((SvxUnderlineItem*)pItem)->GetUnderline());
+ aTmp <<= (sal_Int16)(((SvxUnderlineItem*)pItem)->GetLineStyle());
+ aFont.SetUnderline(((SvxUnderlineItem*)pItem)->GetLineStyle());
break;
case RES_CHRATR_CROSSEDOUT:
diff --git a/sw/source/ui/inc/swmn_tmpl.hrc b/sw/source/ui/inc/swmn_tmpl.hrc
index 93577032de34..80a388ba868d 100644
--- a/sw/source/ui/inc/swmn_tmpl.hrc
+++ b/sw/source/ui/inc/swmn_tmpl.hrc
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: swmn_tmpl.hrc,v $
- * $Revision: 1.15 $
+ * $Revision: 1.15.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -94,6 +94,10 @@
};\
MenuItem\
{\
+ ITEM_FORMAT_ATTR_CHAR_OVERLINE\
+ };\
+ MenuItem\
+ {\
ITEM_FORMAT_ATTR_CHAR_UNDERLINE\
};\
MenuItem\
diff --git a/sw/source/ui/inc/toolbox_tmpl.hrc b/sw/source/ui/inc/toolbox_tmpl.hrc
index 09a6e479b1d5..f17ebbfb8958 100644
--- a/sw/source/ui/inc/toolbox_tmpl.hrc
+++ b/sw/source/ui/inc/toolbox_tmpl.hrc
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: toolbox_tmpl.hrc,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.210.1 $
*
* This file is part of OpenOffice.org.
*
@@ -64,6 +64,11 @@
};\
ToolBoxItem\
{\
+ Identifier = SID_ATTR_CHAR_OVERLINE ; \
+ HelpID = SID_ATTR_CHAR_OVERLINE ; \
+ };\
+ ToolBoxItem\
+ {\
Identifier = FN_SET_SUPER_SCRIPT;\
HelpID = FN_SET_SUPER_SCRIPT;\
Hide = HIDE;\
@@ -115,6 +120,11 @@
};\
ToolBoxItem\
{\
+ Identifier = SID_ATTR_CHAR_OVERLINE ; \
+ HelpID = SID_ATTR_CHAR_OVERLINE ; \
+ };\
+ ToolBoxItem\
+ {\
Identifier = FN_SET_SUPER_SCRIPT;\
HelpID = FN_SET_SUPER_SCRIPT;\
Hide = HIDE;\
diff --git a/sw/source/ui/shells/annotsh.cxx b/sw/source/ui/shells/annotsh.cxx
index cdb4c04f6e65..500917788af3 100755
--- a/sw/source/ui/shells/annotsh.cxx
+++ b/sw/source/ui/shells/annotsh.cxx
@@ -205,10 +205,16 @@ void SwAnnotationShell::Exec( SfxRequest &rReq )
case SID_ATTR_CHAR_COLOR: nEEWhich = EE_CHAR_COLOR; break;
case SID_ATTR_CHAR_UNDERLINE:
{
- FontUnderline eFU = ((const SvxUnderlineItem&)aEditAttr.Get(EE_CHAR_UNDERLINE)).GetUnderline();
+ FontUnderline eFU = ((const SvxUnderlineItem&)aEditAttr.Get(EE_CHAR_UNDERLINE)).GetLineStyle();
aNewAttr.Put(SvxUnderlineItem(eFU == UNDERLINE_SINGLE ? UNDERLINE_NONE : UNDERLINE_SINGLE, EE_CHAR_UNDERLINE));
break;
}
+ case SID_ATTR_CHAR_OVERLINE:
+ {
+ FontUnderline eFO = ((const SvxOverlineItem&)aEditAttr.Get(EE_CHAR_OVERLINE)).GetLineStyle();
+ aNewAttr.Put(SvxOverlineItem(eFO == UNDERLINE_SINGLE ? UNDERLINE_NONE : UNDERLINE_SINGLE, EE_CHAR_OVERLINE));
+ break;
+ }
case SID_ATTR_CHAR_CONTOUR: nEEWhich = EE_CHAR_OUTLINE; break;
case SID_ATTR_CHAR_SHADOWED: nEEWhich = EE_CHAR_SHADOW; break;
case SID_ATTR_CHAR_STRIKEOUT: nEEWhich = EE_CHAR_STRIKEOUT; break;
@@ -613,6 +619,7 @@ void SwAnnotationShell::GetState(SfxItemSet& rSet)
break;
case SID_ATTR_CHAR_COLOR: nEEWhich = EE_CHAR_COLOR; break;
case SID_ATTR_CHAR_UNDERLINE: nEEWhich = EE_CHAR_UNDERLINE;break;
+ case SID_ATTR_CHAR_OVERLINE: nEEWhich = EE_CHAR_OVERLINE;break;
case SID_ATTR_CHAR_CONTOUR: nEEWhich = EE_CHAR_OUTLINE; break;
case SID_ATTR_CHAR_SHADOWED: nEEWhich = EE_CHAR_SHADOW;break;
case SID_ATTR_CHAR_STRIKEOUT: nEEWhich = EE_CHAR_STRIKEOUT;break;
diff --git a/sw/source/ui/shells/drwtxtex.cxx b/sw/source/ui/shells/drwtxtex.cxx
index 016f27dca10e..d56cb88e9db8 100644
--- a/sw/source/ui/shells/drwtxtex.cxx
+++ b/sw/source/ui/shells/drwtxtex.cxx
@@ -175,11 +175,18 @@ void SwDrawTextShell::Execute( SfxRequest &rReq )
case SID_ATTR_CHAR_UNDERLINE:
{
- FontUnderline eFU = ((const SvxUnderlineItem&)aEditAttr.Get(EE_CHAR_UNDERLINE)).GetUnderline();
+ FontUnderline eFU = ((const SvxUnderlineItem&)aEditAttr.Get(EE_CHAR_UNDERLINE)).GetLineStyle();
aNewAttr.Put(SvxUnderlineItem(eFU == UNDERLINE_SINGLE ? UNDERLINE_NONE : UNDERLINE_SINGLE, EE_CHAR_UNDERLINE));
}
break;
+ case SID_ATTR_CHAR_OVERLINE:
+ {
+ FontUnderline eFO = ((const SvxOverlineItem&)aEditAttr.Get(EE_CHAR_OVERLINE)).GetLineStyle();
+ aNewAttr.Put(SvxOverlineItem(eFO == UNDERLINE_SINGLE ? UNDERLINE_NONE : UNDERLINE_SINGLE, EE_CHAR_OVERLINE));
+ }
+ break;
+
case SID_ATTR_CHAR_CONTOUR: nEEWhich = EE_CHAR_OUTLINE; break;
case SID_ATTR_CHAR_SHADOWED: nEEWhich = EE_CHAR_SHADOW; break;
case SID_ATTR_CHAR_STRIKEOUT: nEEWhich = EE_CHAR_STRIKEOUT; break;
@@ -784,6 +791,7 @@ void SwDrawTextShell::GetDrawTxtCtrlState(SfxItemSet& rSet)
break;
case SID_ATTR_CHAR_COLOR: nEEWhich = EE_CHAR_COLOR; break;
case SID_ATTR_CHAR_UNDERLINE: nEEWhich = EE_CHAR_UNDERLINE;break;
+ case SID_ATTR_CHAR_OVERLINE: nEEWhich = EE_CHAR_OVERLINE;break;
case SID_ATTR_CHAR_CONTOUR: nEEWhich = EE_CHAR_OUTLINE; break;
case SID_ATTR_CHAR_SHADOWED: nEEWhich = EE_CHAR_SHADOW;break;
case SID_ATTR_CHAR_STRIKEOUT: nEEWhich = EE_CHAR_STRIKEOUT;break;
diff --git a/sw/source/ui/shells/txtattr.cxx b/sw/source/ui/shells/txtattr.cxx
index c90335e57e7f..3e6f7eed80b6 100644
--- a/sw/source/ui/shells/txtattr.cxx
+++ b/sw/source/ui/shells/txtattr.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: txtattr.cxx,v $
- * $Revision: 1.28 $
+ * $Revision: 1.28.140.1 $
*
* This file is part of OpenOffice.org.
*
@@ -169,7 +169,7 @@ void SwTextShell::ExecCharAttr(SfxRequest &rReq)
case FN_UNDERLINE_DOUBLE:
{
FontUnderline eUnderline = ((const SvxUnderlineItem&)
- aSet.Get(RES_CHRATR_UNDERLINE)).GetUnderline();
+ aSet.Get(RES_CHRATR_UNDERLINE)).GetLineStyle();
switch( eState )
{
case STATE_TOGGLE:
@@ -737,7 +737,7 @@ void SwTextShell::GetAttrState(SfxItemSet &rSet)
if( eState >= SFX_ITEM_DEFAULT )
{
FontUnderline eUnderline = ((const SvxUnderlineItem&)
- aCoreSet.Get(RES_CHRATR_UNDERLINE)).GetUnderline();
+ aCoreSet.Get(RES_CHRATR_UNDERLINE)).GetLineStyle();
rSet.Put(SfxBoolItem(nSlot, eUnderline == UNDERLINE_DOUBLE));
}
else
diff --git a/sw/source/ui/table/tautofmt.cxx b/sw/source/ui/table/tautofmt.cxx
index 9af3ed1f29ab..de8ea6e3e62b 100644
--- a/sw/source/ui/table/tautofmt.cxx
+++ b/sw/source/ui/table/tautofmt.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: tautofmt.cxx,v $
- * $Revision: 1.24 $
+ * $Revision: 1.24.190.1 $
*
* This file is part of OpenOffice.org.
*
@@ -665,6 +665,7 @@ void AutoFmtPreview::MakeFonts( BYTE nIndex, Font& rFont, Font& rCJKFont, Font&
lcl_SetFontProperties( rCTLFont, rBoxFmt.GetCTLFont(), rBoxFmt.GetCTLWeight(), rBoxFmt.GetCTLPosture() );
SETONALLFONTS( SetUnderline, (FontUnderline)rBoxFmt.GetUnderline().GetValue() );
+ SETONALLFONTS( SetOverline, (FontUnderline)rBoxFmt.GetOverline().GetValue() );
SETONALLFONTS( SetStrikeout, (FontStrikeout)rBoxFmt.GetCrossedOut().GetValue() );
SETONALLFONTS( SetOutline, rBoxFmt.GetContour().GetValue() );
SETONALLFONTS( SetShadow, rBoxFmt.GetShadowed().GetValue() );
diff --git a/sw/source/ui/uiview/view.cxx b/sw/source/ui/uiview/view.cxx
index 2b559a8f535b..43458e9b6db3 100644
--- a/sw/source/ui/uiview/view.cxx
+++ b/sw/source/ui/uiview/view.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: view.cxx,v $
- * $Revision: 1.112.110.1 $
+ * $Revision: 1.112.94.1 $
*
* This file is part of OpenOffice.org.
*
@@ -687,6 +687,7 @@ void SwView::_CheckReadonlyState()
SID_ATTR_CHAR_FONT, SID_ATTR_CHAR_FONTHEIGHT, SID_ATTR_CHAR_COLOR_BACKGROUND,
SID_ATTR_CHAR_COLOR_BACKGROUND_EXT, SID_ATTR_CHAR_COLOR_EXT,
SID_ATTR_CHAR_COLOR, SID_ATTR_CHAR_WEIGHT, SID_ATTR_CHAR_POSTURE,
+ SID_ATTR_CHAR_OVERLINE,
SID_ATTR_CHAR_UNDERLINE, SID_ATTR_FLASH, SID_ATTR_CHAR_STRIKEOUT,
FN_UNDERLINE_DOUBLE, SID_ATTR_CHAR_CONTOUR, SID_ATTR_CHAR_SHADOWED,
SID_ATTR_CHAR_AUTOKERN, SID_ATTR_CHAR_ESCAPEMENT, FN_SET_SUPER_SCRIPT,