21#include <com/sun/star/awt/tab/XTabPageModel.hpp>
22#include <com/sun/star/awt/XControl.hpp>
25#include <helper/property.hxx>
48 m_aTabPageListeners( *this )
63 TabPage *pTabPage = pTabControl->GetTabPage( sal::static_int_cast< sal_uInt16 >( pTabControl->GetCurPageId( ) ) );
69 pTabPage->
Draw( pDev, aPos, SystemTextColorFlags::NONE );
87 return pTabCtrl ? pTabCtrl->GetCurPageId( ) : 0;
94 pTabCtrl->SelectTabPage(_activetabpageid);
100 return pTabCtrl ? pTabCtrl->GetPageCount() : 0;
116 Reference< css::awt::tab::XTabPage > xTabPage;
119 Reference< awt::XControl > xControl(rTabPage,UNO_QUERY );
120 Reference< awt::tab::XTabPageModel > xP( xControl->getModel(), UNO_QUERY );
121 if ( tabPageID == xP->getTabPageID() )
147 switch ( _rVclWindowEvent.
GetId() )
149 case VclEventId::TabpageActivate:
152 awt::tab::TabPageActivatedEvent
aEvent(
nullptr,page);
169 Reference< css::awt::tab::XTabPage > xTabPage(Event.Element,uno::UNO_QUERY);
170 if ( !pTabCtrl || !xTabPage.is() )
173 Reference< awt::XControl > xControl(xTabPage,UNO_QUERY );
174 Reference< awt::tab::XTabPageModel > xP( xControl->getModel(), UNO_QUERY );
175 sal_Int16 nPageID = xP->getTabPageID();
177 if (!xControl->getPeer().is())
181 pTabCtrl->InsertPage(nPageID,pPage->
GetText());
184 pTabCtrl->SetTabPage(nPageID,pPage);
185 pTabCtrl->SetHelpText(nPageID,xP->getToolTip());
187 pTabCtrl->SelectTabPage(nPageID);
188 pTabCtrl->SetPageEnabled(nPageID,xP->getEnabled());
196 Reference< css::awt::tab::XTabPage > xTabPage(Event.Element,uno::UNO_QUERY);
197 if ( pTabCtrl && xTabPage.is() )
199 Reference< awt::XControl > xControl(xTabPage,UNO_QUERY );
200 Reference< awt::tab::XTabPageModel > xP( xControl->getModel(), UNO_QUERY );
201 pTabCtrl->RemovePage(xP->getTabPageID());
216 for (
const beans::PropertyChangeEvent& rEvent : rEvents) {
218 Reference< css::awt::tab::XTabPageModel > xTabPageModel(rEvent.Source, uno::UNO_QUERY);
219 if (!xTabPageModel.is())
222 const sal_Int16
nId = xTabPageModel->getTabPageID();
224 pTabCtrl->SetPageEnabled(
nId, xTabPageModel->getEnabled());
226 pTabCtrl->SetPageText(
nId, xTabPageModel->getTitle());
SAL_WARN_UNUSED_RESULT Point PixelToLogic(const Point &rDevicePt) const
virtual void Draw(OutputDevice *pDev, const Point &rPos, SystemTextColorFlags nFlags) override
static OutputDevice * GetOutputDevice(const css::uno::Reference< css::awt::XDevice > &rxDevice)
static vcl::Window * GetWindow(const css::uno::Reference< css::awt::XWindow > &rxWindow)
virtual ~VCLXTabPageContainer() override
virtual void SAL_CALL setActiveTabPageID(::sal_Int16 _activetabpageid) override
virtual void SAL_CALL elementInserted(const css::container::ContainerEvent &Event) override
virtual ::sal_Int16 SAL_CALL getTabPageCount() override
void SAL_CALL setProperty(const OUString &PropertyName, const css::uno::Any &Value) override
TabPageListenerMultiplexer m_aTabPageListeners
virtual void SAL_CALL removeTabPageContainerListener(const css::uno::Reference< css::awt::tab::XTabPageContainerListener > &listener) override
virtual css::uno::Reference< css::awt::tab::XTabPage > SAL_CALL getTabPage(::sal_Int16 tabPageIndex) override
virtual void SAL_CALL addTabPageContainerListener(const css::uno::Reference< css::awt::tab::XTabPageContainerListener > &listener) override
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
virtual sal_Bool SAL_CALL isTabPageActive(::sal_Int16 tabPageIndex) override
void SAL_CALL draw(sal_Int32 nX, sal_Int32 nY) override
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent) override
::std::vector< css::uno::Reference< css::awt::tab::XTabPage > > m_aTabPages
virtual css::uno::Reference< css::awt::tab::XTabPage > SAL_CALL getTabPageByID(::sal_Int16 tabPageID) override
virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent &Event) override
virtual void SAL_CALL propertiesChange(const ::css::uno::Sequence< ::css::beans::PropertyChangeEvent > &aEvent) override
virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent &Event) override
virtual void GetPropertyIds(std::vector< sal_uInt16 > &aIds) override
virtual ::sal_Int16 SAL_CALL getActiveTabPageID() override
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent)
static void ImplGetPropertyIds(std::vector< sal_uInt16 > &aIds, bool bWithDefaults=false)
void SAL_CALL setProperty(const OUString &PropertyName, const css::uno::Any &Value) override
void SAL_CALL draw(sal_Int32 nX, sal_Int32 nY) override
reference_type * get() const
virtual OUString GetText() const
#define SAL_INFO(area, stream)
Image getImageFromURL(const OUString &i_rImageURL)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
const OUString & GetPropertyName(sal_uInt16 nPropertyId)
#define BASEPROPERTY_TITLE
#define BASEPROPERTY_IMAGEURL
#define BASEPROPERTY_ENABLED