summaryrefslogtreecommitdiffstats
path: root/editeng
diff options
context:
space:
mode:
authorMuthu Subramanian <sumuthu@collabora.com>2014-01-27 16:23:44 +0530
committerMuthu Subramanian <sumuthu@collabora.com>2014-01-27 16:23:44 +0530
commit887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec (patch)
treef8bc90276eac21ba17922488a1e10b55e7fc05e5 /editeng
parentMore Icons for Sifr (diff)
downloadcore-887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec.tar.gz
core-887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec.zip
cp#1000025: Import casemaps from pptx.
Note: This only imports it and it may not be even possible to export (even to othe formats). Change-Id: I8e104f1bc3a95c42ac932b6ab58365dc113fb2e0
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/accessibility/AccessibleEditableTextPara.cxx1
-rw-r--r--editeng/source/editeng/editattr.cxx17
-rw-r--r--editeng/source/editeng/editattr.hxx12
-rw-r--r--editeng/source/editeng/editdoc.cxx9
-rw-r--r--editeng/source/editeng/editeng.cxx2
-rw-r--r--editeng/source/editeng/eerdll.cxx10
-rw-r--r--editeng/source/uno/unofdesc.cxx1
-rw-r--r--editeng/source/uno/unotext.cxx2
8 files changed, 48 insertions, 6 deletions
diff --git a/editeng/source/accessibility/AccessibleEditableTextPara.cxx b/editeng/source/accessibility/AccessibleEditableTextPara.cxx
index 75dce259e031..1cf13e023548 100644
--- a/editeng/source/accessibility/AccessibleEditableTextPara.cxx
+++ b/editeng/source/accessibility/AccessibleEditableTextPara.cxx
@@ -885,6 +885,7 @@ namespace accessibility
STR("CharPosture");
STR("CharShadowed");
STR("CharStrikeout");
+ STR("CharCaseMap");
STR("CharUnderline");
STR("CharUnderlineColor");
STR("CharWeight");
diff --git a/editeng/source/editeng/editattr.cxx b/editeng/source/editeng/editattr.cxx
index 1014424c844d..d5e7e23f94bf 100644
--- a/editeng/source/editeng/editattr.cxx
+++ b/editeng/source/editeng/editattr.cxx
@@ -43,6 +43,7 @@
#include <editeng/emphasismarkitem.hxx>
#include <editeng/charscaleitem.hxx>
#include <editeng/charreliefitem.hxx>
+#include <editeng/cmapitem.hxx>
#include "editattr.hxx"
@@ -182,7 +183,7 @@ void EditCharAttribFontWidth::SetFont( SvxFont& /*rFont*/, OutputDevice* )
EditCharAttribStrikeout::EditCharAttribStrikeout( const SvxCrossedOutItem& rAttr, sal_uInt16 _nStart, sal_uInt16 _nEnd )
: EditCharAttrib( rAttr, _nStart, _nEnd )
{
- DBG_ASSERT( rAttr.Which() == EE_CHAR_STRIKEOUT, "Not a Size attribute!" );
+ DBG_ASSERT( rAttr.Which() == EE_CHAR_STRIKEOUT, "Not a Strikeout attribute!" );
}
void EditCharAttribStrikeout::SetFont( SvxFont& rFont, OutputDevice* )
@@ -191,6 +192,20 @@ void EditCharAttribStrikeout::SetFont( SvxFont& rFont, OutputDevice* )
}
// -------------------------------------------------------------------------
+// class EditCharAttribCaseMap
+// -------------------------------------------------------------------------
+EditCharAttribCaseMap::EditCharAttribCaseMap( const SvxCaseMapItem& rAttr, sal_uInt16 _nStart, sal_uInt16 _nEnd )
+ : EditCharAttrib( rAttr, _nStart, _nEnd )
+{
+ DBG_ASSERT( rAttr.Which() == EE_CHAR_CASEMAP, "Not a CaseMap Item!" );
+}
+
+void EditCharAttribCaseMap::SetFont( SvxFont& rFont, OutputDevice* )
+{
+ rFont.SetCaseMap( ((const SvxCaseMapItem*)GetItem())->GetCaseMap() );
+}
+
+// -------------------------------------------------------------------------
// class EditCharAttribColor
// -------------------------------------------------------------------------
EditCharAttribColor::EditCharAttribColor( const SvxColorItem& rAttr, sal_uInt16 _nStart, sal_uInt16 _nEnd )
diff --git a/editeng/source/editeng/editattr.hxx b/editeng/source/editeng/editattr.hxx
index 4fb657c25b84..39174273c1d4 100644
--- a/editeng/source/editeng/editattr.hxx
+++ b/editeng/source/editeng/editattr.hxx
@@ -47,6 +47,7 @@ class SvxEmphasisMarkItem;
class SvxCharReliefItem;
class SfxVoidItem;
class OutputDevice;
+class SvxCaseMapItem;
#define CH_FEATURE_OLD (sal_uInt8) 0xFF
#define CH_FEATURE (sal_Unicode) 0x01
@@ -219,6 +220,17 @@ public:
};
// -------------------------------------------------------------------------
+// class EditCharAttribCaseMap
+// -------------------------------------------------------------------------
+class EditCharAttribCaseMap : public EditCharAttrib
+{
+public:
+ EditCharAttribCaseMap( const SvxCaseMapItem& rAttr, sal_uInt16 nStart, sal_uInt16 nEnd );
+
+ virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev );
+};
+
+// -------------------------------------------------------------------------
// class EditCharAttribUnderline
// -------------------------------------------------------------------------
class EditCharAttribUnderline : public EditCharAttrib
diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index 1f9f35dd2933..7a0de12e8790 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -33,6 +33,7 @@
#include <editeng/wrlmitem.hxx>
#include <editeng/wghtitem.hxx>
#include <editeng/udlnitem.hxx>
+#include <editeng/cmapitem.hxx>
#include <editeng/contouritem.hxx>
#include <editeng/escapementitem.hxx>
#include <editeng/shdditem.hxx>
@@ -211,6 +212,7 @@ const SfxItemInfo aItemInfos[EDITITEMCOUNT] = {
{ 0, SFX_ITEM_POOLABLE }, // EE_CHAR_RUBI_DUMMY
{ 0, SFX_ITEM_POOLABLE }, // EE_CHAR_XMLATTRIBS
{ SID_ATTR_CHAR_OVERLINE, SFX_ITEM_POOLABLE },
+ { SID_ATTR_CHAR_CASEMAP, SFX_ITEM_POOLABLE }, // EE_CHAR_CASEMAP
{ 0, SFX_ITEM_POOLABLE }, // EE_FEATURE_TAB
{ 0, SFX_ITEM_POOLABLE }, // EE_FEATURE_LINEBR
{ SID_ATTR_CHAR_CHARSETCOLOR, SFX_ITEM_POOLABLE }, // EE_FEATURE_NOTCONV
@@ -363,6 +365,11 @@ EditCharAttrib* MakeCharAttrib( SfxItemPool& rPool, const SfxPoolItem& rAttr, sa
pNew = new EditCharAttrib( rNew, nS, nE ); // Attribute is only for holding XML information...
}
break;
+ case EE_CHAR_CASEMAP:
+ {
+ pNew = new EditCharAttribCaseMap( (const SvxCaseMapItem&)rNew, nS, nE );
+ }
+ break;
case EE_FEATURE_TAB:
{
pNew = new EditCharAttribTab( (const SfxVoidItem&)rNew, nS );
@@ -1945,6 +1952,8 @@ void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, bool bSearchInParent, s
rFont.SetOverline( ((const SvxOverlineItem&)rSet.Get( EE_CHAR_OVERLINE )).GetLineStyle() );
if ( bSearchInParent || ( rSet.GetItemState( EE_CHAR_STRIKEOUT ) == SFX_ITEM_ON ) )
rFont.SetStrikeout( ((const SvxCrossedOutItem&)rSet.Get( EE_CHAR_STRIKEOUT )).GetStrikeout() );
+ if ( bSearchInParent || ( rSet.GetItemState( EE_CHAR_CASEMAP ) == SFX_ITEM_ON ) )
+ rFont.SetCaseMap( ((const SvxCaseMapItem&)rSet.Get( EE_CHAR_CASEMAP )).GetCaseMap() );
if ( bSearchInParent || ( rSet.GetItemState( nWhich_Italic ) == SFX_ITEM_ON ) )
rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( nWhich_Italic )).GetPosture() );
if ( bSearchInParent || ( rSet.GetItemState( EE_CHAR_OUTLINE ) == SFX_ITEM_ON ) )
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index 649a725603f4..e015bd9fe591 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -37,6 +37,7 @@
#include <editeng/acorrcfg.hxx>
#include <editeng/flditem.hxx>
#include <editeng/txtrange.hxx>
+#include <editeng/cmapitem.hxx>
#include <vcl/graph.hxx>
#include <editeng/autokernitem.hxx>
@@ -2607,6 +2608,7 @@ void EditEngine::SetFontInfoInItemSet( SfxItemSet& rSet, const SvxFont& rFont )
rSet.Put( SvxUnderlineItem( rFont.GetUnderline(), EE_CHAR_UNDERLINE ) );
rSet.Put( SvxOverlineItem( rFont.GetOverline(), EE_CHAR_OVERLINE ) );
rSet.Put( SvxCrossedOutItem( rFont.GetStrikeout(), EE_CHAR_STRIKEOUT ) );
+ rSet.Put( SvxCaseMapItem( rFont.GetCaseMap(), EE_CHAR_CASEMAP ) );
rSet.Put( SvxPostureItem( rFont.GetItalic(), EE_CHAR_ITALIC ) );
rSet.Put( SvxContourItem( rFont.IsOutline(), EE_CHAR_OUTLINE ) );
rSet.Put( SvxAutoKernItem( rFont.IsKerning(), EE_CHAR_PAIRKERNING ) );
diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx
index 704573aaa1eb..10bcb7645eea 100644
--- a/editeng/source/editeng/eerdll.cxx
+++ b/editeng/source/editeng/eerdll.cxx
@@ -58,6 +58,7 @@
#include <editeng/wrlmitem.hxx>
#include <editeng/numitem.hxx>
#include <editeng/langitem.hxx>
+#include <editeng/cmapitem.hxx>
#include <editeng/charscaleitem.hxx>
#include <editeng/charreliefitem.hxx>
#include <editeng/frmdiritem.hxx>
@@ -151,12 +152,13 @@ SfxPoolItem** GlobalEditData::GetDefItems()
ppDefItems[45] = new SfxVoidItem( EE_CHAR_RUBI_DUMMY );
ppDefItems[46] = new SvXMLAttrContainerItem( EE_CHAR_XMLATTRIBS );
ppDefItems[47] = new SvxOverlineItem( UNDERLINE_NONE, EE_CHAR_OVERLINE );
+ ppDefItems[48] = new SvxCaseMapItem( SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP );
// Features
- ppDefItems[48] = new SfxVoidItem( EE_FEATURE_TAB );
- ppDefItems[49] = new SfxVoidItem( EE_FEATURE_LINEBR );
- ppDefItems[50] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV );
- ppDefItems[51] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD );
+ ppDefItems[49] = new SfxVoidItem( EE_FEATURE_TAB );
+ ppDefItems[50] = new SfxVoidItem( EE_FEATURE_LINEBR );
+ ppDefItems[51] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV );
+ ppDefItems[52] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD );
DBG_ASSERT( EDITITEMCOUNT == 52, "ITEMCOUNT geaendert, DefItems nicht angepasst!" );
diff --git a/editeng/source/uno/unofdesc.cxx b/editeng/source/uno/unofdesc.cxx
index cd52e33e2157..0382d901ffc0 100644
--- a/editeng/source/uno/unofdesc.cxx
+++ b/editeng/source/uno/unofdesc.cxx
@@ -33,6 +33,7 @@
#include <svl/itempool.hxx>
#include <editeng/unofdesc.hxx>
+#include <editeng/svxfont.hxx>
using namespace ::rtl;
using namespace ::com::sun::star;
diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx
index 93c46ae97b71..fa6a90fd975a 100644
--- a/editeng/source/uno/unotext.cxx
+++ b/editeng/source/uno/unotext.cxx
@@ -951,7 +951,7 @@ beans::PropertyState SAL_CALL SvxUnoTextRangeBase::getPropertyState( const OUStr
}
static const sal_uInt16 aSvxUnoFontDescriptorWhichMap[] = { EE_CHAR_FONTINFO, EE_CHAR_FONTHEIGHT, EE_CHAR_ITALIC,
- EE_CHAR_UNDERLINE, EE_CHAR_WEIGHT, EE_CHAR_STRIKEOUT,
+ EE_CHAR_UNDERLINE, EE_CHAR_WEIGHT, EE_CHAR_STRIKEOUT, EE_CHAR_CASEMAP,
EE_CHAR_WLM, 0 };
beans::PropertyState SAL_CALL SvxUnoTextRangeBase::_getPropertyState(const SfxItemPropertySimpleEntry* pMap, sal_Int32 nPara)