37#include <com/sun/star/frame/XDispatchProvider.hpp>
38#include <com/sun/star/frame/XFrame.hpp>
46 OUString format_number(
int nSlides)
48 OUString aSlides(
SdResId(STR_SLIDES, nSlides));
49 return aSlides.replaceFirst(
"%1", OUString::number(nSlides));
55 uno::Reference< frame::XFrame > xFrame )
56 :
InterimItemWindow(pParent,
"modules/simpress/ui/pagesfieldbox.ui",
"PagesFieldBox")
57 ,
m_xWidget(m_xBuilder->weld_spin_button(
"pagesfield"))
71 auto width = std::max(
m_xWidget->get_pixel_size(format_number(1)).
Width(),
73 int chars = ceil(width /
m_xWidget->get_approximate_digit_width());
81 return ChildKeyInput(rKEvt);
113 rSpinButton.set_text(format_number(rSpinButton.get_value()));
159 if ( eState == SfxItemState::DISABLED )
168 if ( eState == SfxItemState::DEFAULT )
171 DBG_ASSERT( pItem,
"sd::SdTbxCtlDiaPages::StateChanged(), wrong item type!" );
css::uno::Reference< css::lang::XComponent > m_xFrame
const LocaleDataWrapper & GetLocaleDataWrapper() const
static const AllSettings & GetSettings()
sal_uInt16 GetValue() const
virtual bool QueryValue(css::uno::Any &rVal, sal_uInt8 nMemberId=0) const override
virtual void dispose() override
void InitControlBase(weld::Widget *pWidget)
SdPagesField(vcl::Window *pParent, css::uno::Reference< css::frame::XFrame > xFrame)
void UpdatePagesField(const SfxUInt16Item *pItem)
std::unique_ptr< weld::SpinButton > m_xWidget
virtual void dispose() override
virtual ~SdPagesField() override
void set_sensitive(bool bSensitive)
virtual VclPtr< InterimItemWindow > CreateItemWindow(vcl::Window *pParent) override
virtual void StateChangedAtToolBoxControl(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem *pState) override
virtual ~SdTbxCtlDiaPages() override
SdTbxCtlDiaPages(sal_uInt16 nSlotId, ToolBoxItemId nId, ToolBox &rTbx)
static VclPtr< reference_type > Create(Arg &&... arg)
virtual void SetSizePixel(const Size &rNewSize)
void Enable(bool bEnable=true, bool bChild=true)
#define DBG_ASSERT(sCon, aError)
IMPL_STATIC_LINK(SdPagesField, OutputHdl, weld::SpinButton &, rSpinButton, void)
IMPL_LINK_NOARG(SdPagesField, ModifyHdl, weld::SpinButton &, void)
IMPL_LINK(SdPagesField, KeyInputHdl, const KeyEvent &, rKEvt, bool)
#define LINK(Instance, Class, Member)
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
bool TextToValue(const OUString &rStr, double &rValue, sal_Int64 nBaseValue, sal_uInt16 nDecDigits, const LocaleDataWrapper &rLocaleDataWrapper, FieldUnit eUnit)
OUString SdResId(TranslateId aId)
Reference< XFrame > xFrame
SFX_IMPL_TOOLBOX_CONTROL(SwTbxAutoTextCtrl, SfxVoidItem)