21 #include <com/sun/star/style/NumberingType.hpp>
22 #include <ooo/vba/word/WdListNumberStyle.hpp>
23 #include <com/sun/star/text/HoriOrientation.hpp>
24 #include <ooo/vba/word/WdListLevelAlignment.hpp>
39 sal_Int16 nAlignment = 0;
43 case text::HoriOrientation::LEFT:
45 nAlignment = word::WdListLevelAlignment::wdListLevelAlignLeft;
48 case text::HoriOrientation::RIGHT:
50 nAlignment = word::WdListLevelAlignment::wdListLevelAlignRight;
53 case text::HoriOrientation::CENTER:
55 nAlignment = word::WdListLevelAlignment::wdListLevelAlignCenter;
60 throw uno::RuntimeException();
68 sal_Int16 nAlignment = text::HoriOrientation::LEFT;
71 case word::WdListLevelAlignment::wdListLevelAlignLeft:
73 nAlignment = text::HoriOrientation::LEFT;
76 case word::WdListLevelAlignment::wdListLevelAlignRight:
78 nAlignment = text::HoriOrientation::RIGHT;
81 case word::WdListLevelAlignment::wdListLevelAlignCenter:
83 nAlignment = text::HoriOrientation::CENTER;
88 throw uno::RuntimeException();
96 throw uno::RuntimeException(
"Not implemented" );
101 throw uno::RuntimeException(
"Not implemented" );
134 sal_Int32 nIndentAt = 0;
135 sal_Int32 nFirstLineIndent = 0;
137 pListHelper->getPropertyValueWithNameAndLevel(
mnLevel,
"FirstLineIndent" ) >>= nFirstLineIndent;
139 sal_Int32 nResult = nIndentAt + nFirstLineIndent;
141 return static_cast< float >( Millimeter::getInPoints( nResult ) );
146 sal_Int32 nNumberPosition = Millimeter::getInHundredthsOfOneMillimeter( _numberposition );
148 sal_Int32 nIndentAt = 0;
151 sal_Int32 nFirstLineIndent = nNumberPosition - nIndentAt;
157 sal_Int16 nNumberingType = 0;
158 pListHelper->getPropertyValueWithNameAndLevel(
mnLevel,
"NumberingType" ) >>= nNumberingType;
159 switch( nNumberingType )
161 case style::NumberingType::CHAR_SPECIAL:
163 nNumberingType = word::WdListNumberStyle::wdListNumberStyleBullet;
166 case style::NumberingType::CHARS_UPPER_LETTER:
168 nNumberingType = word::WdListNumberStyle::wdListNumberStyleUppercaseLetter;
171 case style::NumberingType::CHARS_LOWER_LETTER:
173 nNumberingType = word::WdListNumberStyle::wdListNumberStyleLowercaseLetter;
176 case style::NumberingType::ROMAN_UPPER:
178 nNumberingType = word::WdListNumberStyle::wdListNumberStyleUppercaseRoman;
181 case style::NumberingType::ROMAN_LOWER:
183 nNumberingType = word::WdListNumberStyle::wdListNumberStyleLowercaseRoman;
186 case style::NumberingType::ARABIC:
188 nNumberingType = word::WdListNumberStyle::wdListNumberStyleArabic;
191 case style::NumberingType::NUMBER_NONE:
193 nNumberingType = word::WdListNumberStyle::wdListNumberStyleNone;
196 case style::NumberingType::FULLWIDTH_ARABIC:
198 nNumberingType = word::WdListNumberStyle::wdListNumberStyleArabicFullWidth;
201 case style::NumberingType::CIRCLE_NUMBER:
203 nNumberingType = word::WdListNumberStyle::wdListNumberStyleNumberInCircle;
206 case style::NumberingType::CHARS_ARABIC:
208 nNumberingType = word::WdListNumberStyle::wdListNumberStyleCardinalText;
213 throw uno::RuntimeException(
"Not implemented" );
216 return nNumberingType;
221 sal_Int16 nNumberingType = 0;
222 switch( _numberstyle )
224 case word::WdListNumberStyle::wdListNumberStyleBullet:
226 nNumberingType = style::NumberingType::CHAR_SPECIAL;
229 case word::WdListNumberStyle::wdListNumberStyleUppercaseLetter:
231 nNumberingType = style::NumberingType::CHARS_UPPER_LETTER_N;
234 case word::WdListNumberStyle::wdListNumberStyleLowercaseLetter:
236 nNumberingType = style::NumberingType::CHARS_LOWER_LETTER_N;
239 case word::WdListNumberStyle::wdListNumberStyleUppercaseRoman:
241 nNumberingType = style::NumberingType::ROMAN_UPPER;
244 case word::WdListNumberStyle::wdListNumberStyleLowercaseRoman:
246 nNumberingType = style::NumberingType::ROMAN_LOWER;
249 case word::WdListNumberStyle::wdListNumberStyleArabic:
251 nNumberingType = style::NumberingType::ARABIC;
254 case word::WdListNumberStyle::wdListNumberStyleNone:
256 nNumberingType = style::NumberingType::NUMBER_NONE;
259 case word::WdListNumberStyle::wdListNumberStyleArabicFullWidth:
261 nNumberingType = style::NumberingType::FULLWIDTH_ARABIC;
264 case word::WdListNumberStyle::wdListNumberStyleNumberInCircle:
266 nNumberingType = style::NumberingType::CIRCLE_NUMBER;
269 case word::WdListNumberStyle::wdListNumberStyleCardinalText:
271 nNumberingType = style::NumberingType::CHARS_ARABIC;
274 case word::WdListNumberStyle::wdListNumberStyleOrdinal:
275 case word::WdListNumberStyle::wdListNumberStyleOrdinalText:
276 case word::WdListNumberStyle::wdListNumberStyleKanji:
277 case word::WdListNumberStyle::wdListNumberStyleKanjiDigit:
278 case word::WdListNumberStyle::wdListNumberStyleAiueoHalfWidth:
279 case word::WdListNumberStyle::wdListNumberStyleIrohaHalfWidth:
281 nNumberingType = style::NumberingType::ARABIC;
286 throw uno::RuntimeException(
"Not implemented" );
306 sal_Int16 nStartWith = 0;
313 sal_Int16 nStartWith =
static_cast<sal_Int16
>(_startat);
319 sal_Int32 nTabPosition = 0;
320 pListHelper->getPropertyValueWithNameAndLevel(
mnLevel,
"ListtabStopPosition" ) >>= nTabPosition;
322 return static_cast< float >( Millimeter::getInPoints( nTabPosition ) );
327 sal_Int32 nTabPosition = Millimeter::getInHundredthsOfOneMillimeter( _tabposition );
334 sal_Int32 nIndentAt = 0;
337 return static_cast< float >( Millimeter::getInPoints( nIndentAt ) );
342 sal_Int32 nIndentAt = 0;
343 sal_Int32 nFirstLineIndent = 0;
345 pListHelper->getPropertyValueWithNameAndLevel(
mnLevel,
"FirstLineIndent" ) >>= nFirstLineIndent;
347 sal_Int32 nAlignedAt = nIndentAt + nFirstLineIndent;
349 nIndentAt = Millimeter::getInHundredthsOfOneMillimeter( _textposition );
350 nFirstLineIndent = nAlignedAt - nIndentAt;
357 sal_Int16 nLabelFollowedBy= 0;
358 pListHelper->getPropertyValueWithNameAndLevel(
mnLevel,
"LabelFollowedBy" ) >>= nLabelFollowedBy;
360 return nLabelFollowedBy;
365 sal_Int16 nLabelFollowedBy =
static_cast<sal_Int16
>(_trailingcharacter);
372 return "SwVbaListLevel";
375 uno::Sequence< OUString >
380 "ooo.vba.word.ListLevel"
virtual void SAL_CALL setTextPosition(float _textposition) override
virtual ::sal_Int32 SAL_CALL getAlignment() override
virtual OUString SAL_CALL getLinkedStyle() override
virtual float SAL_CALL getTextPosition() override
virtual void SAL_CALL setTrailingCharacter(::sal_Int32 _trailingcharacter) override
virtual ~SwVbaListLevel() override
virtual float SAL_CALL getNumberPosition() override
Sequence< OUString > aServiceNames
virtual css::uno::Reference< ::ooo::vba::word::XFont > SAL_CALL getFont() override
virtual OUString getServiceImplName() override
virtual css::uno::Sequence< OUString > getServiceNames() override
virtual void SAL_CALL setNumberPosition(float _numberposition) override
virtual void SAL_CALL setNumberStyle(::sal_Int32 _numberstyle) override
virtual void SAL_CALL setNumberFormat(const OUString &_numberformat) override
SwVbaListLevel(const css::uno::Reference< ooo::vba::XHelperInterface > &rParent, const css::uno::Reference< css::uno::XComponentContext > &rContext, SwVbaListHelperRef const &pHelper, sal_Int32 nLevel)
virtual void SAL_CALL setResetOnHigher(::sal_Int32 _resetonhigher) override
virtual ::sal_Int32 SAL_CALL getResetOnHigher() override
virtual ::sal_Int32 SAL_CALL getIndex() override
virtual float SAL_CALL getTabPosition() override
virtual void SAL_CALL setFont(const css::uno::Reference< ::ooo::vba::word::XFont > &_font) override
virtual void SAL_CALL setTabPosition(float _tabposition) override
std::shared_ptr< SwVbaListHelper > SwVbaListHelperRef
virtual void SAL_CALL setStartAt(::sal_Int32 _startat) override
virtual ::sal_Int32 SAL_CALL getNumberStyle() override
virtual ::sal_Int32 SAL_CALL getStartAt() override
virtual ::sal_Int32 SAL_CALL getTrailingCharacter() override
virtual OUString SAL_CALL getNumberFormat() override
virtual void SAL_CALL setLinkedStyle(const OUString &_linkedstyle) override
virtual void SAL_CALL setAlignment(::sal_Int32 _alignment) override
SwVbaListHelperRef pListHelper