33 svl::Items<SDRATTR_TEXT_ANIKIND, SDRATTR_TEXT_ANIAMOUNT>);
58 if (rId !=
"RID_SVXPAGE_TEXTATTR")
85 :
SfxTabPage(pPage, pController,
"cui/ui/textanimtabpage.ui",
"TextAnimation", &rInAttrs)
91 , m_xLbEffect(m_xBuilder->weld_combo_box(
"LB_EFFECT"))
92 , m_xBoxDirection(m_xBuilder->weld_widget(
"boxDIRECTION"))
93 , m_xBtnUp(m_xBuilder->weld_toggle_button(
"BTN_UP"))
94 , m_xBtnLeft(m_xBuilder->weld_toggle_button(
"BTN_LEFT"))
95 , m_xBtnRight(m_xBuilder->weld_toggle_button(
"BTN_RIGHT"))
96 , m_xBtnDown(m_xBuilder->weld_toggle_button(
"BTN_DOWN"))
97 , m_xFlProperties(m_xBuilder->weld_frame(
"FL_PROPERTIES"))
98 , m_xTsbStartInside(m_xBuilder->weld_check_button(
"TSB_START_INSIDE"))
99 , m_xTsbStopInside(m_xBuilder->weld_check_button(
"TSB_STOP_INSIDE"))
100 , m_xBoxCount(m_xBuilder->weld_widget(
"boxCOUNT"))
101 , m_xTsbEndless(m_xBuilder->weld_check_button(
"TSB_ENDLESS"))
102 , m_xNumFldCount(m_xBuilder->weld_spin_button(
"NUM_FLD_COUNT"))
103 , m_xTsbPixel(m_xBuilder->weld_check_button(
"TSB_PIXEL"))
104 , m_xMtrFldAmount(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_AMOUNT",
FieldUnit::
PIXEL))
105 , m_xTsbAuto(m_xBuilder->weld_check_button(
"TSB_AUTO"))
191 if (
eAniKind == SdrTextAniKind::Slide)
270 bool bModified =
false;
331 if (
m_xTsbAuto->get_state_changed_from_saved() ||
380 return std::make_unique<SvxTextAnimationPage>(pPage, pController, *rAttrs);
385 int nPos = m_xLbEffect->get_active();
392 case SdrTextAniKind::NONE:
394 m_xBoxDirection->set_sensitive(
false);
395 m_xFlProperties->set_sensitive(
false);
399 case SdrTextAniKind::Blink:
400 case SdrTextAniKind::Scroll:
401 case SdrTextAniKind::Alternate:
402 case SdrTextAniKind::Slide:
404 m_xFlProperties->set_sensitive(
true);
405 if( eAniKind == SdrTextAniKind::Slide )
407 m_xTsbStartInside->set_sensitive(
false);
408 m_xTsbStopInside->set_sensitive(
false);
409 m_xTsbEndless->set_sensitive(
false);
410 m_xNumFldCount->set_sensitive(
true);
411 m_xNumFldCount->set_value(m_xNumFldCount->get_value());
415 m_xTsbStartInside->set_sensitive(
true);
416 m_xTsbStopInside->set_sensitive(
true);
417 m_xTsbEndless->set_sensitive(
true);
418 ClickEndlessHdl_Impl(*m_xTsbEndless);
421 m_xTsbAuto->set_sensitive(
true);
422 ClickAutoHdl_Impl(*m_xTsbAuto);
424 if( eAniKind == SdrTextAniKind::Blink )
426 m_xBoxDirection->set_sensitive(
false);
427 m_xBoxCount->set_sensitive(
false);
431 m_xBoxDirection->set_sensitive(
true);
432 m_xBoxCount->set_sensitive(
true);
441 if( eAniKind == SdrTextAniKind::Slide )
444 TriState eState = m_xTsbEndless->get_state();
447 m_xNumFldCount->set_sensitive(
false);
448 m_xNumFldCount->set_text(
"");
452 m_xNumFldCount->set_sensitive(
true);
453 m_xNumFldCount->set_value(m_xNumFldCount->get_value());
459 TriState eState = m_xTsbAuto->get_state();
462 m_xMtrFldDelay->set_sensitive(
false);
463 m_xMtrFldDelay->set_text(
"");
467 m_xMtrFldDelay->set_sensitive(
true);
468 m_xMtrFldDelay->set_value(m_xMtrFldDelay->get_value(FieldUnit::NONE), FieldUnit::NONE);
474 TriState eState = m_xTsbPixel->get_state();
477 int nValue = m_xMtrFldAmount->get_value(FieldUnit::NONE) / 10;
478 m_xMtrFldAmount->set_sensitive(
true);
479 m_xMtrFldAmount->set_unit(FieldUnit::CUSTOM);
480 m_xMtrFldAmount->set_digits(0);
482 m_xMtrFldAmount->set_increments(1, 10, FieldUnit::NONE);
483 m_xMtrFldAmount->set_range(1, 100, FieldUnit::NONE);
485 m_xMtrFldAmount->set_value(
nValue, FieldUnit::NONE);
489 int nValue = m_xMtrFldAmount->get_value(FieldUnit::NONE) * 10;
490 m_xMtrFldAmount->set_sensitive(
true);
491 m_xMtrFldAmount->set_unit(eFUnit);
492 m_xMtrFldAmount->set_digits(2);
494 m_xMtrFldAmount->set_increments(10, 100, FieldUnit::NONE);
495 m_xMtrFldAmount->set_range(1, 10000, FieldUnit::NONE);
497 m_xMtrFldAmount->set_value(
nValue, FieldUnit::NONE);
503 m_xBtnUp->set_active(&rBtn == m_xBtnUp.get());
504 m_xBtnLeft->set_active(&rBtn == m_xBtnLeft.get());
505 m_xBtnRight->set_active(&rBtn == m_xBtnRight.get());
506 m_xBtnDown->set_active(&rBtn == m_xBtnDown.get());
522 nValue = SdrTextAniDirection::Up;
524 nValue = SdrTextAniDirection::Left;
526 nValue = SdrTextAniDirection::Right;
528 nValue = SdrTextAniDirection::Down;
530 return static_cast<sal_uInt16
>(
nValue);
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
const SdrMarkList & GetMarkedObjectList() const
SdrObject * GetMarkedSdrObj() const
virtual SdrObjKind GetObjIdentifier() const
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void AddTabPage(const OUString &rName, CreateTabPage pCreateFunc, GetTabPageRanges pRangesFunc)
static const SfxPoolItem * GetItem(const SfxItemSet &rSet, sal_uInt16 nSlot, bool bDeep=true)
std::unique_ptr< weld::ToggleButton > m_xBtnRight
std::unique_ptr< weld::SpinButton > m_xNumFldCount
std::unique_ptr< weld::CheckButton > m_xTsbStopInside
virtual ~SvxTextAnimationPage() override
sal_uInt16 GetSelectedDirection() const
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
std::unique_ptr< weld::ToggleButton > m_xBtnUp
std::unique_ptr< weld::ComboBox > m_xLbEffect
std::unique_ptr< weld::CheckButton > m_xTsbEndless
std::unique_ptr< weld::ToggleButton > m_xBtnLeft
virtual void Reset(const SfxItemSet *) override
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldAmount
SvxTextAnimationPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rInAttrs)
std::unique_ptr< weld::ToggleButton > m_xBtnDown
std::unique_ptr< weld::CheckButton > m_xTsbPixel
std::unique_ptr< weld::CheckButton > m_xTsbAuto
virtual bool FillItemSet(SfxItemSet *) override
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldDelay
static const WhichRangesContainer pRanges
std::unique_ptr< weld::CheckButton > m_xTsbStartInside
void SelectDirection(SdrTextAniDirection nValue)
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
virtual void PageCreated(const OUString &rId, SfxTabPage &rPage) override
SvxTextTabDialog(weld::Window *pParent, const SfxItemSet *pAttr, const SdrView *pView)
#define DBG_ASSERT(sCon, aError)
virtual tools::Long GetValue() const override
SVXCORE_DLLPUBLIC FieldUnit GetModuleFieldUnit(const SfxItemSet &)
#define LINK(Instance, Class, Member)
constexpr TypedWhichId< SdrTextAniDelayItem > SDRATTR_TEXT_ANIDELAY(SDRATTR_MISC_FIRST+19)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_TEXT_LEFTDIST(SDRATTR_MISC_FIRST+4)
constexpr TypedWhichId< SdrTextAniStartInsideItem > SDRATTR_TEXT_ANISTARTINSIDE(SDRATTR_MISC_FIRST+16)
constexpr TypedWhichId< SdrTextAniStopInsideItem > SDRATTR_TEXT_ANISTOPINSIDE(SDRATTR_MISC_FIRST+17)
constexpr TypedWhichId< SdrTextAniKindItem > SDRATTR_TEXT_ANIKIND(SDRATTR_MISC_FIRST+14)
constexpr TypedWhichId< SdrTextAniCountItem > SDRATTR_TEXT_ANICOUNT(SDRATTR_MISC_FIRST+18)
constexpr TypedWhichId< SdrTextAniDirectionItem > SDRATTR_TEXT_ANIDIRECTION(SDRATTR_MISC_FIRST+15)
constexpr TypedWhichId< SdrTextAniAmountItem > SDRATTR_TEXT_ANIAMOUNT(SDRATTR_MISC_FIRST+20)
IMPL_LINK_NOARG(SvxTextAnimationPage, SelectEffectHdl_Impl, weld::ComboBox &, void)
IMPL_LINK(SvxTextAnimationPage, ClickDirectionHdl_Impl, weld::Button &, rBtn, void)
SVT_DLLPUBLIC sal_Int64 GetCoreValue(const weld::MetricSpinButton &rField, MapUnit eUnit)
SVT_DLLPUBLIC void SetMetricValue(weld::MetricSpinButton &rField, sal_Int64 nCoreValue, MapUnit eUnit)