summaryrefslogtreecommitdiff
path: root/svx/source/items/rotmodit.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/items/rotmodit.cxx')
-rw-r--r--svx/source/items/rotmodit.cxx178
1 files changed, 178 insertions, 0 deletions
diff --git a/svx/source/items/rotmodit.cxx b/svx/source/items/rotmodit.cxx
new file mode 100644
index 000000000000..10a0adf3f0c9
--- /dev/null
+++ b/svx/source/items/rotmodit.cxx
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_svx.hxx"
+#include <tools/stream.hxx>
+#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/CellVertJustify.hpp>
+#include <com/sun/star/table/ShadowLocation.hpp>
+#include <com/sun/star/table/TableBorder.hpp>
+#include <com/sun/star/table/ShadowFormat.hpp>
+#include <com/sun/star/table/CellRangeAddress.hpp>
+#include <com/sun/star/table/CellContentType.hpp>
+#include <com/sun/star/table/TableOrientation.hpp>
+#include <com/sun/star/table/CellHoriJustify.hpp>
+#include <com/sun/star/util/SortField.hpp>
+#include <com/sun/star/util/SortFieldType.hpp>
+#include <com/sun/star/table/CellOrientation.hpp>
+#include <com/sun/star/table/CellAddress.hpp>
+
+#include "rotmodit.hxx"
+
+using namespace ::rtl;
+using namespace ::com::sun::star;
+
+// STATIC DATA -----------------------------------------------------------
+
+TYPEINIT1_FACTORY(SvxRotateModeItem, SfxEnumItem, new SvxRotateModeItem(SVX_ROTATE_MODE_STANDARD, 0));
+
+
+//-----------------------------------------------------------------------
+// SvxRotateModeItem - Ausrichtung bei gedrehtem Text
+//-----------------------------------------------------------------------
+
+SvxRotateModeItem::SvxRotateModeItem( SvxRotateMode eMode, USHORT _nWhich )
+ : SfxEnumItem( _nWhich, (USHORT)eMode )
+{
+}
+
+SvxRotateModeItem::SvxRotateModeItem( const SvxRotateModeItem& rItem )
+ : SfxEnumItem( rItem )
+{
+}
+
+__EXPORT SvxRotateModeItem::~SvxRotateModeItem()
+{
+}
+
+SfxPoolItem* __EXPORT SvxRotateModeItem::Create( SvStream& rStream, USHORT ) const
+{
+ USHORT nVal;
+ rStream >> nVal;
+ return new SvxRotateModeItem( (SvxRotateMode) nVal,Which() );
+}
+
+SfxItemPresentation __EXPORT SvxRotateModeItem::GetPresentation(
+ SfxItemPresentation ePres,
+ SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
+ String& rText, const IntlWrapper * ) const
+{
+ rText.Erase();
+
+ switch ( ePres )
+ {
+ case SFX_ITEM_PRESENTATION_COMPLETE:
+ rText.AppendAscii("...");
+ rText.AppendAscii(": ");
+// break; // DURCHFALLEN!!!
+
+ case SFX_ITEM_PRESENTATION_NAMELESS:
+ rText += UniString::CreateFromInt32( GetValue() );
+ break;
+ default: ;//prevent warning
+ }
+
+ return ePres;
+}
+
+String __EXPORT SvxRotateModeItem::GetValueText( USHORT nVal ) const
+{
+ String aText;
+
+ switch ( nVal )
+ {
+ case SVX_ROTATE_MODE_STANDARD:
+ case SVX_ROTATE_MODE_TOP:
+ case SVX_ROTATE_MODE_CENTER:
+ case SVX_ROTATE_MODE_BOTTOM:
+ aText.AppendAscii("...");
+ break;
+ default:
+ DBG_ERROR("SvxRotateModeItem: falscher enum");
+ break;
+ }
+ return aText;
+}
+
+USHORT __EXPORT SvxRotateModeItem::GetValueCount() const
+{
+ return 4; // STANDARD, TOP, CENTER, BOTTOM
+}
+
+SfxPoolItem* __EXPORT SvxRotateModeItem::Clone( SfxItemPool* ) const
+{
+ return new SvxRotateModeItem( *this );
+}
+
+USHORT __EXPORT SvxRotateModeItem::GetVersion( USHORT /*nFileVersion*/ ) const
+{
+ return 0;
+}
+
+// QueryValue/PutValue: Der ::com::sun::star::table::CellVertJustify enum wird mitbenutzt...
+
+sal_Bool SvxRotateModeItem::QueryValue( uno::Any& rVal, BYTE /*nMemberId*/ ) const
+{
+ table::CellVertJustify eUno = table::CellVertJustify_STANDARD;
+ switch ( (SvxRotateMode)GetValue() )
+ {
+ case SVX_ROTATE_MODE_STANDARD: eUno = table::CellVertJustify_STANDARD; break;
+ case SVX_ROTATE_MODE_TOP: eUno = table::CellVertJustify_TOP; break;
+ case SVX_ROTATE_MODE_CENTER: eUno = table::CellVertJustify_CENTER; break;
+ case SVX_ROTATE_MODE_BOTTOM: eUno = table::CellVertJustify_BOTTOM; break;
+ }
+ rVal <<= eUno;
+ return sal_True;
+}
+
+sal_Bool SvxRotateModeItem::PutValue( const uno::Any& rVal, BYTE /*nMemberId*/ )
+{
+ table::CellVertJustify eUno;
+ if(!(rVal >>= eUno))
+ {
+ sal_Int32 nValue = 0;
+ if(!(rVal >>= nValue))
+ return sal_False;
+ eUno = (table::CellVertJustify)nValue;
+ }
+
+ SvxRotateMode eSvx = SVX_ROTATE_MODE_STANDARD;
+ switch (eUno)
+ {
+ case table::CellVertJustify_STANDARD: eSvx = SVX_ROTATE_MODE_STANDARD; break;
+ case table::CellVertJustify_TOP: eSvx = SVX_ROTATE_MODE_TOP; break;
+ case table::CellVertJustify_CENTER: eSvx = SVX_ROTATE_MODE_CENTER; break;
+ case table::CellVertJustify_BOTTOM: eSvx = SVX_ROTATE_MODE_BOTTOM; break;
+ default: ;//prevent warning
+ }
+ SetValue( (USHORT)eSvx );
+ return sal_True;
+}
+
+
+