LibreOffice Module extensions (master) 1
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
pcr::OPropertyBrowserController Class Reference

#include <propcontroller.hxx>

Inheritance diagram for pcr::OPropertyBrowserController:
[legend]
Collaboration diagram for pcr::OPropertyBrowserController:
[legend]

Public Member Functions

 OPropertyBrowserController (const css::uno::Reference< css::uno::XComponentContext > &_rxContext)
 
- Public Member Functions inherited from comphelper::OMutexAndBroadcastHelper
 OMutexAndBroadcastHelper ()
 
::osl::Mutex & GetMutex ()
 
::cppu::OBroadcastHelperGetBroadcastHelper ()
 
const ::cppu::OBroadcastHelperGetBroadcastHelper () const
 
virtual void Clicked (const OUString &_rName, bool _bPrimary)=0
 
virtual void Commit (const OUString &_rName, const css::uno::Any &_rVal)=0
 
virtual void focusGained (const css::uno::Reference< css::inspection::XPropertyControl > &Control)=0
 
virtual void valueChanged (const css::uno::Reference< css::inspection::XPropertyControl > &Control)=0
 
virtual bool hasPropertyByName (const OUString &_rName)=0
 

Protected Member Functions

virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual void SAL_CALL attachFrame (const css::uno::Reference< css::frame::XFrame > &xFrame) override
 
virtual sal_Bool SAL_CALL attachModel (const css::uno::Reference< css::frame::XModel > &xModel) override
 
virtual sal_Bool SAL_CALL suspend (sal_Bool bSuspend) override
 
virtual css::uno::Any SAL_CALL getViewData () override
 
virtual void SAL_CALL restoreViewData (const css::uno::Any &Data) override
 
virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel () override
 
virtual css::uno::Reference< css::frame::XFrame > SAL_CALL getFrame () override
 
virtual void SAL_CALL dispose () override
 
virtual void SAL_CALL addEventListener (const css::uno::Reference< css::lang::XEventListener > &xListener) override
 
virtual void SAL_CALL removeEventListener (const css::uno::Reference< css::lang::XEventListener > &aListener) override
 
virtual void SAL_CALL focusGained (const css::awt::FocusEvent &_rSource) override
 
virtual void SAL_CALL focusLost (const css::awt::FocusEvent &_rSource) override
 
virtual void SAL_CALL disposing (const css::lang::EventObject &Source) override
 
virtual css::awt::Size SAL_CALL getMinimumSize () override
 
virtual css::awt::Size SAL_CALL getPreferredSize () override
 
virtual css::awt::Size SAL_CALL calcAdjustedSize (const css::awt::Size &rNewSize) override
 
virtual void SAL_CALL propertyChange (const css::beans::PropertyChangeEvent &_rEvent) override
 
virtual css::uno::Reference< css::inspection::XPropertyControl > SAL_CALL createPropertyControl (::sal_Int16 ControlType, sal_Bool CreateReadOnly) override
 XPropertyControlFactory. More...
 
virtual ~OPropertyBrowserController () override
 
virtual void Clicked (const OUString &_rName, bool _bPrimary) override
 
virtual void Commit (const OUString &_rName, const css::uno::Any &_rVal) override
 
virtual void focusGained (const css::uno::Reference< css::inspection::XPropertyControl > &Control) override
 
virtual void valueChanged (const css::uno::Reference< css::inspection::XPropertyControl > &Control) override
 
virtual bool hasPropertyByName (const OUString &_rName) override
 
virtual void SAL_CALL enablePropertyUI (const OUString &_rPropertyName, sal_Bool _bEnable) override
 
virtual void SAL_CALL enablePropertyUIElements (const OUString &_rPropertyName, ::sal_Int16 _nElements, sal_Bool _bEnable) override
 
virtual void SAL_CALL rebuildPropertyUI (const OUString &_rPropertyName) override
 
virtual void SAL_CALL showPropertyUI (const OUString &_rPropertyName) override
 
virtual void SAL_CALL hidePropertyUI (const OUString &_rPropertyName) override
 
virtual void SAL_CALL showCategory (const OUString &_rCategory, sal_Bool _bShow) override
 
virtual css::uno::Reference< css::inspection::XPropertyControl > SAL_CALL getPropertyControl (const OUString &_rPropertyName) override
 
virtual void SAL_CALL registerControlObserver (const css::uno::Reference< css::inspection::XPropertyControlObserver > &Observer) override
 
virtual void SAL_CALL revokeControlObserver (const css::uno::Reference< css::inspection::XPropertyControlObserver > &Observer) override
 
virtual void SAL_CALL setHelpSectionText (const OUString &HelpText) override
 
virtual css::uno::Reference< css::inspection::XObjectInspectorModel > SAL_CALL getInspectorModel () override
 
virtual void SAL_CALL setInspectorModel (const css::uno::Reference< css::inspection::XObjectInspectorModel > &_inspectormodel) override
 
virtual css::uno::Reference< css::inspection::XObjectInspectorUI > SAL_CALL getInspectorUI () override
 
virtual void SAL_CALL inspect (const css::uno::Sequence< css::uno::Reference< css::uno::XInterface > > &Objects) override
 
virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch (const css::util::URL &URL, const OUString &TargetFrameName, ::sal_Int32 SearchFlags) override
 
virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches (const css::uno::Sequence< css::frame::DispatchDescriptor > &Requests) override
 
virtual void SAL_CALL initialize (const css::uno::Sequence< css::uno::Any > &aArguments) override
 
- Protected Member Functions inherited from pcr::IPropertyLineListener
 ~IPropertyLineListener ()
 
- Protected Member Functions inherited from pcr::IPropertyControlObserver
 ~IPropertyControlObserver ()
 
- Protected Member Functions inherited from pcr::IPropertyExistenceCheck
 ~IPropertyExistenceCheck ()
 

Private Types

typedef std::multimap< sal_Int32, css::beans::Property > OrderedPropertyMap
 
typedef std::vector< css::uno::Reference< css::uno::XInterface > > InterfaceArray
 
typedef css::uno::Reference< css::inspection::XPropertyHandler > PropertyHandlerRef
 
typedef std::vector< PropertyHandlerRefPropertyHandlerArray
 
typedef std::unordered_map< OUString, PropertyHandlerRefPropertyHandlerRepository
 
typedef std::unordered_multimap< OUString, PropertyHandlerRefPropertyHandlerMultiRepository
 
typedef std::unordered_map< OUString, sal_uInt16 > HashString2Int16
 

Private Member Functions

void UpdateUI ()
 
void startContainerWindowListening ()
 
void stopContainerWindowListening ()
 
void stopInspection (bool _bCommitModified)
 
bool haveView () const
 
OPropertyEditorgetPropertyBox ()
 
void doInspection ()
 
void impl_rebindToInspectee_nothrow (InterfaceArray &&_rObjects)
 
void getPropertyHandlers (const InterfaceArray &_rObjects, PropertyHandlerArray &_rHandlers)
 retrieves special property handlers for our introspectee More...
 
void impl_broadcastPropertyChange_nothrow (const OUString &_rPropertyName, const css::uno::Any &_rNewValue, const css::uno::Any &_rOldValue, bool _bFirstTimeInit) const
 called when a property changed, to broadcast any handlers which might have registered for this property More...
 
bool impl_isActuatingProperty_nothrow (const OUString &_rPropertyName) const
 determines whether the given property is an actuating property, that is, at least one handler expressed interest in changes to this property's value. More...
 
css::uno::Any impl_getPropertyValue_throw (const OUString &_rPropertyName)
 retrieves the value of the given property, by asking the appropriate XPropertyHandler More...
 
bool suspendPropertyHandlers_nothrow (bool _bSuspend)
 calls XPropertyHandler::suspend for all our property handlers More...
 
bool suspendAll_nothrow ()
 suspends the complete inspector More...
 
void selectPageFromViewData ()
 selects a page according to our current view data More...
 
void updateViewDataFromActivePage ()
 updates our view data from the currently active page More...
 
void describePropertyLine (const css::beans::Property &_rPropertyName, OLineDescriptor &_rDescriptor)
 describes the UI for the given property More...
 
bool impl_findObjectProperty_nothrow (const OUString &_rName, OrderedPropertyMap::const_iterator *_pProperty=nullptr)
 retrieves the position of the property given by name in m_aProperties More...
 
void Construct (const css::uno::Reference< css::awt::XWindow > &rContainerWindow, std::unique_ptr< weld::Builder > xBuilder)
 
PropertyHandlerRef const & impl_getHandlerForProperty_throw (const OUString &_rPropertyName) const
 retrieves the property handler for a given property name More...
 
bool impl_hasPropertyHandlerFor_nothrow (const OUString &_rPropertyName) const
 determines whether we have a handler for the given property More...
 
void impl_buildCategories_throw ()
 builds up m_aPageIds from InspectorModel::describeCategories, and insert all the respective tab pages into our view @precond m_aPageIds is empty More...
 
sal_uInt16 impl_getPageIdForCategory_nothrow (const OUString &_rCategoryName) const
 retrieves the id of the tab page which represents a given category. More...
 
void impl_toggleInspecteeListening_nothrow (bool _bOn)
 adds or removes ourself as XEventListener to/from all our inspectees More...
 
void impl_bindToNewModel_nothrow (const css::uno::Reference< css::inspection::XObjectInspectorModel > &_rxInspectorModel)
 binds the instance to a new model More...
 
void impl_initializeView_nothrow ()
 initializes our view, as indicated by the model's view-relevant properties More...
 
bool impl_isReadOnlyModel_throw () const
 determines whether the view should be readonly. More...
 
void impl_startOrStopModelListening_nothrow (bool _bDoListen) const
 starts or stops listening at the model More...
 
 DECL_LINK (OnPageActivation, LinkParamNone *, void)
 
void createWithModel (const css::uno::Reference< css::inspection::XObjectInspectorModel > &_rxModel)
 

Private Attributes

css::uno::Reference< css::uno::XComponentContext > m_xContext
 
css::uno::Reference< css::frame::XFrame > m_xFrame
 
css::uno::Reference< css::awt::XWindow > m_xView
 
::comphelper::OInterfaceContainerHelper2 m_aDisposeListeners
 
::comphelper::OInterfaceContainerHelper2 m_aControlObservers
 
std::unique_ptr< weld::Builderm_xBuilder
 
std::unique_ptr< OPropertyBrowserViewm_xPropView
 
OUString m_sPageSelection
 
OUString m_sLastValidPageSelection
 
PropertyHandlerRepository m_aPropertyHandlers
 
PropertyHandlerMultiRepository m_aDependencyHandlers
 
PropertyHandlerRef m_xInteractiveHandler
 
std::unique_ptr< ComposedPropertyUIUpdatem_pUIRequestComposer
 
css::uno::Reference< css::inspection::XObjectInspectorModel > m_xModel
 our InspectorModel More...
 
InterfaceArray m_aInspectedObjects
 the object(s) we're currently inspecting More...
 
OrderedPropertyMap m_aProperties
 the properties of the currently inspected object(s) More...
 
OUString m_sCommittingProperty
 the property we're just committing More...
 
HashString2Int16 m_aPageIds
 
bool m_bContainerFocusListening
 
bool m_bSuspendingPropertyHandlers
 
bool m_bConstructed
 
bool m_bBindingIntrospectee
 

Additional Inherited Members

- Protected Attributes inherited from comphelper::OMutexAndBroadcastHelper
::osl::Mutex m_aMutex
 
::cppu::OBroadcastHelper m_aBHelper
 

Detailed Description

Definition at line 64 of file propcontroller.hxx.

Member Typedef Documentation

◆ HashString2Int16

typedef std::unordered_map< OUString, sal_uInt16 > pcr::OPropertyBrowserController::HashString2Int16
private

Definition at line 115 of file propcontroller.hxx.

◆ InterfaceArray

typedef std::vector< css::uno::Reference< css::uno::XInterface > > pcr::OPropertyBrowserController::InterfaceArray
private

Definition at line 77 of file propcontroller.hxx.

◆ OrderedPropertyMap

typedef std::multimap< sal_Int32, css::beans::Property > pcr::OPropertyBrowserController::OrderedPropertyMap
private

Definition at line 75 of file propcontroller.hxx.

◆ PropertyHandlerArray

Definition at line 94 of file propcontroller.hxx.

◆ PropertyHandlerMultiRepository

typedef std::unordered_multimap< OUString, PropertyHandlerRef > pcr::OPropertyBrowserController::PropertyHandlerMultiRepository
private

Definition at line 98 of file propcontroller.hxx.

◆ PropertyHandlerRef

typedef css::uno::Reference< css::inspection::XPropertyHandler > pcr::OPropertyBrowserController::PropertyHandlerRef
private

Definition at line 93 of file propcontroller.hxx.

◆ PropertyHandlerRepository

typedef std::unordered_map< OUString, PropertyHandlerRef > pcr::OPropertyBrowserController::PropertyHandlerRepository
private

Definition at line 96 of file propcontroller.hxx.

Constructor & Destructor Documentation

◆ OPropertyBrowserController()

pcr::OPropertyBrowserController::OPropertyBrowserController ( const css::uno::Reference< css::uno::XComponentContext > &  _rxContext)
explicit

Definition at line 68 of file propcontroller.cxx.

◆ ~OPropertyBrowserController()

pcr::OPropertyBrowserController::~OPropertyBrowserController ( )
overrideprotectedvirtual

Definition at line 79 of file propcontroller.cxx.

References stopInspection().

Member Function Documentation

◆ addEventListener()

void SAL_CALL pcr::OPropertyBrowserController::addEventListener ( const css::uno::Reference< css::lang::XEventListener > &  xListener)
overrideprotectedvirtual

◆ attachFrame()

void SAL_CALL pcr::OPropertyBrowserController::attachFrame ( const css::uno::Reference< css::frame::XFrame > &  xFrame)
overrideprotectedvirtual

◆ attachModel()

sal_Bool SAL_CALL pcr::OPropertyBrowserController::attachModel ( const css::uno::Reference< css::frame::XModel > &  xModel)
overrideprotectedvirtual

Definition at line 360 of file propcontroller.cxx.

References getInspectorModel(), setInspectorModel(), and xModel.

◆ calcAdjustedSize()

css::awt::Size SAL_CALL pcr::OPropertyBrowserController::calcAdjustedSize ( const css::awt::Size &  rNewSize)
overrideprotectedvirtual

Definition at line 1063 of file propcontroller.cxx.

References getMinimumSize().

◆ Clicked()

void pcr::OPropertyBrowserController::Clicked ( const OUString &  _rName,
bool  _bPrimary 
)
overrideprotectedvirtual

◆ Commit()

void pcr::OPropertyBrowserController::Commit ( const OUString &  _rName,
const css::uno::Any &  _rVal 
)
overrideprotectedvirtual

◆ Construct()

void pcr::OPropertyBrowserController::Construct ( const css::uno::Reference< css::awt::XWindow > &  rContainerWindow,
std::unique_ptr< weld::Builder xBuilder 
)
private

◆ createPropertyControl()

Reference< XPropertyControl > SAL_CALL pcr::OPropertyBrowserController::createPropertyControl ( ::sal_Int16  ControlType,
sal_Bool  CreateReadOnly 
)
overrideprotectedvirtual

◆ createWithModel()

void pcr::OPropertyBrowserController::createWithModel ( const css::uno::Reference< css::inspection::XObjectInspectorModel > &  _rxModel)
private

Definition at line 303 of file propcontroller.cxx.

References m_bConstructed, m_refCount, and setInspectorModel().

Referenced by initialize().

◆ DECL_LINK()

pcr::OPropertyBrowserController::DECL_LINK ( OnPageActivation  ,
LinkParamNone ,
void   
)
private

◆ describePropertyLine()

void pcr::OPropertyBrowserController::describePropertyLine ( const css::beans::Property &  _rPropertyName,
OLineDescriptor _rDescriptor 
)
private

◆ dispose()

void SAL_CALL pcr::OPropertyBrowserController::dispose ( void  )
overrideprotectedvirtual

◆ disposing()

void SAL_CALL pcr::OPropertyBrowserController::disposing ( const css::lang::EventObject &  Source)
overrideprotectedvirtual

Definition at line 543 of file propcontroller.cxx.

References m_aInspectedObjects, m_xBuilder, m_xPropView, and m_xView.

◆ doInspection()

void pcr::OPropertyBrowserController::doInspection ( )
private

◆ enablePropertyUI()

void pcr::OPropertyBrowserController::enablePropertyUI ( const OUString &  _rPropertyName,
sal_Bool  _bEnable 
)
overrideprotectedvirtual

◆ enablePropertyUIElements()

void pcr::OPropertyBrowserController::enablePropertyUIElements ( const OUString &  _rPropertyName,
::sal_Int16  _nElements,
sal_Bool  _bEnable 
)
overrideprotectedvirtual

◆ focusGained() [1/2]

virtual void SAL_CALL pcr::OPropertyBrowserController::focusGained ( const css::awt::FocusEvent &  _rSource)
overrideprotectedvirtual

◆ focusGained() [2/2]

virtual void pcr::OPropertyBrowserController::focusGained ( const css::uno::Reference< css::inspection::XPropertyControl > &  Control)
overrideprotectedvirtual

◆ focusLost()

void SAL_CALL pcr::OPropertyBrowserController::focusLost ( const css::awt::FocusEvent &  _rSource)
overrideprotectedvirtual

Definition at line 537 of file propcontroller.cxx.

◆ getFrame()

Reference< XFrame > SAL_CALL pcr::OPropertyBrowserController::getFrame ( )
overrideprotectedvirtual

Definition at line 466 of file propcontroller.cxx.

References m_xFrame.

◆ getImplementationName()

OUString SAL_CALL pcr::OPropertyBrowserController::getImplementationName ( )
overrideprotectedvirtual

Reimplemented in pcr::FormController.

Definition at line 505 of file propcontroller.cxx.

◆ getInspectorModel()

Reference< XObjectInspectorModel > SAL_CALL pcr::OPropertyBrowserController::getInspectorModel ( )
overrideprotectedvirtual

Definition at line 138 of file propcontroller.cxx.

References m_xModel.

Referenced by attachModel().

◆ getInspectorUI()

Reference< XObjectInspectorUI > SAL_CALL pcr::OPropertyBrowserController::getInspectorUI ( )
overrideprotectedvirtual

Definition at line 226 of file propcontroller.cxx.

Referenced by doInspection().

◆ getMinimumSize()

css::awt::Size SAL_CALL pcr::OPropertyBrowserController::getMinimumSize ( )
overrideprotectedvirtual

Definition at line 1047 of file propcontroller.cxx.

References m_xPropView.

Referenced by calcAdjustedSize(), and getPreferredSize().

◆ getModel()

Reference< XModel > SAL_CALL pcr::OPropertyBrowserController::getModel ( )
overrideprotectedvirtual

Definition at line 460 of file propcontroller.cxx.

◆ getPreferredSize()

css::awt::Size SAL_CALL pcr::OPropertyBrowserController::getPreferredSize ( )
overrideprotectedvirtual

Definition at line 1057 of file propcontroller.cxx.

References getMinimumSize().

◆ getPropertyBox()

OPropertyEditor & pcr::OPropertyBrowserController::getPropertyBox ( )
inlineprivate

◆ getPropertyControl()

Reference< XPropertyControl > SAL_CALL pcr::OPropertyBrowserController::getPropertyControl ( const OUString &  _rPropertyName)
overrideprotectedvirtual

◆ getPropertyHandlers()

void pcr::OPropertyBrowserController::getPropertyHandlers ( const InterfaceArray _rObjects,
PropertyHandlerArray _rHandlers 
)
private

retrieves special property handlers for our introspectee

Definition at line 1391 of file propcontroller.cxx.

References m_xContext, and m_xModel.

Referenced by doInspection().

◆ getSupportedServiceNames()

Sequence< OUString > SAL_CALL pcr::OPropertyBrowserController::getSupportedServiceNames ( )
overrideprotectedvirtual

Reimplemented in pcr::FormController.

Definition at line 516 of file propcontroller.cxx.

◆ getViewData()

Any SAL_CALL pcr::OPropertyBrowserController::getViewData ( )
overrideprotectedvirtual

Definition at line 444 of file propcontroller.cxx.

References Any, and m_sPageSelection.

◆ hasPropertyByName()

bool pcr::OPropertyBrowserController::hasPropertyByName ( const OUString &  _rName)
overrideprotectedvirtual
Exceptions
css::uno::RuntimeException

Implements pcr::IPropertyExistenceCheck.

Definition at line 1286 of file propcontroller.cxx.

References m_aProperties.

◆ haveView()

bool pcr::OPropertyBrowserController::haveView ( ) const
inlineprivate

◆ hidePropertyUI()

void pcr::OPropertyBrowserController::hidePropertyUI ( const OUString &  _rPropertyName)
overrideprotectedvirtual

◆ impl_bindToNewModel_nothrow()

void pcr::OPropertyBrowserController::impl_bindToNewModel_nothrow ( const css::uno::Reference< css::inspection::XObjectInspectorModel > &  _rxInspectorModel)
private

◆ impl_broadcastPropertyChange_nothrow()

void pcr::OPropertyBrowserController::impl_broadcastPropertyChange_nothrow ( const OUString &  _rPropertyName,
const css::uno::Any &  _rNewValue,
const css::uno::Any &  _rOldValue,
bool  _bFirstTimeInit 
) const
private

called when a property changed, to broadcast any handlers which might have registered for this property

Parameters
_bFirstTimeInitif set to <FALSE>, this is a real change in the property value, not just a call for purposes of initialization.

Definition at line 1614 of file propcontroller.cxx.

References DBG_UNHANDLED_EXCEPTION, Exception, m_aDependencyHandlers, and m_pUIRequestComposer.

Referenced by Commit(), propertyChange(), and UpdateUI().

◆ impl_buildCategories_throw()

void pcr::OPropertyBrowserController::impl_buildCategories_throw ( )
private

builds up m_aPageIds from InspectorModel::describeCategories, and insert all the respective tab pages into our view @precond m_aPageIds is empty

Exceptions
css::uno::RuntimeExceptionif one of the callees of this method throws this exception

Definition at line 1125 of file propcontroller.cxx.

References pcr::OPropertyEditor::AppendPage(), pcr::HelpIdUrl::getHelpId(), getPropertyBox(), m_aPageIds, and m_xModel.

Referenced by UpdateUI().

◆ impl_findObjectProperty_nothrow()

bool pcr::OPropertyBrowserController::impl_findObjectProperty_nothrow ( const OUString &  _rName,
OrderedPropertyMap::const_iterator *  _pProperty = nullptr 
)
private

retrieves the position of the property given by name in m_aProperties

Returns
<TRUE> if and only if the property could be found. In this case, <arg>_pProperty</arg> (if not <NULL> contains the iterator pointing to this property.

Definition at line 1440 of file propcontroller.cxx.

References m_aProperties.

Referenced by enablePropertyUI(), enablePropertyUIElements(), hidePropertyUI(), rebuildPropertyUI(), and showPropertyUI().

◆ impl_getHandlerForProperty_throw()

OPropertyBrowserController::PropertyHandlerRef const & pcr::OPropertyBrowserController::impl_getHandlerForProperty_throw ( const OUString &  _rPropertyName) const
private

retrieves the property handler for a given property name

Parameters
_rPropertyNamethe name whose handler is to be obtained. Must be the name of a property for which a handler is registered.
Exceptions
RuntimeExceptionif there is no handler for the given property
Returns
the handler which is responsible for the given property

Definition at line 894 of file propcontroller.cxx.

References m_aPropertyHandlers.

Referenced by Commit(), impl_getPropertyValue_throw(), and propertyChange().

◆ impl_getPageIdForCategory_nothrow()

sal_uInt16 pcr::OPropertyBrowserController::impl_getPageIdForCategory_nothrow ( const OUString &  _rCategoryName) const
private

retrieves the id of the tab page which represents a given category.

Parameters
_rCategoryNamethe programmatic name of a category.
Returns
the id of the tab page, or (sal_uInt16)-1 if there is no tab page for the given category

Definition at line 593 of file propcontroller.cxx.

References m_aPageIds, and nPageId.

Referenced by selectPageFromViewData(), showCategory(), showPropertyUI(), and UpdateUI().

◆ impl_getPropertyValue_throw()

Any pcr::OPropertyBrowserController::impl_getPropertyValue_throw ( const OUString &  _rPropertyName)
private

retrieves the value of the given property, by asking the appropriate XPropertyHandler

Parameters
_rPropertyNamethe name whose handler is to be obtained. Must be the name of a property for which a handler is registered.
Exceptions
RuntimeExceptionif there is no handler for the given property
Returns
the value of this property

Definition at line 903 of file propcontroller.cxx.

References Any, and impl_getHandlerForProperty_throw().

Referenced by Commit(), propertyChange(), and UpdateUI().

◆ impl_hasPropertyHandlerFor_nothrow()

bool pcr::OPropertyBrowserController::impl_hasPropertyHandlerFor_nothrow ( const OUString &  _rPropertyName) const
private

determines whether we have a handler for the given property

Parameters
_rPropertyNamethe name of the property for which the existence of a handler should be checked

Definition at line 887 of file propcontroller.cxx.

References m_aPropertyHandlers.

Referenced by propertyChange().

◆ impl_initializeView_nothrow()

void pcr::OPropertyBrowserController::impl_initializeView_nothrow ( )
private

initializes our view, as indicated by the model's view-relevant properties

It's allowed to call this method when no model exists, yet. In this case, nothing happens.

Definition at line 144 of file propcontroller.cxx.

References DBG_UNHANDLED_EXCEPTION, pcr::OPropertyEditor::EnableHelpSection(), Exception, getPropertyBox(), haveView(), and m_xModel.

Referenced by Construct(), and impl_bindToNewModel_nothrow().

◆ impl_isActuatingProperty_nothrow()

bool pcr::OPropertyBrowserController::impl_isActuatingProperty_nothrow ( const OUString &  _rPropertyName) const
inlineprivate

determines whether the given property is an actuating property, that is, at least one handler expressed interest in changes to this property's value.

Definition at line 241 of file propcontroller.hxx.

References m_aDependencyHandlers.

Referenced by Commit(), propertyChange(), and UpdateUI().

◆ impl_isReadOnlyModel_throw()

bool pcr::OPropertyBrowserController::impl_isReadOnlyModel_throw ( ) const
private

determines whether the view should be readonly.

Effectively, this means that the method simply checks the IsReadOnly attribute of the model. If there is no model, <FALSE> is returned.

Exceptions
css::uno::RuntimeExceptionin case asking the model for its IsReadOnly attribute throws a css::uno::RuntimeException itself.

Definition at line 165 of file propcontroller.cxx.

References m_xModel.

Referenced by createPropertyControl(), and describePropertyLine().

◆ impl_rebindToInspectee_nothrow()

void pcr::OPropertyBrowserController::impl_rebindToInspectee_nothrow ( InterfaceArray &&  _rObjects)
private

◆ impl_startOrStopModelListening_nothrow()

void pcr::OPropertyBrowserController::impl_startOrStopModelListening_nothrow ( bool  _bDoListen) const
private

starts or stops listening at the model

Definition at line 174 of file propcontroller.cxx.

References DBG_UNHANDLED_EXCEPTION, Exception, m_xModel, and XPropertySet.

Referenced by impl_bindToNewModel_nothrow().

◆ impl_toggleInspecteeListening_nothrow()

void pcr::OPropertyBrowserController::impl_toggleInspecteeListening_nothrow ( bool  _bOn)
private

adds or removes ourself as XEventListener to/from all our inspectees

Definition at line 803 of file propcontroller.cxx.

References DBG_UNHANDLED_EXCEPTION, Exception, and m_aInspectedObjects.

Referenced by doInspection(), and stopInspection().

◆ initialize()

void SAL_CALL pcr::OPropertyBrowserController::initialize ( const css::uno::Sequence< css::uno::Any > &  aArguments)
overrideprotectedvirtual

◆ inspect()

void SAL_CALL pcr::OPropertyBrowserController::inspect ( const css::uno::Sequence< css::uno::Reference< css::uno::XInterface > > &  Objects)
overrideprotectedvirtual

◆ propertyChange()

void SAL_CALL pcr::OPropertyBrowserController::propertyChange ( const css::beans::PropertyChangeEvent &  _rEvent)
overrideprotectedvirtual

◆ queryDispatch()

Reference< XDispatch > SAL_CALL pcr::OPropertyBrowserController::queryDispatch ( const css::util::URL &  URL,
const OUString &  TargetFrameName,
::sal_Int32  SearchFlags 
)
overrideprotectedvirtual

Definition at line 254 of file propcontroller.cxx.

Referenced by queryDispatches().

◆ queryDispatches()

Sequence< Reference< XDispatch > > SAL_CALL pcr::OPropertyBrowserController::queryDispatches ( const css::uno::Sequence< css::frame::DispatchDescriptor > &  Requests)
overrideprotectedvirtual

Definition at line 261 of file propcontroller.cxx.

References queryDispatch().

◆ rebuildPropertyUI()

void pcr::OPropertyBrowserController::rebuildPropertyUI ( const OUString &  _rPropertyName)
overrideprotectedvirtual

◆ registerControlObserver()

void SAL_CALL pcr::OPropertyBrowserController::registerControlObserver ( const css::uno::Reference< css::inspection::XPropertyControlObserver > &  Observer)
overrideprotectedvirtual

◆ removeEventListener()

void SAL_CALL pcr::OPropertyBrowserController::removeEventListener ( const css::uno::Reference< css::lang::XEventListener > &  aListener)
overrideprotectedvirtual

◆ restoreViewData()

void SAL_CALL pcr::OPropertyBrowserController::restoreViewData ( const css::uno::Any &  Data)
overrideprotectedvirtual

Definition at line 450 of file propcontroller.cxx.

References Data, m_sPageSelection, and selectPageFromViewData().

◆ revokeControlObserver()

void SAL_CALL pcr::OPropertyBrowserController::revokeControlObserver ( const css::uno::Reference< css::inspection::XPropertyControlObserver > &  Observer)
overrideprotectedvirtual

◆ selectPageFromViewData()

void pcr::OPropertyBrowserController::selectPageFromViewData ( )
private

selects a page according to our current view data

Definition at line 602 of file propcontroller.cxx.

References haveView(), impl_getPageIdForCategory_nothrow(), m_sPageSelection, m_xPropView, and updateViewDataFromActivePage().

Referenced by restoreViewData(), and UpdateUI().

◆ setHelpSectionText()

void SAL_CALL pcr::OPropertyBrowserController::setHelpSectionText ( const OUString &  HelpText)
overrideprotectedvirtual

◆ setInspectorModel()

void SAL_CALL pcr::OPropertyBrowserController::setInspectorModel ( const css::uno::Reference< css::inspection::XObjectInspectorModel > &  _inspectormodel)
overrideprotectedvirtual

◆ showCategory()

void pcr::OPropertyBrowserController::showCategory ( const OUString &  _rCategory,
sal_Bool  _bShow 
)
overrideprotectedvirtual

◆ showPropertyUI()

void pcr::OPropertyBrowserController::showPropertyUI ( const OUString &  _rPropertyName)
overrideprotectedvirtual

◆ startContainerWindowListening()

void pcr::OPropertyBrowserController::startContainerWindowListening ( )
private

Definition at line 100 of file propcontroller.cxx.

References DBG_ASSERT, m_bContainerFocusListening, and m_xFrame.

Referenced by attachFrame().

◆ stopContainerWindowListening()

void pcr::OPropertyBrowserController::stopContainerWindowListening ( )
private

Definition at line 119 of file propcontroller.cxx.

References DBG_ASSERT, m_bContainerFocusListening, and m_xFrame.

Referenced by attachFrame(), and suspend().

◆ stopInspection()

void pcr::OPropertyBrowserController::stopInspection ( bool  _bCommitModified)
private

◆ supportsService()

sal_Bool SAL_CALL pcr::OPropertyBrowserController::supportsService ( const OUString &  ServiceName)
overrideprotectedvirtual

Definition at line 510 of file propcontroller.cxx.

References ServiceName, and cppu::supportsService().

◆ suspend()

sal_Bool SAL_CALL pcr::OPropertyBrowserController::suspend ( sal_Bool  bSuspend)
overrideprotectedvirtual

◆ suspendAll_nothrow()

bool pcr::OPropertyBrowserController::suspendAll_nothrow ( )
private

suspends the complete inspector

Definition at line 371 of file propcontroller.cxx.

References m_bSuspendingPropertyHandlers, m_xInteractiveHandler, and suspendPropertyHandlers_nothrow().

Referenced by inspect(), and suspend().

◆ suspendPropertyHandlers_nothrow()

bool pcr::OPropertyBrowserController::suspendPropertyHandlers_nothrow ( bool  _bSuspend)
private

calls XPropertyHandler::suspend for all our property handlers

Definition at line 387 of file propcontroller.cxx.

References Exception, m_aPropertyHandlers, and TOOLS_WARN_EXCEPTION.

Referenced by suspend(), and suspendAll_nothrow().

◆ UpdateUI()

void pcr::OPropertyBrowserController::UpdateUI ( )
private

◆ updateViewDataFromActivePage()

void pcr::OPropertyBrowserController::updateViewDataFromActivePage ( )
private

updates our view data from the currently active page

Definition at line 565 of file propcontroller.cxx.

References haveView(), m_aPageIds, m_sLastValidPageSelection, m_sPageSelection, and m_xPropView.

Referenced by selectPageFromViewData().

◆ valueChanged()

void pcr::OPropertyBrowserController::valueChanged ( const css::uno::Reference< css::inspection::XPropertyControl > &  Control)
overrideprotectedvirtual

Member Data Documentation

◆ m_aControlObservers

::comphelper::OInterfaceContainerHelper2 pcr::OPropertyBrowserController::m_aControlObservers
private

◆ m_aDependencyHandlers

PropertyHandlerMultiRepository pcr::OPropertyBrowserController::m_aDependencyHandlers
private

◆ m_aDisposeListeners

::comphelper::OInterfaceContainerHelper2 pcr::OPropertyBrowserController::m_aDisposeListeners
private

Definition at line 83 of file propcontroller.hxx.

Referenced by addEventListener(), dispose(), and removeEventListener().

◆ m_aInspectedObjects

InterfaceArray pcr::OPropertyBrowserController::m_aInspectedObjects
private

◆ m_aPageIds

HashString2Int16 pcr::OPropertyBrowserController::m_aPageIds
private

◆ m_aProperties

OrderedPropertyMap pcr::OPropertyBrowserController::m_aProperties
private

the properties of the currently inspected object(s)

Definition at line 111 of file propcontroller.hxx.

Referenced by doInspection(), hasPropertyByName(), impl_findObjectProperty_nothrow(), showPropertyUI(), stopInspection(), and UpdateUI().

◆ m_aPropertyHandlers

PropertyHandlerRepository pcr::OPropertyBrowserController::m_aPropertyHandlers
private

◆ m_bBindingIntrospectee

bool pcr::OPropertyBrowserController::m_bBindingIntrospectee
private

Definition at line 121 of file propcontroller.hxx.

Referenced by inspect().

◆ m_bConstructed

bool pcr::OPropertyBrowserController::m_bConstructed
private

Definition at line 120 of file propcontroller.hxx.

Referenced by createWithModel(), and initialize().

◆ m_bContainerFocusListening

bool pcr::OPropertyBrowserController::m_bContainerFocusListening
private

◆ m_bSuspendingPropertyHandlers

bool pcr::OPropertyBrowserController::m_bSuspendingPropertyHandlers
private

Definition at line 119 of file propcontroller.hxx.

Referenced by inspect(), and suspendAll_nothrow().

◆ m_pUIRequestComposer

std::unique_ptr< ComposedPropertyUIUpdate > pcr::OPropertyBrowserController::m_pUIRequestComposer
private

◆ m_sCommittingProperty

OUString pcr::OPropertyBrowserController::m_sCommittingProperty
private

the property we're just committing

Definition at line 113 of file propcontroller.hxx.

Referenced by Commit(), and propertyChange().

◆ m_sLastValidPageSelection

OUString pcr::OPropertyBrowserController::m_sLastValidPageSelection
private

Definition at line 90 of file propcontroller.hxx.

Referenced by UpdateUI(), and updateViewDataFromActivePage().

◆ m_sPageSelection

OUString pcr::OPropertyBrowserController::m_sPageSelection
private

◆ m_xBuilder

std::unique_ptr<weld::Builder> pcr::OPropertyBrowserController::m_xBuilder
private

Definition at line 86 of file propcontroller.hxx.

Referenced by attachFrame(), Construct(), dispose(), and disposing().

◆ m_xContext

css::uno::Reference< css::uno::XComponentContext > pcr::OPropertyBrowserController::m_xContext
private

Definition at line 79 of file propcontroller.hxx.

Referenced by Construct(), createPropertyControl(), and getPropertyHandlers().

◆ m_xFrame

css::uno::Reference< css::frame::XFrame > pcr::OPropertyBrowserController::m_xFrame
private

◆ m_xInteractiveHandler

PropertyHandlerRef pcr::OPropertyBrowserController::m_xInteractiveHandler
private

Definition at line 101 of file propcontroller.hxx.

Referenced by Clicked(), and suspendAll_nothrow().

◆ m_xModel

css::uno::Reference< css::inspection::XObjectInspectorModel > pcr::OPropertyBrowserController::m_xModel
private

◆ m_xPropView

std::unique_ptr<OPropertyBrowserView> pcr::OPropertyBrowserController::m_xPropView
private

◆ m_xView

css::uno::Reference< css::awt::XWindow > pcr::OPropertyBrowserController::m_xView
private

Definition at line 81 of file propcontroller.hxx.

Referenced by Construct(), dispose(), and disposing().


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