LibreOffice Module toolkit (master) 1
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
UnoControlContainer Class Reference

#include <unocontrolcontainer.hxx>

Inheritance diagram for UnoControlContainer:
[legend]
Collaboration diagram for UnoControlContainer:
[legend]

Public Member Functions

 UnoControlContainer ()
 
 UnoControlContainer (const css::uno::Reference< css::awt::XVclWindowPeer > &xPeer)
 
virtual ~UnoControlContainer () override
 
void SAL_CALL dispose () override
 
void SAL_CALL disposing (const css::lang::EventObject &Source) override
 
void SAL_CALL addContainerListener (const css::uno::Reference< css::container::XContainerListener > &xListener) override
 
void SAL_CALL removeContainerListener (const css::uno::Reference< css::container::XContainerListener > &xListener) override
 
virtual ::sal_Int32 SAL_CALL insert (const css::uno::Any &aElement) override
 
virtual void SAL_CALL removeByIdentifier (::sal_Int32 Identifier) override
 
virtual void SAL_CALL replaceByIdentifer (::sal_Int32 Identifier, const css::uno::Any &aElement) override
 
virtual css::uno::Any SAL_CALL getByIdentifier (::sal_Int32 Identifierr) override
 
virtual css::uno::Sequence< ::sal_Int32 > SAL_CALL getIdentifiers () override
 
virtual css::uno::Type SAL_CALL getElementType () override
 
virtual sal_Bool SAL_CALL hasElements () override
 
void SAL_CALL setStatusText (const OUString &StatusText) override
 
css::uno::Sequence< css::uno::Reference< css::awt::XControl > > SAL_CALL getControls () override
 
css::uno::Reference< css::awt::XControl > SAL_CALL getControl (const OUString &aName) override
 
void SAL_CALL addControl (const OUString &Name, const css::uno::Reference< css::awt::XControl > &Control) override
 
void SAL_CALL removeControl (const css::uno::Reference< css::awt::XControl > &Control) override
 
void SAL_CALL setTabControllers (const css::uno::Sequence< css::uno::Reference< css::awt::XTabController > > &TabControllers) override
 
css::uno::Sequence< css::uno::Reference< css::awt::XTabController > > SAL_CALL getTabControllers () override
 
void SAL_CALL addTabController (const css::uno::Reference< css::awt::XTabController > &TabController) override
 
void SAL_CALL removeTabController (const css::uno::Reference< css::awt::XTabController > &TabController) override
 
void SAL_CALL createPeer (const css::uno::Reference< css::awt::XToolkit > &Toolkit, const css::uno::Reference< css::awt::XWindowPeer > &Parent) override
 
void SAL_CALL setVisible (sal_Bool Visible) override
 
OUString SAL_CALL getImplementationName () override
 
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
- Public Member Functions inherited from cppu::AggImplInheritanceHelper4< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
 AggImplInheritanceHelper4 ()
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &rType) SAL_OVERRIDE
 
virtual css::uno::Any SAL_CALL queryAggregation (css::uno::Type const &rType) SAL_OVERRIDE
 
virtual void SAL_CALL acquire () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual void SAL_CALL release () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () SAL_OVERRIDE
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () SAL_OVERRIDE
 

Protected Member Functions

void ImplActivateTabControllers ()
 
virtual void PrepareWindowDescriptor (css::awt::WindowDescriptor &rDesc) override
 
virtual void removingControl (const css::uno::Reference< css::awt::XControl > &_rxControl)
 
virtual void addingControl (const css::uno::Reference< css::awt::XControl > &_rxControl)
 
virtual void impl_createControlPeerIfNecessary (const css::uno::Reference< css::awt::XControl > &_rxControl)
 ensures that the given control has a peer, if necessary and possible More...
 
- Protected Member Functions inherited from cppu::AggImplInheritanceHelper4< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
 AggImplInheritanceHelper4 (T1 const &arg1)
 
 AggImplInheritanceHelper4 (T1 const &arg1, T2 const &arg2)
 
 AggImplInheritanceHelper4 (T1 const &arg1, T2 const &arg2, T3 const &arg3)
 
 AggImplInheritanceHelper4 (T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4)
 
 AggImplInheritanceHelper4 (T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5)
 
 AggImplInheritanceHelper4 (T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5, T6 const &arg6)
 

Private Member Functions

sal_Int32 impl_addControl (const css::uno::Reference< css::awt::XControl > &_rxControl, const OUString *_pName=nullptr)
 adds the control to the container, does necessary notifications, and the like More...
 
void impl_removeControl (sal_Int32 _nId, const css::uno::Reference< css::awt::XControl > &_rxControl)
 removes the given control from the container, including necessary notifications and the like More...
 

Private Attributes

std::unique_ptr< UnoControlHolderListmpControls
 
css::uno::Sequence< css::uno::Reference< css::awt::XTabController > > maTabControllers
 
ContainerListenerMultiplexer maCListeners
 

Detailed Description

Definition at line 44 of file unocontrolcontainer.hxx.

Constructor & Destructor Documentation

◆ UnoControlContainer() [1/2]

UnoControlContainer::UnoControlContainer ( )

Definition at line 366 of file unocontrolcontainer.cxx.

References mpControls.

◆ UnoControlContainer() [2/2]

UnoControlContainer::UnoControlContainer ( const css::uno::Reference< css::awt::XVclWindowPeer > &  xPeer)

◆ ~UnoControlContainer()

UnoControlContainer::~UnoControlContainer ( )
overridevirtual

Definition at line 380 of file unocontrolcontainer.cxx.

Member Function Documentation

◆ addContainerListener()

void UnoControlContainer::addContainerListener ( const css::uno::Reference< css::container::XContainerListener > &  xListener)
override

Definition at line 436 of file unocontrolcontainer.cxx.

References maCListeners.

◆ addControl()

void UnoControlContainer::addControl ( const OUString &  Name,
const css::uno::Reference< css::awt::XControl > &  Control 
)
override

Definition at line 625 of file unocontrolcontainer.cxx.

References impl_addControl().

◆ addingControl()

void UnoControlContainer::addingControl ( const css::uno::Reference< css::awt::XControl > &  _rxControl)
protectedvirtual

◆ addTabController()

void UnoControlContainer::addTabController ( const css::uno::Reference< css::awt::XTabController > &  TabController)
override

Definition at line 691 of file unocontrolcontainer.cxx.

References maTabControllers, and nCount.

◆ createPeer()

void UnoControlContainer::createPeer ( const css::uno::Reference< css::awt::XToolkit > &  Toolkit,
const css::uno::Reference< css::awt::XWindowPeer > &  Parent 
)
override

◆ dispose()

void UnoControlContainer::dispose ( void  )
override

◆ disposing()

void UnoControlContainer::disposing ( const css::lang::EventObject &  Source)
override

Definition at line 424 of file unocontrolcontainer.cxx.

References UnoControl::disposing(), and removeControl().

Referenced by ControlContainerBase::disposing().

◆ getByIdentifier()

uno::Any SAL_CALL UnoControlContainer::getByIdentifier ( ::sal_Int32  Identifierr)
overridevirtual

Definition at line 518 of file unocontrolcontainer.cxx.

References mpControls.

◆ getControl()

uno::Reference< awt::XControl > UnoControlContainer::getControl ( const OUString &  aName)
override

Definition at line 568 of file unocontrolcontainer.cxx.

References mpControls.

◆ getControls()

uno::Sequence< uno::Reference< awt::XControl > > UnoControlContainer::getControls ( )
override

Definition at line 560 of file unocontrolcontainer.cxx.

References mpControls.

Referenced by createPeer(), and dispose().

◆ getElementType()

uno::Type SAL_CALL UnoControlContainer::getElementType ( )
overridevirtual

Definition at line 538 of file unocontrolcontainer.cxx.

References cppu::UnoType< typename T >::get().

◆ getIdentifiers()

uno::Sequence<::sal_Int32 > SAL_CALL UnoControlContainer::getIdentifiers ( )
overridevirtual

Definition at line 528 of file unocontrolcontainer.cxx.

References mpControls.

◆ getImplementationName()

OUString UnoControlContainer::getImplementationName ( )
override

Definition at line 779 of file unocontrolcontainer.cxx.

◆ getSupportedServiceNames()

css::uno::Sequence< OUString > UnoControlContainer::getSupportedServiceNames ( )
override

Definition at line 784 of file unocontrolcontainer.cxx.

References UnoControl::getSupportedServiceNames().

◆ getTabControllers()

uno::Sequence< uno::Reference< awt::XTabController > > UnoControlContainer::getTabControllers ( )
override

Definition at line 684 of file unocontrolcontainer.cxx.

References maTabControllers.

◆ hasElements()

sal_Bool SAL_CALL UnoControlContainer::hasElements ( )
overridevirtual

Definition at line 543 of file unocontrolcontainer.cxx.

References mpControls.

◆ impl_addControl()

sal_Int32 UnoControlContainer::impl_addControl ( const css::uno::Reference< css::awt::XControl > &  _rxControl,
const OUString *  _pName = nullptr 
)
private

adds the control to the container, does necessary notifications, and the like

Parameters
_rxControlthe control to add. Must not be <NULL>
_pNamePointer to a name for the control. Might be <NULL>, in this case an automatic name is generated
Returns
the ID of the newly added control

Definition at line 601 of file unocontrolcontainer.cxx.

References addingControl(), aEvent, impl_createControlPeerIfNecessary(), maCListeners, and mpControls.

Referenced by addControl(), and insert().

◆ impl_createControlPeerIfNecessary()

void UnoControlContainer::impl_createControlPeerIfNecessary ( const css::uno::Reference< css::awt::XControl > &  _rxControl)
protectedvirtual

ensures that the given control has a peer, if necessary and possible

Parameters
_rxControlan ->XControl which has just been inserted into the container. Must not be <NULL>. @precond our mutex is locked

Definition at line 586 of file unocontrolcontainer.cxx.

References ImplActivateTabControllers().

Referenced by impl_addControl(), and replaceByIdentifer().

◆ impl_removeControl()

void UnoControlContainer::impl_removeControl ( sal_Int32  _nId,
const css::uno::Reference< css::awt::XControl > &  _rxControl 
)
private

removes the given control from the container, including necessary notifications and the like

Parameters
_nIdthe ID of the control to remove
_rxControlthe control itself. Must be the one which is stored under the given ID. This parameter could also be obtained inside the method, but callers usually have obtained it, anyway.

Definition at line 640 of file unocontrolcontainer.cxx.

References aEvent, DBG_ASSERT, maCListeners, mpControls, and removingControl().

Referenced by removeByIdentifier(), and removeControl().

◆ ImplActivateTabControllers()

void UnoControlContainer::ImplActivateTabControllers ( )
protected

Definition at line 384 of file unocontrolcontainer.cxx.

References maTabControllers.

Referenced by createPeer(), and impl_createControlPeerIfNecessary().

◆ insert()

sal_Int32 SAL_CALL UnoControlContainer::insert ( const css::uno::Any &  aElement)
override

Definition at line 451 of file unocontrolcontainer.cxx.

References impl_addControl().

◆ PrepareWindowDescriptor()

void UnoControlContainer::PrepareWindowDescriptor ( css::awt::WindowDescriptor &  rDesc)
overrideprotectedvirtual

Definition at line 794 of file unocontrolcontainer.cxx.

Referenced by UnoDialogControl::PrepareWindowDescriptor().

◆ removeByIdentifier()

void SAL_CALL UnoControlContainer::removeByIdentifier ( ::sal_Int32  Identifier)
overridevirtual

Definition at line 466 of file unocontrolcontainer.cxx.

References impl_removeControl(), and mpControls.

◆ removeContainerListener()

void UnoControlContainer::removeContainerListener ( const css::uno::Reference< css::container::XContainerListener > &  xListener)
override

Definition at line 443 of file unocontrolcontainer.cxx.

References maCListeners.

◆ removeControl()

void UnoControlContainer::removeControl ( const css::uno::Reference< css::awt::XControl > &  Control)
override

Definition at line 663 of file unocontrolcontainer.cxx.

References impl_removeControl(), and mpControls.

Referenced by disposing().

◆ removeTabController()

void UnoControlContainer::removeTabController ( const css::uno::Reference< css::awt::XTabController > &  TabController)
override

Definition at line 700 of file unocontrolcontainer.cxx.

References maTabControllers, and n.

◆ removingControl()

void UnoControlContainer::removingControl ( const css::uno::Reference< css::awt::XControl > &  _rxControl)
protectedvirtual

◆ replaceByIdentifer()

void SAL_CALL UnoControlContainer::replaceByIdentifer ( ::sal_Int32  Identifier,
const css::uno::Any &  aElement 
)
overridevirtual

◆ setStatusText()

void UnoControlContainer::setStatusText ( const OUString &  StatusText)
override

Definition at line 550 of file unocontrolcontainer.cxx.

References mxContext.

◆ setTabControllers()

void UnoControlContainer::setTabControllers ( const css::uno::Sequence< css::uno::Reference< css::awt::XTabController > > &  TabControllers)
override

Definition at line 677 of file unocontrolcontainer.cxx.

References maTabControllers.

◆ setVisible()

void UnoControlContainer::setVisible ( sal_Bool  Visible)
override

Definition at line 769 of file unocontrolcontainer.cxx.

References bVisible, createPeer(), mxContext, and UnoControl::setVisible().

Member Data Documentation

◆ maCListeners

ContainerListenerMultiplexer UnoControlContainer::maCListeners
private

◆ maTabControllers

css::uno::Sequence< css::uno::Reference< css::awt::XTabController > > UnoControlContainer::maTabControllers
private

◆ mpControls

std::unique_ptr<UnoControlHolderList> UnoControlContainer::mpControls
private

The documentation for this class was generated from the following files: