22#include <osl/file.hxx>
61#include <svx/svxids.hrc>
62#include <svx/strings.hrc>
67#define MAX_BMP_WIDTH 16
68#define MAX_BMP_HEIGHT 16
75 XATTR_LINETRANSPARENCE, XATTR_LINETRANSPARENCE,
76 SID_ATTR_LINE_STYLE, SID_ATTR_LINE_ENDCENTER
80 :
SfxTabPage(pPage, pController,
"cui/ui/linetabpage.ui",
"LineTabPage", &rInAttrs)
81 , m_pSymbolList(nullptr)
84 , m_bLastWidthModified(false)
85 , m_aSymbolLastSize(
Size(0,0))
87 , m_rOutAttrs(rInAttrs)
88 , m_bObjSelected(false)
89 , m_aXLineAttr(rInAttrs.GetPool())
91 , m_pnLineEndListState(nullptr)
92 , m_pnDashListState(nullptr)
93 , m_pnColorListState(nullptr)
96 , m_pPosDashLb(nullptr)
97 , m_pPosLineEndLb(nullptr)
98 , m_xBoxColor(m_xBuilder->weld_widget(
"boxCOLOR"))
99 , m_xLbLineStyle(new
SvxLineLB(m_xBuilder->weld_combo_box(
"LB_LINE_STYLE")))
100 , m_xLbColor(new
ColorListBox(m_xBuilder->weld_menu_button(
"LB_COLOR"),
102 , m_xBoxWidth(m_xBuilder->weld_widget(
"boxWIDTH"))
103 , m_xMtrLineWidth(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_WIDTH", FieldUnit::CM))
104 , m_xBoxTransparency(m_xBuilder->weld_widget(
"boxTRANSPARENCY"))
105 , m_xMtrTransparent(m_xBuilder->weld_metric_spin_button(
"MTR_LINE_TRANSPARENT", FieldUnit::PERCENT))
106 , m_xFlLineEnds(m_xBuilder->weld_widget(
"FL_LINE_ENDS"))
107 , m_xBoxArrowStyles(m_xBuilder->weld_widget(
"boxARROW_STYLES"))
108 , m_xLbStartStyle(
new SvxLineEndLB(m_xBuilder->weld_combo_box(
"LB_START_STYLE")))
109 , m_xBoxStart(m_xBuilder->weld_widget(
"boxSTART"))
110 , m_xMtrStartWidth(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_START_WIDTH", FieldUnit::CM))
111 , m_xTsbCenterStart(m_xBuilder->weld_check_button(
"TSB_CENTER_START"))
112 , m_xBoxEnd(m_xBuilder->weld_widget(
"boxEND"))
113 , m_xLbEndStyle(
new SvxLineEndLB(m_xBuilder->weld_combo_box(
"LB_END_STYLE")))
114 , m_xMtrEndWidth(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_END_WIDTH", FieldUnit::CM))
115 , m_xTsbCenterEnd(m_xBuilder->weld_check_button(
"TSB_CENTER_END"))
116 , m_xCbxSynchronize(m_xBuilder->weld_check_button(
"CBX_SYNCHRONIZE"))
117 , m_xCtlPreview(
new weld::CustomWeld(*m_xBuilder,
"CTL_PREVIEW", m_aCtlPreview))
118 , m_xFLEdgeStyle(m_xBuilder->weld_widget(
"FL_EDGE_STYLE"))
119 , m_xGridEdgeCaps(m_xBuilder->weld_widget(
"gridEDGE_CAPS"))
120 , m_xLBEdgeStyle(m_xBuilder->weld_combo_box(
"LB_EDGE_STYLE"))
121 , m_xLBCapStyle(m_xBuilder->weld_combo_box(
"LB_CAP_STYLE"))
122 , m_xFlSymbol(m_xBuilder->weld_widget(
"FL_SYMBOL_FORMAT"))
123 , m_xGridIconSize(m_xBuilder->weld_widget(
"gridICON_SIZE"))
124 , m_xSymbolMB(m_xBuilder->weld_menu_button(
"MB_SYMBOL_BITMAP"))
125 , m_xSymbolWidthMF(m_xBuilder->weld_metric_spin_button(
"MF_SYMBOL_WIDTH", FieldUnit::CM))
126 , m_xSymbolHeightMF(m_xBuilder->weld_metric_spin_button(
"MF_SYMBOL_HEIGHT", FieldUnit::CM))
127 , m_xSymbolRatioCB(m_xBuilder->weld_check_button(
"CB_SYMBOL_RATIO"))
130 SetExchangeSupport();
139 eFUnit = FieldUnit::MM;
142 m_xMtrLineWidth->set_increments(50, 500, FieldUnit::NONE);
143 m_xMtrStartWidth->set_increments(50, 500, FieldUnit::NONE);
144 m_xMtrEndWidth->set_increments(50, 500, FieldUnit::NONE);
147 case FieldUnit::INCH:
148 m_xMtrLineWidth->set_increments(2, 20, FieldUnit::NONE);
149 m_xMtrStartWidth->set_increments(2, 20, FieldUnit::NONE);
150 m_xMtrEndWidth->set_increments(2, 20, FieldUnit::NONE);
161 m_ePoolUnit = pPool->
GetMetric( SID_ATTR_LINE_WIDTH );
164 m_xLbColor->SetSelectHdl(
LINK(
this,
SvxLineTabPage, ChangePreviewListBoxHdl_Impl ) );
165 m_xMtrLineWidth->connect_value_changed(
LINK(
this,
SvxLineTabPage, ChangePreviewModifyHdl_Impl));
166 m_xMtrTransparent->connect_value_changed(
LINK(
this,
SvxLineTabPage, ChangeTransparentHdl_Impl));
168 m_xLbStartStyle->connect_changed(
LINK(
this,
SvxLineTabPage, ChangeStartListBoxHdl_Impl));
170 m_xMtrStartWidth->connect_value_changed(
LINK(
this,
SvxLineTabPage, ChangeStartModifyHdl_Impl));
171 m_xMtrEndWidth->connect_value_changed(
LINK(
this,
SvxLineTabPage, ChangeEndModifyHdl_Impl));
172 m_xTsbCenterStart->connect_toggled(
LINK(
this,
SvxLineTabPage, ChangeStartClickHdl_Impl));
176 m_xLBEdgeStyle->connect_changed(aEdgeStyle);
180 m_xLBCapStyle->connect_changed(aCapStyle);
189 m_xSymbolRatioCB->set_active(
true);
190 ShowSymbolControls(
false);
192 m_nActLineWidth = -1;
373 return DeactivateRC::LeavePage;
381 bool bModified =
false;
390 std::unique_ptr<XLineStyleItem> pStyleItem;
406 if ( !pOld || !( *
static_cast<const XLineDashItem*
>(pOld) == aDashItem ) )
408 rAttrs->
Put( aDashItem );
414 if ( !pOld || !( *
static_cast<const XLineStyleItem*
>(pOld) == *pStyleItem ) )
416 rAttrs->
Put( std::move(pStyleItem) );
427 if ( !pOld || !( *
static_cast<const XLineWidthItem*
>(pOld) == aItem ) )
429 rAttrs->
Put( aItem );
440 rAttrs->
Put( aItem );
451 rAttrs->
Put( aItem );
462 if ( !pOld || !( *
static_cast<const XLineColorItem*
>(pOld) == aItem ) )
464 rAttrs->
Put( aItem );
475 std::unique_ptr<XLineStartItem> pItem;
481 if( pItem && ( !pOld || *pOld != *pItem ) )
483 rAttrs->
Put( std::move(pItem) );
491 std::unique_ptr<XLineEndItem> pItem;
498 ( !pOld || !( *
static_cast<const XLineEndItem*
>(pOld) == *pItem ) ) )
500 rAttrs->
Put( std::move(pItem) );
514 rAttrs->
Put( aItem );
525 rAttrs->
Put( aItem );
538 rAttrs->
Put( aItem );
546 std::unique_ptr<XLineJointItem> pNew;
576 if(!pOld || !(*
static_cast<const XLineJointItem*
>(pOld) == *pNew))
578 rAttrs->
Put( std::move(pNew) );
588 std::unique_ptr<XLineCapItem> pNew;
594 pNew.reset(
new XLineCapItem(css::drawing::LineCap_BUTT));
599 pNew.reset(
new XLineCapItem(css::drawing::LineCap_ROUND));
604 pNew.reset(
new XLineCapItem(css::drawing::LineCap_SQUARE));
613 if(!pOld || !(*
static_cast<const XLineCapItem*
>(pOld) == *pNew))
615 rAttrs->
Put( std::move(pNew) );
635 bool bNewType = pTOld ==
nullptr || *
static_cast<const SfxInt32Item*
>(pTOld) != aTItem;
649 pBOld ==
nullptr || *
static_cast<const SvxBrushItem*
>(pBOld) != aBItem;
785 drawing::LineStyle eXLS;
791 bool bIgnoreGraphic=
false;
792 bool bIgnoreSize=
false;
795 nSymType = pSymbolTypeItem->GetValue();
810 else if(nSymType >= 0)
813 pVDev->SetMapMode(
MapMode(MapUnit::Map100thMM));
815 std::unique_ptr<SdrModel> pModel(
816 new SdrModel(
nullptr,
nullptr,
true));
817 pModel->GetItemPool().FreezeIdRanges();
819 pPage->SetSize(
Size(1000,1000));
820 pModel->InsertPage( pPage.get(), 0 );
822 SdrView aView( *pModel, pVDev );
825 size_t nSymTmp =
static_cast<size_t>(nSymType);
835 pObj = pObj->CloneSdrObject(*pModel);
846 pPage->NbcInsertObject(pObj.get());
853 pInvisibleSquare = pInvisibleSquare->CloneSdrObject(*pModel);
855 pPage->NbcInsertObject(pInvisibleSquare.get());
871 pPage->RemoveObject(1);
872 pInvisibleSquare.clear();
873 pPage->RemoveObject(0);
882 const Graphic* pGraphic = pBrushItem->GetGraphic();
920 case drawing::LineStyle_NONE:
923 case drawing::LineStyle_SOLID:
927 case drawing::LineStyle_DASH:
966 bool bSelected(
false);
974 if(rItemPolygon == rEntryPolygon)
998 bool bSelected(
false);
1006 if(rItemPolygon == rEntryPolygon)
1121 case css::drawing::LineJoint::LineJoint_MAKE_FIXED_SIZE:
1122 case css::drawing::LineJoint_ROUND :
m_xLBEdgeStyle->set_active(0);
break;
1123 case css::drawing::LineJoint_NONE :
m_xLBEdgeStyle->set_active(1);
break;
1124 case css::drawing::LineJoint_MIDDLE :
1125 case css::drawing::LineJoint_MITER :
m_xLBEdgeStyle->set_active(2);
break;
1126 case css::drawing::LineJoint_BEVEL :
m_xLBEdgeStyle->set_active(3);
break;
1141 const css::drawing::LineCap eLineCap(rAttrs->
Get(
XATTR_LINECAP).GetValue());
1145 case css::drawing::LineCap_ROUND:
m_xLBCapStyle->set_active(1);
break;
1146 case css::drawing::LineCap_SQUARE :
m_xLBCapStyle->set_active(2);
break;
1180 return std::make_unique<SvxLineTabPage>(pPage, pController, *rAttrs);
1185 ChangePreviewHdl_Impl(
nullptr);
1190 ChangePreviewHdl_Impl(&rEdit);
1203 sal_Int32 nStartLineWidth = 0;
1213 sal_Int32 nValNew = nValAct + (((nNewLineWidth -
m_nActLineWidth) * 15) / 10);
1245 m_xBoxStart->set_sensitive(bHasLineStart && bHasLineStyle);
1249 m_xBoxEnd->set_sensitive(bHasLineEnd && bHasLineStyle);
1254 if (m_xCbxSynchronize->get_active())
1255 m_xTsbCenterEnd->set_state(m_xTsbCenterStart->get_state());
1256 ChangePreviewHdl_Impl(
nullptr);
1261 if (m_xCbxSynchronize->get_active())
1262 m_xLbEndStyle->set_active(m_xLbStartStyle->get_active());
1264 ChangePreviewHdl_Impl(
nullptr);
1269 if (m_xCbxSynchronize->get_active())
1270 m_xMtrEndWidth->set_value(m_xMtrStartWidth->get_value(FieldUnit::NONE), FieldUnit::NONE);
1272 ChangePreviewHdl_Impl(
nullptr);
1277 ChangePreviewHdl_Impl(
nullptr );
1283 ChangePreviewHdl_Impl(
nullptr );
1288 ClickInvisibleHdl_Impl();
1313 css::drawing::DashStyle eStyle =
1315 if ( eStyle == drawing::DashStyle_RECT || eStyle == drawing::DashStyle_RECTRELATIVE)
1335 if (m_xCbxSynchronize->get_active())
1336 m_xTsbCenterStart->set_state(m_xTsbCenterEnd->get_state());
1338 ChangePreviewHdl_Impl(
nullptr);
1343 if (m_xCbxSynchronize->get_active())
1344 m_xLbStartStyle->set_active(m_xLbEndStyle->get_active());
1346 ChangePreviewHdl_Impl(
nullptr);
1351 if (m_xCbxSynchronize->get_active())
1352 m_xMtrStartWidth->set_value(m_xMtrEndWidth->get_value(FieldUnit::NONE), FieldUnit::NONE);
1354 ChangePreviewHdl_Impl(
nullptr);
1359 sal_uInt16 nVal = m_xMtrTransparent->get_value(FieldUnit::PERCENT);
1365 m_aCtlPreview.Invalidate();
1383 if (!m_xGalleryMenu)
1385 m_xGalleryMenu = m_xBuilder->weld_menu(
"gallerysubmenu");
1391 for (
auto const& grfName : m_aGrfNames)
1393 const OUString *pUIName = &grfName;
1396 OUString aPhysicalName;
1397 if (osl::FileBase::getSystemPathFromFileURL(grfName, aPhysicalName)
1398 == osl::FileBase::E_None)
1400 pUIName = &aPhysicalName;
1405 pInfo->
sItemId =
"gallery" + OUString::number(
i);
1406 m_aGalleryBrushItems.emplace_back(pInfo);
1416 double nScale = bWidth ?
1419 aBitmap.
Scale(nScale, nScale);
1423 pVD->DrawBitmapEx(
Point(), aBitmap);
1424 m_xGalleryMenu->append(pInfo->
sItemId, *pUIName, *pVD);
1428 m_xGalleryMenu->append(pInfo->
sItemId, *pUIName);
1433 if (m_aGrfNames.empty())
1434 m_xSymbolMB->set_item_sensitive(
"gallery",
false);
1437 if (m_xSymbolsMenu || !m_pSymbolList)
1440 m_xSymbolsMenu = m_xBuilder->weld_menu(
"symbolssubmenu");
1442 pVDev->SetMapMode(
MapMode(MapUnit::Map100thMM));
1443 std::unique_ptr<SdrModel> pModel(
1444 new SdrModel(
nullptr,
nullptr,
true));
1445 pModel->GetItemPool().FreezeIdRanges();
1448 pPage->SetSize(
Size(1000,1000));
1449 pModel->InsertPage( pPage.get(), 0 );
1452 SdrView aView( *pModel, pVDev );
1461 pInvisibleSquare = pInvisibleSquare->CloneSdrObject(*pModel);
1463 pPage->NbcInsertObject(pInvisibleSquare.get());
1467 for(
size_t i=0;
i < m_pSymbolList->GetObjCount(); ++
i)
1473 pObj = pObj->CloneSdrObject(*pModel);
1475 m_aGrfNames.emplace_back(
"");
1476 pPage->NbcInsertObject(pObj.get());
1479 pObj->SetMergedItemSet(*m_xSymbolAttr);
1483 pObj->SetMergedItemSet(m_rOutAttrs);
1489 pPage->RemoveObject(1);
1494 pInfo->
sItemId =
"symbol" + OUString::number(
i);
1495 m_aSymbolBrushItems.emplace_back(pInfo);
1501 double nScale = bWidth ?
1504 aBitmapEx.
Scale(nScale, nScale);
1507 pVD->DrawBitmapEx(
Point(), aBitmapEx);
1508 m_xSymbolsMenu->append(pInfo->
sItemId,
"", *pVD);
1510 pPage->RemoveObject(0);
1511 pInvisibleSquare.clear();
1513 if (m_aGrfNames.empty())
1514 m_xSymbolMB->set_item_sensitive(
"symbols",
false);
1522 const Graphic* pGraphic =
nullptr;
1524 bool bResetSize =
false;
1525 bool bEnable =
true;
1529 if (rIdent.startsWith(
"gallery", &sNumber))
1531 SvxBmpItemInfo* pInfo = m_aGalleryBrushItems[sNumber.toUInt32()].get();
1535 else if (rIdent.startsWith(
"symbol", &sNumber))
1537 m_nSymbolType = sNumber.toUInt32();
1538 SvxBmpItemInfo* pInfo = m_aSymbolBrushItems[m_nSymbolType].get();
1541 else if (rIdent ==
"automatic")
1543 pGraphic=&m_aAutoSymbolGraphic;
1547 else if (rIdent ==
"none")
1553 else if (rIdent ==
"file")
1564 pGraphic = &aGraphic;
1576 m_aSymbolGraphic=*pGraphic;
1579 m_aSymbolSize=aSize;
1583 if( m_aSymbolSize.Width() != m_aSymbolSize.Height() )
1585 aSize.
setWidth(
static_cast<tools::Long>( m_aSymbolSize.Width() + m_aSymbolSize.Height() )/2 );
1586 aSize.
setHeight(
static_cast<tools::Long>( m_aSymbolSize.Width() + m_aSymbolSize.Height() )/2 );
1587 m_aSymbolSize = aSize;
1590 m_aCtlPreview.SetSymbol(&m_aSymbolGraphic,m_aSymbolSize);
1595 m_aCtlPreview.SetSymbol(
nullptr,m_aSymbolSize);
1598 m_aSymbolLastSize=m_aSymbolSize;
1599 SetMetricValue(*m_xSymbolWidthMF, m_aSymbolSize.Width(), m_ePoolUnit);
1600 SetMetricValue(*m_xSymbolHeightMF, m_aSymbolSize.Height(), m_ePoolUnit);
1602 m_xGridIconSize->set_sensitive(bEnable);
1603 m_aCtlPreview.Invalidate();
1609 bool bWidth = &rField == m_xSymbolWidthMF.get();
1610 m_bLastWidthModified = bWidth;
1611 bool bRatio = m_xSymbolRatioCB->get_active();
1612 tools::Long nWidthVal =
static_cast<tools::Long>(m_xSymbolWidthMF->denormalize(m_xSymbolWidthMF->get_value(FieldUnit::MM_100TH)));
1613 tools::Long nHeightVal=
static_cast<tools::Long>(m_xSymbolHeightMF->denormalize(m_xSymbolHeightMF->get_value(FieldUnit::MM_100TH)));
1616 m_aSymbolSize =
Size(nWidthVal,nHeightVal);
1617 double fSizeRatio = double(1);
1621 if (m_aSymbolLastSize.Height() && m_aSymbolLastSize.Width())
1622 fSizeRatio =
static_cast<double>(m_aSymbolLastSize.Width()) / m_aSymbolLastSize.Height();
1627 tools::Long nDelta = nWidthVal - m_aSymbolLastSize.Width();
1628 m_aSymbolSize.setWidth( nWidthVal );
1631 m_aSymbolSize.setHeight( m_aSymbolLastSize.Height() +
static_cast<tools::Long>(
static_cast<double>(nDelta) / fSizeRatio) );
1634 m_xSymbolHeightMF->set_value(m_xSymbolHeightMF->normalize(m_aSymbolSize.Height()), FieldUnit::MM_100TH);
1639 tools::Long nDelta = nHeightVal - m_aSymbolLastSize.Height();
1640 m_aSymbolSize.setHeight( nHeightVal );
1643 m_aSymbolSize.setWidth( m_aSymbolLastSize.Width() +
static_cast<tools::Long>(
static_cast<double>(nDelta) * fSizeRatio) );
1646 m_xSymbolWidthMF->set_value(m_xSymbolWidthMF->normalize(m_aSymbolSize.Width()), FieldUnit::MM_100TH);
1649 m_aCtlPreview.ResizeSymbol(m_aSymbolSize);
1650 m_aSymbolLastSize=m_aSymbolSize;
1655 if (rBox.get_active())
1657 if (m_bLastWidthModified)
1658 SizeHdl_Impl(*m_xSymbolWidthMF);
1660 SizeHdl_Impl(*m_xSymbolHeightMF);
1676 if (pLineEndListItem)
1688 if (pSymbolAttrItem)
bool Scale(const Size &rNewSize, BmpScaleFlag nScaleFlag=BmpScaleFlag::Default)
const Size & GetSizePixel() const
sal_uInt16 GetValue() const
static bool FillObjList(std::u16string_view rThemeName, std::vector< OUString > &rObjList)
void SetPrefMapMode(const MapMode &rPrefMapMode)
BitmapEx GetBitmapEx(const GraphicConversionParameters &rParameters=GraphicConversionParameters()) const
MapMode GetPrefMapMode() const
void SetPrefSize(const Size &rPrefSize)
INetProtocol GetProtocol() const
bool Append(std::u16string_view rTheSegment, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
SAL_WARN_UNUSED_RESULT Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
GDIMetaFile GetMarkedObjMetaFile(bool bNoVDevIfOneMtfMarked=false) const
BitmapEx GetMarkedObjBitmapEx(bool bNoVDevIfOneBmpMarked=false, const sal_uInt32 nMaximumQuadraticPixels=500000, const std::optional< Size > &rTargetDPI=std::nullopt) const
SdrPageView * ShowSdrPage(SdrPage *pPage) override
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
SfxOkDialogController * GetDialogController() const
void SetUserData(const OUString &rString)
const OUString & GetUserData() const
const SfxPoolItem * GetOldItem(const SfxItemSet &rSet, sal_uInt16 nSlot, bool bDeep=true)
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
const XDashListRef & GetDashList() const
std::unique_ptr< weld::Widget > m_xFlLineEnds
std::unique_ptr< weld::Widget > m_xBoxColor
std::unique_ptr< weld::MetricSpinButton > m_xMtrTransparent
virtual ~SvxLineTabPage() override
std::unique_ptr< SvxLineEndLB > m_xLbStartStyle
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
std::unique_ptr< weld::MetricSpinButton > m_xMtrLineWidth
SvxXLinePreview m_aCtlPreview
std::unique_ptr< weld::MetricSpinButton > m_xMtrStartWidth
XLineEndListRef m_pLineEndList
std::unique_ptr< weld::MetricSpinButton > m_xSymbolWidthMF
std::unique_ptr< weld::ComboBox > m_xLBCapStyle
std::unique_ptr< weld::Widget > m_xFLEdgeStyle
void ChangePreviewHdl_Impl(const weld::MetricSpinButton *)
virtual void Reset(const SfxItemSet *) override
std::unique_ptr< weld::Widget > m_xGridEdgeCaps
std::unique_ptr< weld::Widget > m_xBoxEnd
std::unique_ptr< weld::Widget > m_xBoxTransparency
std::unique_ptr< ColorListBox > m_xLbColor
std::unique_ptr< weld::CheckButton > m_xTsbCenterEnd
XLineAttrSetItem m_aXLineAttr
std::unique_ptr< weld::ComboBox > m_xLBEdgeStyle
std::unique_ptr< SvxLineLB > m_xLbLineStyle
virtual void FillUserData() override
void ShowSymbolControls(bool bOn)
std::unique_ptr< weld::MetricSpinButton > m_xMtrEndWidth
std::unique_ptr< SfxItemSet > m_xSymbolAttr
attributes for the shown symbols; only necessary if not equal to line properties
std::unique_ptr< weld::Widget > m_xBoxArrowStyles
std::unique_ptr< weld::Widget > m_xGridIconSize
virtual void ActivatePage(const SfxItemSet &rSet) override
std::unique_ptr< weld::Widget > m_xFlSymbol
std::unique_ptr< weld::MetricSpinButton > m_xSymbolHeightMF
ChangeType * m_pnColorListState
std::unique_ptr< weld::Widget > m_xBoxStart
void SetPageType(PageType nInType)
virtual bool FillItemSet(SfxItemSet *) override
SdrObjList * m_pSymbolList
a list of symbols to be shown in menu.
std::unique_ptr< weld::CheckButton > m_xTsbCenterStart
void SetDlgType(sal_uInt16 nInType)
sal_Int32 m_nActLineWidth
void ClickInvisibleHdl_Impl()
SvxLineTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rInAttrs)
Graphic m_aAutoSymbolGraphic
a graphic to be displayed in the preview in case that an automatic symbol is chosen
std::vector< std::unique_ptr< SvxBmpItemInfo > > m_aGalleryBrushItems
void SetLineEndList(XLineEndListRef const &pLneEndLst)
std::unique_ptr< SvxLineEndLB > m_xLbEndStyle
std::vector< std::unique_ptr< SvxBmpItemInfo > > m_aSymbolBrushItems
virtual void PageCreated(const SfxAllItemSet &aSet) override
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
ChangeType * m_pnDashListState
void SetDashList(XDashListRef const &pDshLst)
const SfxItemSet & m_rOutAttrs
ChangeType * m_pnLineEndListState
std::unique_ptr< weld::CustomWeld > m_xCtlPreview
sal_Int32 * m_pPosLineEndLb
std::unique_ptr< weld::Widget > m_xBoxWidth
std::unique_ptr< weld::CheckButton > m_xCbxSynchronize
static const WhichRangesContainer pLineRanges
ErrCode GetGraphic(Graphic &) const
void SetSymbol(Graphic *p, const Size &s)
void SetLineAttributes(const SfxItemSet &rItemSet)
const basegfx::B2DPolyPolygon & GetLineEnd() const
OUString CuiResId(TranslateId aKey)
#define DBG_ASSERT(sCon, aError)
SVXCORE_DLLPUBLIC OUString SvxResId(TranslateId aId)
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
virtual tools::Long GetValue() const override
SVXCORE_DLLPUBLIC FieldUnit GetModuleFieldUnit(const SfxItemSet &)
#define GALLERY_THEME_BULLETS
#define LINK(Instance, Class, Member)
static constexpr auto Items
std::unique_ptr< SvxBrushItem > pBrushItem
#define SVX_SYMBOLTYPE_BRUSHITEM
#define SVX_SYMBOLTYPE_NONE
#define SVX_SYMBOLTYPE_UNKNOWN
#define SVX_SYMBOLTYPE_AUTO
IMPL_LINK(SvxLineTabPage, ChangePreviewModifyHdl_Impl, weld::MetricSpinButton &, rEdit, void)
IMPL_LINK_NOARG(SvxLineTabPage, ChangePreviewListBoxHdl_Impl, ColorListBox &, void)
SVT_DLLPUBLIC sal_Int64 GetCoreValue(const weld::MetricSpinButton &rField, MapUnit eUnit)
SVT_DLLPUBLIC void SetMetricValue(weld::MetricSpinButton &rField, sal_Int64 nCoreValue, MapUnit eUnit)
SVT_DLLPUBLIC void SetFieldUnit(weld::MetricSpinButton &rCtrl, FieldUnit eUnit, bool bAll=false)
constexpr OUStringLiteral sNone
constexpr TypedWhichId< XLineJointItem > XATTR_LINEJOINT(XATTR_LINE_FIRST+11)
constexpr TypedWhichId< XLineColorItem > XATTR_LINECOLOR(XATTR_LINE_FIRST+3)
constexpr TypedWhichId< XLineStartWidthItem > XATTR_LINESTARTWIDTH(XATTR_LINE_FIRST+6)
constexpr TypedWhichId< XLineCapItem > XATTR_LINECAP(XATTR_LINE_FIRST+12)
constexpr TypedWhichId< XLineDashItem > XATTR_LINEDASH(XATTR_LINE_FIRST+1)
constexpr TypedWhichId< XLineWidthItem > XATTR_LINEWIDTH(XATTR_LINE_FIRST+2)
constexpr TypedWhichId< XLineEndItem > XATTR_LINEEND(XATTR_LINE_FIRST+5)
constexpr TypedWhichId< XLineStartItem > XATTR_LINESTART(XATTR_LINE_FIRST+4)
constexpr TypedWhichId< XLineEndCenterItem > XATTR_LINEENDCENTER(XATTR_LINE_FIRST+9)
constexpr TypedWhichId< XLineStartCenterItem > XATTR_LINESTARTCENTER(XATTR_LINE_FIRST+8)
constexpr TypedWhichId< XLineStyleItem > XATTR_LINESTYLE(XATTR_LINE_FIRST)
constexpr TypedWhichId< XLineEndWidthItem > XATTR_LINEENDWIDTH(XATTR_LINE_FIRST+7)
constexpr TypedWhichId< XLineTransparenceItem > XATTR_LINETRANSPARENCE(XATTR_LINE_FIRST+10)