31#include <svx/dialogs.hrc>
65 sal_uInt16 nResult = pDlg->Execute();
74 for (
auto pObj : vMarkedObjs)
80 rReq.
Done(*(pDlg->GetOutputItemSet()));
93 aNewAttr, pView, RID_SVXPAGE_MEASURE));
94 if (pDlg->Execute() ==
RET_OK)
106 case SID_ATTRIBUTES_AREA:
117 pDlg->StartExecuteAsync([bChanged, bHasMarked, &rModel, pDlg, pSh, pView,
this](
130 static sal_uInt16 aInval[] =
134 SID_ATTR_FILL_TRANSPARENCE,
135 SID_ATTR_FILL_FLOATTRANSPARENCE,
140 rBnd.Update(SID_ATTR_FILL_STYLE);
141 rBnd.Update(SID_ATTR_FILL_COLOR);
142 rBnd.Update(SID_ATTR_FILL_TRANSPARENCE);
143 rBnd.Update(SID_ATTR_FILL_FLOATTRANSPARENCE);
156 case SID_ATTRIBUTES_LINE:
172 pDlg->StartExecuteAsync([bChanged, bHasMarked, &rModel, pDlg, pSh, pView,
this](
185 static sal_uInt16 aInval[] =
193 SID_ATTR_LINE_TRANSPARENCE,
224 void lcl_convertStringArguments(
const std::unique_ptr<SfxItemSet>& pArgs)
226 if (
const SvxDoubleItem* pWidthItem = pArgs->GetItemIfSet(SID_ATTR_LINE_WIDTH_ARG,
false))
228 double fValue = pWidthItem->GetValue();
231 int nValue = fValue * nPow;
236 if (
const SfxStringItem* pJSON = pArgs->GetItemIfSet(SID_FILL_GRADIENT_JSON,
false))
259 std::unique_ptr<SfxItemSet> pNewArgs = pArgs->
Clone();
260 lcl_convertStringArguments(pNewArgs);
271 case SID_ATTR_FILL_STYLE:
272 case SID_ATTR_FILL_COLOR:
273 case SID_ATTR_FILL_GRADIENT:
274 case SID_ATTR_FILL_HATCH:
275 case SID_ATTR_FILL_BITMAP:
276 case SID_ATTR_FILL_TRANSPARENCE:
277 case SID_ATTR_FILL_FLOATTRANSPARENCE:
278 pDis->
Execute(SID_ATTRIBUTES_AREA);
280 case SID_ATTR_LINE_STYLE:
281 case SID_ATTR_LINE_DASH:
282 case SID_ATTR_LINE_WIDTH:
283 case SID_ATTR_LINE_COLOR:
284 case SID_ATTR_LINE_TRANSPARENCE:
285 case SID_ATTR_LINE_JOINT:
286 case SID_ATTR_LINE_CAP:
287 pDis->
Execute(SID_ATTRIBUTES_LINE);
313 if (!pFillFloatTranspItem || pFillFloatTranspItem->
IsEnabled())
319 if (!pFillTranspItem)
323 sal_uInt16 nTranspPercent = pFillTranspItem->GetValue();
325 sal_uInt16 nIntensity = 100 - std::min<sal_uInt16>
326 (std::max<sal_uInt16>(nTranspPercent, 0), 100);
347 >= SfxItemState::DEFAULT
350 aSet.
Put(pItem->CloneSetWhich(SID_ATTR_TEXTCOLUMNS_NUMBER));
354 >= SfxItemState::DEFAULT
357 aSet.
Put(pItem->CloneSetWhich(SID_ATTR_TEXTCOLUMNS_SPACING));
void SetAttrToMarked(const SfxItemSet &rAttr, bool bReplaceAll)
::std::vector< SdrObject * > GetMarkedObjects() const
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
const SdrMarkList & GetMarkedObjectList() const
bool AreObjectsMarked() const
SdrObject * GetMarkedSdrObj() const
virtual void SetChanged(bool bFlg=true)
const SfxItemPool & GetItemPool() const
const SfxItemSet & GetDefaultAttr() const
void SetDefaultAttr(const SfxItemSet &rAttr, bool bReplaceAll)
SdrModel & GetModel() const
bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll=false)
void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr=false) const
void Invalidate(sal_uInt16 nId)
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
virtual std::unique_ptr< SfxItemSet > Clone(bool bItems=true, SfxItemPool *pToPool=nullptr) 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)
void MergeRange(sal_uInt16 nFrom, sal_uInt16 nTo)
sal_uInt16 GetSlot() const
const SfxItemSet * GetArgs() const
weld::Window * GetFrameWeld() const
void Done(bool bRemove=false)
virtual void Invalidate(sal_uInt16 nId=0)
SfxDispatcher * GetDispatcher()
SfxViewFrame & GetViewFrame() const
virtual VclPtr< AbstractSvxAreaTabDialog > CreateSvxAreaTabDialog(weld::Window *pParent, const SfxItemSet *pAttr, SdrModel *pModel, bool bShadow, bool bSlideBackground)=0
virtual VclPtr< SfxAbstractTabDialog > CreateTextTabDialog(weld::Window *pParent, const SfxItemSet *pAttrSet, SdrView *pView)=0
virtual VclPtr< SfxAbstractDialog > CreateSfxDialog(weld::Window *pParent, const SfxItemSet &rAttr, const SdrView *pView, sal_uInt32 nResId)=0
virtual VclPtr< SfxAbstractTabDialog > CreateSvxLineTabDialog(weld::Window *pParent, const SfxItemSet *pAttr, SdrModel *pModel, const SdrObject *pObj, bool bHasObj)=0
static SvxAbstractDialogFactory * Create()
void EndAction(const bool bIdleEnd=false)
bool Disable(SfxItemSet &rSet, sal_uInt16 nWhich=0)
void GetDrawAttrState(SfxItemSet &rSet)
void ExecDrawDlg(SfxRequest &rReq)
void ExecDrawAttrArgs(SfxRequest const &rReq)
static bool hasTextFrame(const SdrObject *pObj)
Returns true if the SdrObject has a SwTextFrame otherwise false.
static void updateTextBoxMargin(SdrObject *pObj)
Copy shape attributes to the text frame.
Used by the UI to modify the document model.
const SwView & GetView() const
void SetGradientValue(const basegfx::BGradient &rNew)
const basegfx::BGradient & GetGradientValue() const
void SetEndIntens(sal_uInt16 nNewIntens)
static BGradient fromJSON(std::u16string_view rJSON)
void SetStartIntens(sal_uInt16 nNewIntens)
#define FN_DRAWTEXT_ATTR_DLG
virtual SfxBindings & GetBindings() override
static void lcl_unifyFillTransparencyItems(const SfxItemSet &rSet)
constexpr TypedWhichId< SfxInt16Item > SDRATTR_TEXTCOLUMNS_NUMBER(SDRATTR_TEXTCOLUMNS_FIRST+0)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_TEXTCOLUMNS_SPACING(SDRATTR_TEXTCOLUMNS_FIRST+1)
constexpr TypedWhichId< XFillTransparenceItem > XATTR_FILLTRANSPARENCE(XATTR_FILL_FIRST+5)
constexpr TypedWhichId< XFillFloatTransparenceItem > XATTR_FILLFLOATTRANSPARENCE(XATTR_FILL_FIRST+11)