60 if (rId !=
"RID_SVXPAGE_TEXTATTR")
87 :
SfxTabPage(pPage, pController,
"cui/ui/textanimtabpage.ui",
"TextAnimation", &rInAttrs)
93 , m_xLbEffect(m_xBuilder->weld_combo_box(
"LB_EFFECT"))
94 , m_xBoxDirection(m_xBuilder->weld_widget(
"boxDIRECTION"))
95 , m_xBtnUp(m_xBuilder->weld_toggle_button(
"BTN_UP"))
96 , m_xBtnLeft(m_xBuilder->weld_toggle_button(
"BTN_LEFT"))
97 , m_xBtnRight(m_xBuilder->weld_toggle_button(
"BTN_RIGHT"))
98 , m_xBtnDown(m_xBuilder->weld_toggle_button(
"BTN_DOWN"))
99 , m_xFlProperties(m_xBuilder->weld_frame(
"FL_PROPERTIES"))
100 , m_xTsbStartInside(m_xBuilder->weld_check_button(
"TSB_START_INSIDE"))
101 , m_xTsbStopInside(m_xBuilder->weld_check_button(
"TSB_STOP_INSIDE"))
102 , m_xBoxCount(m_xBuilder->weld_widget(
"boxCOUNT"))
103 , m_xTsbEndless(m_xBuilder->weld_check_button(
"TSB_ENDLESS"))
104 , m_xNumFldCount(m_xBuilder->weld_spin_button(
"NUM_FLD_COUNT"))
105 , m_xTsbPixel(m_xBuilder->weld_check_button(
"TSB_PIXEL"))
106 , m_xMtrFldAmount(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_AMOUNT",
FieldUnit::
PIXEL))
107 , m_xTsbAuto(m_xBuilder->weld_check_button(
"TSB_AUTO"))
167 if (static_cast<const SdrTextAniStartInsideItem*>(pItem)->
GetValue())
178 if (static_cast<const SdrTextAniStopInsideItem*>(pItem)->
GetValue())
193 if (
eAniKind == SdrTextAniKind::Slide)
272 bool bModified =
false;
333 if (
m_xTsbAuto->get_state_changed_from_saved() ||
382 return std::make_unique<SvxTextAnimationPage>(pPage, pController, *rAttrs);
387 int nPos = m_xLbEffect->get_active();
394 case SdrTextAniKind::NONE:
396 m_xBoxDirection->set_sensitive(
false);
397 m_xFlProperties->set_sensitive(
false);
401 case SdrTextAniKind::Blink:
402 case SdrTextAniKind::Scroll:
403 case SdrTextAniKind::Alternate:
404 case SdrTextAniKind::Slide:
406 m_xFlProperties->set_sensitive(
true);
407 if( eAniKind == SdrTextAniKind::Slide )
409 m_xTsbStartInside->set_sensitive(
false);
410 m_xTsbStopInside->set_sensitive(
false);
411 m_xTsbEndless->set_sensitive(
false);
412 m_xNumFldCount->set_sensitive(
true);
413 m_xNumFldCount->set_value(m_xNumFldCount->get_value());
417 m_xTsbStartInside->set_sensitive(
true);
418 m_xTsbStopInside->set_sensitive(
true);
419 m_xTsbEndless->set_sensitive(
true);
420 ClickEndlessHdl_Impl(*m_xTsbEndless);
423 m_xTsbAuto->set_sensitive(
true);
424 ClickAutoHdl_Impl(*m_xTsbAuto);
426 if( eAniKind == SdrTextAniKind::Blink )
428 m_xBoxDirection->set_sensitive(
false);
429 m_xBoxCount->set_sensitive(
false);
433 m_xBoxDirection->set_sensitive(
true);
434 m_xBoxCount->set_sensitive(
true);
443 if( eAniKind == SdrTextAniKind::Slide )
446 TriState eState = m_xTsbEndless->get_state();
449 m_xNumFldCount->set_sensitive(
false);
450 m_xNumFldCount->set_text(
"");
454 m_xNumFldCount->set_sensitive(
true);
455 m_xNumFldCount->set_value(m_xNumFldCount->get_value());
461 TriState eState = m_xTsbAuto->get_state();
464 m_xMtrFldDelay->set_sensitive(
false);
465 m_xMtrFldDelay->set_text(
"");
469 m_xMtrFldDelay->set_sensitive(
true);
470 m_xMtrFldDelay->set_value(m_xMtrFldDelay->get_value(FieldUnit::NONE), FieldUnit::NONE);
476 TriState eState = m_xTsbPixel->get_state();
479 int nValue = m_xMtrFldAmount->get_value(FieldUnit::NONE) / 10;
480 m_xMtrFldAmount->set_sensitive(
true);
481 m_xMtrFldAmount->set_unit(FieldUnit::CUSTOM);
482 m_xMtrFldAmount->set_digits(0);
484 m_xMtrFldAmount->set_increments(1, 10, FieldUnit::NONE);
485 m_xMtrFldAmount->set_range(1, 100, FieldUnit::NONE);
487 m_xMtrFldAmount->set_value(nValue, FieldUnit::NONE);
491 int nValue = m_xMtrFldAmount->get_value(FieldUnit::NONE) * 10;
492 m_xMtrFldAmount->set_sensitive(
true);
493 m_xMtrFldAmount->set_unit(eFUnit);
494 m_xMtrFldAmount->set_digits(2);
496 m_xMtrFldAmount->set_increments(10, 100, FieldUnit::NONE);
497 m_xMtrFldAmount->set_range(1, 10000, FieldUnit::NONE);
499 m_xMtrFldAmount->set_value(nValue, FieldUnit::NONE);
505 m_xBtnUp->set_active(&rBtn == m_xBtnUp.get());
506 m_xBtnLeft->set_active(&rBtn == m_xBtnLeft.get());
507 m_xBtnRight->set_active(&rBtn == m_xBtnRight.get());
508 m_xBtnDown->set_active(&rBtn == m_xBtnDown.get());
513 m_xBtnUp->set_active( nValue == SdrTextAniDirection::Up );
514 m_xBtnLeft->set_active( nValue == SdrTextAniDirection::Left );
515 m_xBtnRight->set_active( nValue == SdrTextAniDirection::Right );
516 m_xBtnDown->set_active( nValue == SdrTextAniDirection::Down );
524 nValue = SdrTextAniDirection::Up;
526 nValue = SdrTextAniDirection::Left;
528 nValue = SdrTextAniDirection::Right;
530 nValue = SdrTextAniDirection::Down;
532 return static_cast<sal_uInt16
>(nValue);
#define LINK(Instance, Class, Member)
constexpr TypedWhichId< SdrTextAniStartInsideItem > SDRATTR_TEXT_ANISTARTINSIDE(SDRATTR_MISC_FIRST+16)
size_t GetMarkCount() const
virtual ~SvxTextAnimationPage() override
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
std::unique_ptr< weld::CheckButton > m_xTsbPixel
std::unique_ptr< weld::ComboBox > m_xLbEffect
static const sal_uInt16 pRanges[]
std::unique_ptr< weld::SpinButton > m_xNumFldCount
SdrMark * GetMark(size_t nNum) const
constexpr TypedWhichId< SdrTextAniCountItem > SDRATTR_TEXT_ANICOUNT(SDRATTR_MISC_FIRST+18)
virtual SdrObjKind GetObjIdentifier() const
static const SfxPoolItem * GetItem(const SfxItemSet &rSet, sal_uInt16 nSlot, bool bDeep=true)
virtual void PageCreated(const OString &rId, SfxTabPage &rPage) override
FieldUnit GetModuleFieldUnit(const SfxItemSet &rSet)
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
virtual bool FillItemSet(SfxItemSet *) override
std::unique_ptr< weld::ToggleButton > m_xBtnRight
constexpr TypedWhichId< SdrTextAniDirectionItem > SDRATTR_TEXT_ANIDIRECTION(SDRATTR_MISC_FIRST+15)
void SelectDirection(SdrTextAniDirection nValue)
SdrObject * GetMarkedSdrObj() const
virtual void Reset(const SfxItemSet *) override
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldAmount
SvxTextAnimationPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rInAttrs)
#define DBG_ASSERT(sCon, aError)
const SdrMarkList & GetMarkedObjectList() const
int GetCoreValue(const weld::MetricSpinButton &rField, MapUnit eUnit)
SvxTextTabDialog(weld::Window *pParent, const SfxItemSet *pAttr, const SdrView *pView)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_TEXT_LEFTDIST(SDRATTR_MISC_FIRST+4)
std::unique_ptr< weld::CheckButton > m_xTsbStopInside
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldDelay
sal_uInt16 GetSelectedDirection() const
void SetMetricValue(weld::MetricSpinButton &rField, int nCoreValue, MapUnit eUnit)
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
std::unique_ptr< weld::ToggleButton > m_xBtnUp
std::unique_ptr< weld::CheckButton > m_xTsbEndless
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
std::unique_ptr< weld::ToggleButton > m_xBtnDown
IMPL_LINK(SvxTextAnimationPage, ClickDirectionHdl_Impl, weld::Button &, rBtn, void)
constexpr TypedWhichId< SdrTextAniStopInsideItem > SDRATTR_TEXT_ANISTOPINSIDE(SDRATTR_MISC_FIRST+17)
constexpr TypedWhichId< SdrTextAniKindItem > SDRATTR_TEXT_ANIKIND(SDRATTR_MISC_FIRST+14)
void AddTabPage(const OString &rName, CreateTabPage pCreateFunc, GetTabPageRanges pRangesFunc)
std::unique_ptr< weld::ToggleButton > m_xBtnLeft
std::unique_ptr< weld::CheckButton > m_xTsbStartInside
constexpr TypedWhichId< SdrTextAniDelayItem > SDRATTR_TEXT_ANIDELAY(SDRATTR_MISC_FIRST+19)
constexpr TypedWhichId< SdrTextAniAmountItem > SDRATTR_TEXT_ANIAMOUNT(SDRATTR_MISC_FIRST+20)
IMPL_LINK_NOARG(SvxTextAnimationPage, SelectEffectHdl_Impl, weld::ComboBox &, void)
std::unique_ptr< weld::CheckButton > m_xTsbAuto