LibreOffice Module svx (master)  1
svxbmpnumvalueset.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #include <sal/config.h>
21 
22 #include <svx/dialmgr.hxx>
23 #include <svx/strings.hrc>
24 #include <tools/diagnose_ex.h>
25 #include <i18nlangtag/mslangid.hxx>
26 #include <svtools/valueset.hxx>
27 #include <editeng/numitem.hxx>
28 #include <svx/gallery.hxx>
29 #include <vcl/event.hxx>
30 #include <vcl/graph.hxx>
31 #include <vcl/virdev.hxx>
32 #include <svx/numvset.hxx>
33 #include <com/sun/star/style/NumberingType.hpp>
34 #include <com/sun/star/container/XIndexAccess.hpp>
35 #include <com/sun/star/text/XNumberingFormatter.hpp>
36 #include <com/sun/star/beans/PropertyValue.hpp>
37 
38 #include <algorithm>
39 
40 #include <uiobject.hxx>
41 
42 using namespace com::sun::star::uno;
43 using namespace com::sun::star::beans;
44 using namespace com::sun::star::lang;
45 using namespace com::sun::star::text;
46 using namespace com::sun::star::container;
47 using namespace com::sun::star::style;
48 
49 
50 // The selection of bullets from the star symbol
52 {
53  0x2022,
54  0x25cf,
55  0xe00c,
56  0xe00a,
57  0x2794,
58  0x27a2,
59  0x2717,
60  0x2714
61 };
62 
64 {
65  static vcl::Font aDefBulletFont = [&]()
66  {
67  static vcl::Font tmp("OpenSymbol", "", Size(0, 14));
68  tmp.SetCharSet( RTL_TEXTENCODING_SYMBOL );
70  tmp.SetPitch( PITCH_DONTKNOW );
72  tmp.SetTransparent( true );
73  return tmp;
74  }();
75  return aDefBulletFont;
76 }
77 
78 static void lcl_PaintLevel(OutputDevice* pVDev, sal_Int16 nNumberingType,
79  const OUString& rBulletChar, const OUString& rText, const OUString& rFontName,
80  Point& rLeft, vcl::Font& rRuleFont, const vcl::Font& rTextFont)
81 {
82 
83  if(NumberingType::CHAR_SPECIAL == nNumberingType )
84  {
85  rRuleFont.SetStyleName(rFontName);
86  pVDev->SetFont(rRuleFont);
87  pVDev->DrawText(rLeft, rBulletChar);
88  rLeft.AdjustX(pVDev->GetTextWidth(rBulletChar) );
89  }
90  else
91  {
92  pVDev->SetFont(rTextFont);
93  pVDev->DrawText(rLeft, rText);
94  rLeft.AdjustX(pVDev->GetTextWidth(rText) );
95  }
96 }
97 
98 static const char* RID_SVXSTR_BULLET_DESCRIPTIONS[] =
99 {
100  RID_SVXSTR_BULLET_DESCRIPTION_0,
101  RID_SVXSTR_BULLET_DESCRIPTION_1,
102  RID_SVXSTR_BULLET_DESCRIPTION_2,
103  RID_SVXSTR_BULLET_DESCRIPTION_3,
104  RID_SVXSTR_BULLET_DESCRIPTION_4,
105  RID_SVXSTR_BULLET_DESCRIPTION_5,
106  RID_SVXSTR_BULLET_DESCRIPTION_6,
107  RID_SVXSTR_BULLET_DESCRIPTION_7
108 };
109 
110 static const char* RID_SVXSTR_SINGLENUM_DESCRIPTIONS[] =
111 {
112  RID_SVXSTR_SINGLENUM_DESCRIPTION_0,
113  RID_SVXSTR_SINGLENUM_DESCRIPTION_1,
114  RID_SVXSTR_SINGLENUM_DESCRIPTION_2,
115  RID_SVXSTR_SINGLENUM_DESCRIPTION_3,
116  RID_SVXSTR_SINGLENUM_DESCRIPTION_4,
117  RID_SVXSTR_SINGLENUM_DESCRIPTION_5,
118  RID_SVXSTR_SINGLENUM_DESCRIPTION_6,
119  RID_SVXSTR_SINGLENUM_DESCRIPTION_7
120 };
121 
123 {
124  RID_SVXSTR_OUTLINENUM_DESCRIPTION_0,
125  RID_SVXSTR_OUTLINENUM_DESCRIPTION_1,
126  RID_SVXSTR_OUTLINENUM_DESCRIPTION_2,
127  RID_SVXSTR_OUTLINENUM_DESCRIPTION_3,
128  RID_SVXSTR_OUTLINENUM_DESCRIPTION_4,
129  RID_SVXSTR_OUTLINENUM_DESCRIPTION_5,
130  RID_SVXSTR_OUTLINENUM_DESCRIPTION_6,
131  RID_SVXSTR_OUTLINENUM_DESCRIPTION_7
132 };
133 
135 {
136  static const sal_uInt16 aLinesArr[] =
137  {
138  15, 10,
139  20, 30,
140  25, 50,
141  30, 70,
142  35, 90, // up to here line positions
143  5, 10, // character positions
144  10, 30,
145  15, 50,
146  20, 70,
147  25, 90,
148  };
149 
150  const Color aBackColor(COL_WHITE);
151  const Color aTextColor(COL_BLACK);
152 
153  vcl::RenderContext* pDev = rUDEvt.GetRenderContext();
154  tools::Rectangle aRect = rUDEvt.GetRect();
155  sal_uInt16 nItemId = rUDEvt.GetItemId();
156 
157  long nRectWidth = aRect.GetWidth();
158  long nRectHeight = aRect.GetHeight();
159  Size aRectSize(nRectWidth, aRect.GetHeight());
160  Point aBLPos = aRect.TopLeft();
161  vcl::Font aOldFont = pDev->GetFont();
162  Color aOldColor = pDev->GetLineColor();
163  pDev->SetLineColor(aTextColor);
165  DefaultFontType::UI_SANS, MsLangId::getSystemLanguage(), GetDefaultFontFlags::OnlyOne));
166 
167  Size aSize = aFont.GetFontSize();
168 
169  vcl::Font aRuleFont( lcl_GetDefaultBulletFont() );
170  aSize.setHeight( nRectHeight/6 );
171  aRuleFont.SetFontSize(aSize);
172  aRuleFont.SetColor(aTextColor);
173  aRuleFont.SetFillColor(aBackColor);
174  if(ePageType == NumberingPageType::BULLET)
175  aFont = aRuleFont;
176  else if(ePageType == NumberingPageType::OUTLINE)
177  {
178  aSize.setHeight( nRectHeight/8 );
179  }
180  aFont.SetColor(aTextColor);
181  aFont.SetFillColor(aBackColor);
182  aFont.SetFontSize( aSize );
183  pDev->SetFont(aFont);
184 
185  if(!pVDev)
186  {
187  // The lines are only one time in the virtual device, only the outline
188  // page is currently done
189  pVDev = VclPtr<VirtualDevice>::Create(*pDev);
190  pVDev->SetMapMode(pDev->GetMapMode());
191  pVDev->EnableRTL( IsRTLEnabled() );
192  pVDev->SetOutputSize( aRectSize );
193  aOrgRect = aRect;
194  pVDev->SetFillColor( aBackColor );
195  pVDev->SetLineColor(COL_LIGHTGRAY);
196  // Draw line only once
197  if(ePageType != NumberingPageType::OUTLINE)
198  {
199  Point aStart(aBLPos.X() + nRectWidth *25 / 100,0);
200  Point aEnd(aBLPos.X() + nRectWidth * 9 / 10,0);
201  for( sal_uInt16 i = 11; i < 100; i += 33)
202  {
203  aStart.setY( aBLPos.Y() + nRectHeight * i / 100 );
204  aEnd.setY( aStart.Y() );
205  pVDev->DrawLine(aStart, aEnd);
206  aStart.setY( aBLPos.Y() + nRectHeight * (i + 11) / 100 );
207  aEnd.setY( aStart.Y() );
208  pVDev->DrawLine(aStart, aEnd);
209  }
210  }
211  }
212  pDev->DrawOutDev( aRect.TopLeft(), aRectSize,
213  aOrgRect.TopLeft(), aRectSize,
214  *pVDev );
215  // Now comes the text
216  const OUString sValue("Value");
217  if( NumberingPageType::SINGLENUM == ePageType ||
218  NumberingPageType::BULLET == ePageType )
219  {
220  Point aStart(aBLPos.X() + nRectWidth / 9,0);
221  for( sal_uInt16 i = 0; i < 3; i++ )
222  {
223  sal_uInt16 nY = 11 + i * 33;
224  aStart.setY( aBLPos.Y() + nRectHeight * nY / 100 );
225  OUString sText;
226  if(ePageType == NumberingPageType::BULLET)
227  {
228  sText = OUString( aBulletTypes[nItemId - 1] );
229  aStart.AdjustY( -(pDev->GetTextHeight()/2) );
230  aStart.setX( aBLPos.X() + 5 );
231  }
232  else
233  {
234  if(xFormatter.is() && aNumSettings.getLength() > nItemId - 1)
235  {
236  Sequence<PropertyValue> aLevel = aNumSettings.getConstArray()[nItemId - 1];
237  try
238  {
239  aLevel.realloc(aLevel.getLength() + 1);
240  PropertyValue& rValue = aLevel.getArray()[aLevel.getLength() - 1];
241  rValue.Name = sValue;
242  rValue.Value <<= static_cast<sal_Int32>(i + 1);
243  sText = xFormatter->makeNumberingString( aLevel, aLocale );
244  }
245  catch(Exception&)
246  {
247  TOOLS_WARN_EXCEPTION("svx.dialog", "");
248  }
249  }
250  // start just next to the left edge
251  aStart.setX( aBLPos.X() + 2 );
252  aStart.AdjustY( -(pDev->GetTextHeight()/2) );
253  }
254  pDev->DrawText(aStart, sText);
255  }
256  }
257  else if(NumberingPageType::OUTLINE == ePageType )
258  {
259  // Outline numbering has to be painted into the virtual device
260  // to get correct lines
261  // has to be made again
262  pVDev->SetLineColor(aBackColor);
263  pVDev->DrawRect(aOrgRect);
264  long nStartX = aOrgRect.TopLeft().X();
265  long nStartY = aOrgRect.TopLeft().Y();
266 
267  if(xFormatter.is() && aOutlineSettings.getLength() > nItemId - 1)
268  {
269  Reference<XIndexAccess> xLevel = aOutlineSettings.getArray()[nItemId - 1];
270  try
271  {
272  OUString sLevelTexts[5];
273  OUString sFontNames[5];
274  OUString sBulletChars[5];
275  sal_Int16 aNumberingTypes[5];
276  OUString sPrefixes[5];
277  OUString sSuffixes[5];
278  sal_Int16 aParentNumberings[5];
279 
280  sal_Int32 nLevelCount = xLevel->getCount();
281  if(nLevelCount > 5)
282  nLevelCount = 5;
283  for( sal_Int32 i = 0; i < nLevelCount; i++)
284  {
285  long nTop = nStartY + nRectHeight * (aLinesArr[2 * i + 11])/100 ;
286  Point aLeft(nStartX + nRectWidth * (aLinesArr[2 * i + 10])/ 100, nTop );
287 
288  Any aLevelAny = xLevel->getByIndex(i);
290  aLevelAny >>= aLevel;
291  aNumberingTypes[i] = 0;
292  aParentNumberings[i] = 0;
293  for(const PropertyValue& rProp : std::as_const(aLevel))
294  {
295  if ( rProp.Name == "NumberingType" )
296  rProp.Value >>= aNumberingTypes[i];
297  else if ( rProp.Name == "BulletFontName" )
298  rProp.Value >>= sFontNames[i];
299  else if ( rProp.Name == "BulletChar" )
300  rProp.Value >>= sBulletChars[i];
301  else if ( rProp.Name == "Prefix" )
302  rProp.Value >>= sPrefixes[i];
303  else if ( rProp.Name == "Suffix" )
304  rProp.Value >>= sSuffixes[i];
305  else if ( rProp.Name == "ParentNumbering" )
306  rProp.Value >>= aParentNumberings[i];
307  }
309  PropertyValue* pProperties = aProperties.getArray();
310  pProperties[0].Name = "NumberingType";
311  pProperties[0].Value <<= aNumberingTypes[i];
312  pProperties[1].Name = "Value";
313  pProperties[1].Value <<= sal_Int32(1);
314  try
315  {
316  sLevelTexts[i] = xFormatter->makeNumberingString( aProperties, aLocale );
317  }
318  catch(Exception&)
319  {
320  TOOLS_WARN_EXCEPTION("svx.dialog", "");
321  }
322 
323  aLeft.AdjustY( -(pDev->GetTextHeight()/2) );
324  if(!sPrefixes[i].isEmpty() &&
325  sPrefixes[i] != " ")
326  {
327  pVDev->SetFont(aFont);
328  pVDev->DrawText(aLeft, sPrefixes[i]);
329  aLeft.AdjustX(pDev->GetTextWidth(sPrefixes[i]) );
330  }
331  if(aParentNumberings[i])
332  {
333  //insert old numberings here
334  sal_Int32 nStartLevel = std::min(static_cast<sal_Int32>(aParentNumberings[i]), i);
335  for(sal_Int32 nParentLevel = i - nStartLevel; nParentLevel < i; nParentLevel++)
336  {
337  OUString sTmp = sLevelTexts[nParentLevel] + ".";
338  lcl_PaintLevel(pVDev,
339  aNumberingTypes[nParentLevel],
340  sBulletChars[nParentLevel],
341  sTmp,
342  sFontNames[nParentLevel],
343  aLeft,
344  aRuleFont,
345  aFont);
346  }
347  }
348  lcl_PaintLevel(pVDev,
349  aNumberingTypes[i],
350  sBulletChars[i],
351  sLevelTexts[i],
352  sFontNames[i],
353  aLeft,
354  aRuleFont,
355  aFont);
356  if(!sSuffixes[i].isEmpty() &&
357  !sSuffixes[i].startsWith(" "))
358  {
359  pVDev->SetFont(aFont);
360  pVDev->DrawText(aLeft, sSuffixes[i]);
361  aLeft.AdjustX(pDev->GetTextWidth(sSuffixes[i]) );
362  }
363 
364  long nLineTop = nStartY + nRectHeight * aLinesArr[2 * i + 1]/100 ;
365  Point aLineLeft(aLeft.X(), nLineTop );
366  Point aLineRight(nStartX + nRectWidth * 90 /100, nLineTop );
367  pVDev->SetLineColor(COL_LIGHTGRAY);
368  pVDev->DrawLine(aLineLeft, aLineRight);
369  }
370 
371  }
372 #ifdef DBG_UTIL
373  catch(Exception&)
374  {
375  static bool bAssert = false;
376  if(!bAssert)
377  {
378  TOOLS_WARN_EXCEPTION("svx.dialog", "");
379  bAssert = true;
380  }
381  }
382 #else
383  catch(Exception&)
384  {
385  }
386 #endif
387  }
388  pDev->DrawOutDev( aRect.TopLeft(), aRectSize,
389  aOrgRect.TopLeft(), aRectSize,
390  *pVDev );
391  }
392 
393  pDev->SetFont(aOldFont);
394  pDev->SetLineColor(aOldColor);
395 }
396 
397 SvxNumValueSet::SvxNumValueSet(std::unique_ptr<weld::ScrolledWindow> pScrolledWindow)
398  : ValueSet(std::move(pScrolledWindow))
399  , ePageType(NumberingPageType::BULLET)
400  , pVDev(nullptr)
401 {
402 }
403 
405 {
407 }
408 
410 {
411  ePageType = eType;
412  pVDev = nullptr;
413 
414  SetColCount( 4 );
415  SetLineCount( 2 );
417  if(NumberingPageType::BULLET == eType)
418  {
419  for ( sal_uInt16 i = 0; i < 8; i++ )
420  {
421  InsertItem( i + 1, i );
423  }
424  }
425 }
426 
428 {
429 }
430 
432  const Sequence<Sequence<PropertyValue> >& aNum,
433  Reference<XNumberingFormatter> const & xFormat,
434  const Locale& rLocale )
435 {
436  aNumSettings = aNum;
437  xFormatter = xFormat;
438  aLocale = rLocale;
439  if(aNum.getLength() > 8)
441  for ( sal_Int32 i = 0; i < aNum.getLength(); i++ )
442  {
443  InsertItem( i + 1, i );
444  if( i < 8 )
446  }
447 }
448 
450  Sequence<Reference<XIndexAccess> > const & rOutline,
451  Reference<XNumberingFormatter> const & xFormat,
452  const Locale& rLocale)
453 {
454  aOutlineSettings = rOutline;
455  xFormatter = xFormat;
456  aLocale = rLocale;
457  if(aOutlineSettings.getLength() > 8)
459  for ( sal_Int32 i = 0; i < aOutlineSettings.getLength(); i++ )
460  {
461  InsertItem( i + 1, i );
462  if( i < 8 )
464  }
465 }
466 
467 SvxBmpNumValueSet::SvxBmpNumValueSet(std::unique_ptr<weld::ScrolledWindow> pScrolledWindow)
468  : SvxNumValueSet(std::move(pScrolledWindow))
469  , aFormatIdle("SvxBmpNumValueSet FormatIdle")
470  , bGrfNotFound(false)
471 {
472 }
473 
475 {
477  bGrfNotFound = false;
480  SetLineCount( 3 );
481  aFormatIdle.SetPriority(TaskPriority::LOWEST);
482  aFormatIdle.SetInvokeHandler(LINK(this, SvxBmpNumValueSet, FormatHdl_Impl));
483 }
484 
485 
487 {
489  aFormatIdle.Stop();
490 }
491 
493 {
494  SvxNumValueSet::UserDraw(rUDEvt);
495 
496  tools::Rectangle aRect = rUDEvt.GetRect();
497  vcl::RenderContext* pDev = rUDEvt.GetRenderContext();
498  sal_uInt16 nItemId = rUDEvt.GetItemId();
499  Point aBLPos = aRect.TopLeft();
500 
501  long nRectHeight = aRect.GetHeight();
502  Size aSize(nRectHeight/8, nRectHeight/8);
503 
504  Graphic aGraphic;
506  &aGraphic))
507  {
508  bGrfNotFound = true;
509  }
510  else
511  {
512  Point aPos(aBLPos.X() + 5, 0);
513  for( sal_uInt16 i = 0; i < 3; i++ )
514  {
515  sal_uInt16 nY = 11 + i * 33;
516  aPos.setY( aBLPos.Y() + nRectHeight * nY / 100 );
517  aGraphic.Draw( pDev, aPos, aSize );
518  }
519  }
520 }
521 
522 IMPL_LINK_NOARG(SvxBmpNumValueSet, FormatHdl_Impl, Timer *, void)
523 {
524  // only when a graphics was not there, it needs to be formatted
525  if (bGrfNotFound)
526  {
527  SetFormat();
528  bGrfNotFound = false;
529  }
530  Invalidate();
531 }
532 
533 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void SetFamily(FontFamily)
Point TopLeft() const
void DrawText(const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, MetricVector *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
css::uno::Reference< css::text::XNumberingFormatter > xFormatter
Definition: numvset.hxx:55
void SetFillColor(const Color &)
long GetWidth() const
static vcl::Font GetDefaultFont(DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
void SetFontSize(const Size &)
long GetHeight() const
const tools::Rectangle & GetRect() const
static void lcl_PaintLevel(OutputDevice *pVDev, sal_Int16 nNumberingType, const OUString &rBulletChar, const OUString &rText, const OUString &rFontName, Point &rLeft, vcl::Font &rRuleFont, const vcl::Font &rTextFont)
IMPL_LINK_NOARG(SvxBmpNumValueSet, FormatHdl_Impl, Timer *, void)
FAMILY_DONTKNOW
virtual ~SvxNumValueSet() override
std::function< std::unique_ptr< UIObject >vcl::Window *)> FactoryFunction
virtual ~SvxBmpNumValueSet() override
void SetWeight(FontWeight)
static bool BeginLocking(const OUString &rThemeName)
Definition: galexpl.cxx:236
const MapMode & GetMapMode() const
void SetCharSet(rtl_TextEncoding)
WinBits const WB_VSCROLL
constexpr::Color COL_LIGHTGRAY(0xC0, 0xC0, 0xC0)
static bool EndLocking(const OUString &rThemeName)
Definition: galexpl.cxx:261
VclPtr< VirtualDevice > pVDev
Definition: numvset.hxx:53
static const char * RID_SVXSTR_BULLET_DESCRIPTIONS[]
void SetStyle(WinBits nStyle)
void SetLineCount(sal_uInt16 nNewLines=0)
css::lang::Locale aLocale
Definition: numvset.hxx:56
css::uno::Any const & rValue
sal_uInt16 sal_Unicode
PropertiesInfo aProperties
OUString SvxResId(const char *pId)
Definition: dialmgr.cxx:28
static const char * RID_SVXSTR_SINGLENUM_DESCRIPTIONS[]
const vcl::Font & GetFont() const
#define WB_ITEMBORDER
static vcl::Font & lcl_GetDefaultBulletFont()
css::uno::Sequence< css::uno::Reference< css::container::XIndexAccess > > aOutlineSettings
Definition: numvset.hxx:64
void init(NumberingPageType eType)
virtual FactoryFunction GetUITestFactory() const override
WinBits GetStyle() const
void SetPitch(FontPitch ePitch)
DocumentType eType
NumberingPageType
Definition: numvset.hxx:41
WEIGHT_DONTKNOW
static LanguageType getSystemLanguage()
void SetLineColor()
#define TOOLS_WARN_EXCEPTION(area, stream)
vcl::RenderContext * GetRenderContext() const
void Draw(OutputDevice *pOutDev, const Point &rDestPt) const
int i
virtual void UserDraw(const UserDrawEvent &rUDEvt) override
static bool GetGraphicObj(const OUString &rThemeName, sal_uInt32 nPos, Graphic *pGraphic)
Definition: galexpl.cxx:135
SvxNumValueSet(std::unique_ptr< weld::ScrolledWindow > pScrolledWindow)
const Color & GetLineColor() const
void InsertItem(sal_uInt16 nItemId, const Image &rImage)
const Size & GetFontSize() const
PITCH_DONTKNOW
const sal_Unicode aBulletTypes[]
void SetItemText(sal_uInt16 nItemId, const OUString &rStr)
long GetTextHeight() const
void SetColor(const Color &)
sal_uInt16 GetItemId() const
static const char * RID_SVXSTR_OUTLINENUM_DESCRIPTIONS[]
NumberingPageType ePageType
Definition: numvset.hxx:51
SvxBmpNumValueSet(std::unique_ptr< weld::ScrolledWindow > pScrolledWindow)
void SetStyleName(const OUString &rStyleName)
void Stop()
void SetFont(const vcl::Font &rNewFont)
void SetTransparent(bool bTransparent)
void SetColCount(sal_uInt16 nNewCols=1)
static std::unique_ptr< UIObject > create(vcl::Window *pWindow)
Definition: uiobject.cxx:85
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_WHITE
static VclPtr< reference_type > Create(Arg &&...arg)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
void SetInvokeHandler(const Link< Timer *, void > &rLink)
long GetTextWidth(const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
virtual void UserDraw(const UserDrawEvent &rUDEvt) override
void SetOutlineNumberingSettings(css::uno::Sequence< css::uno::Reference< css::container::XIndexAccess > > const &rOutline, css::uno::Reference< css::text::XNumberingFormatter > const &xFormatter, const css::lang::Locale &rLocale)
#define WB_DOUBLEBORDER
void SetPriority(TaskPriority ePriority)
css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > aNumSettings
Definition: numvset.hxx:60
void SetNumberingSettings(const css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > &aNum, css::uno::Reference< css::text::XNumberingFormatter > const &xFormatter, const css::lang::Locale &rLocale)
SAL_DLLPRIVATE void DrawOutDev(const Point &, const Size &, const Point &, const Size &, const Printer &)=delete
void SetFormat(LotusContext &rContext, SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt8 nFormat, sal_uInt8 nSt)
void setHeight(long nHeight)