LibreOffice Module svx (master)  1
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
FmXFormView Class Reference

#include <fmvwimp.hxx>

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

Classes

class  ObjectRemoveListener
 

Public Member Functions

virtual void SAL_CALL disposing (const css::lang::EventObject &Source) override
 
virtual void SAL_CALL elementInserted (const css::container::ContainerEvent &rEvent) override
 
virtual void SAL_CALL elementReplaced (const css::container::ContainerEvent &rEvent) override
 
virtual void SAL_CALL elementRemoved (const css::container::ContainerEvent &rEvent) override
 
virtual void SAL_CALL formActivated (const css::lang::EventObject &rEvent) override
 
virtual void SAL_CALL formDeactivated (const css::lang::EventObject &rEvent) override
 
virtual void SAL_CALL focusGained (const css::awt::FocusEvent &e) override
 
virtual void SAL_CALL focusLost (const css::awt::FocusEvent &e) override
 
FmFormViewgetView () const
 
PFormViewPageWindowAdapter findWindow (const css::uno::Reference< css::awt::XControlContainer > &_rxCC) const
 
css::uno::Reference< css::form::runtime::XFormController > getFormController (const css::uno::Reference< css::form::XForm > &_rxForm, const OutputDevice &_rDevice) const
 
bool hasEverBeenActivated () const
 
void setHasBeenActivated ()
 
void onFirstViewActivation (const FmFormModel *_pDocModel)
 
void suspendTabOrderUpdate ()
 suspends the calls to activateTabOrder, which normally happen whenever for any ControlContainer of the view, new controls are inserted. More...
 
void resumeTabOrderUpdate ()
 resumes calls to activateTabOrder, and also does all pending calls which were collected since the last suspendTabOrderUpdate call. More...
 
void onCreatedFormObject (FmFormObj const &_rFormObject)
 
void breakCreateFormObject ()
 

Static Public Member Functions

static bool isFocusable (const css::uno::Reference< css::awt::XControl > &i_rControl)
 

Protected Member Functions

 FmXFormView (FmFormView *_pView)
 
virtual ~FmXFormView () override
 
void saveMarkList ()
 
void restoreMarkList (SdrMarkList &_rRestoredMarkList)
 
void stopMarkListWatching ()
 
void startMarkListWatching ()
 
void notifyViewDying ()
 

Private Member Functions

FmFormShellGetFormShell () const
 
void addWindow (const SdrPageWindow &)
 
void removeWindow (const css::uno::Reference< css::awt::XControlContainer > &_rxCC)
 
void Activate (bool bSync=false)
 
void Deactivate (bool bDeactivateController=true)
 
SdrObjectUniquePtr implCreateFieldControl (const svx::ODataAccessDescriptor &_rColumnDescriptor)
 
SdrObjectUniquePtr implCreateXFormsControl (const svx::OXFormsDescriptor &_rDesc)
 
bool createControlLabelPair (OutputDevice const &_rOutDev, sal_Int32 _nXOffsetMM, sal_Int32 _nYOffsetMM, const css::uno::Reference< css::beans::XPropertySet > &_rxField, const css::uno::Reference< css::util::XNumberFormats > &_rxNumberFormats, sal_uInt16 _nControlObjectID, const OUString &_rFieldPostfix, std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &_rpLabel, std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &_rpControl, const css::uno::Reference< css::sdbc::XDataSource > &_rxDataSource, const OUString &_rDataSourceName, const OUString &_rCommand, const sal_Int32 _nCommandType)
 
void ObjectRemovedInAliveMode (const SdrObject *pObject)
 
void displayAsyncErrorMessage (const css::sdb::SQLErrorEvent &_rEvent)
 
void cancelEvents ()
 
void AutoFocus ()
 the auto focus to the first (in terms of the tab order) control More...
 
 DECL_LINK (OnActivate, void *, void)
 
 DECL_LINK (OnAutoFocus, void *, void)
 
 DECL_LINK (OnDelayedErrorMessage, void *, void)
 
 DECL_LINK (OnStartControlWizard, void *, void)
 
::svxform::DocumentType impl_getDocumentType () const
 

Static Private Member Functions

static bool createControlLabelPair (OutputDevice const &_rOutDev, sal_Int32 _nXOffsetMM, sal_Int32 _nYOffsetMM, const css::uno::Reference< css::beans::XPropertySet > &_rxField, const css::uno::Reference< css::util::XNumberFormats > &_rxNumberFormats, sal_uInt16 _nControlObjectID, const OUString &_rFieldPostfix, SdrInventor _nInventor, sal_uInt16 _nLabelObjectID, SdrModel &_rModel, std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &_rpLabel, std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &_rpControl)
 

Private Attributes

css::uno::Reference< css::awt::XWindow > m_xWindow
 
css::uno::Reference< css::beans::XPropertySet > m_xLastCreatedControlModel
 
FmFormObj * m_pMarkedGrid
 
FmFormViewm_pView
 
ImplSVEventm_nActivationEvent
 
ImplSVEventm_nErrorMessageEvent
 
ImplSVEventm_nAutoFocusEvent
 
ImplSVEventm_nControlWizardEvent
 
css::sdb::SQLErrorEvent m_aAsyncError
 
PageWindowAdapterList m_aPageWindowAdapters
 
MapControlContainerToSetOfForms m_aNeedTabOrderUpdate
 
SdrMarkList m_aMark
 
std::unique_ptr< ObjectRemoveListenerm_pWatchStoredList
 
bool m_bFirstActivation
 
bool m_isTabOrderUpdateSuspended
 

Friends

class FmFormView
 
class FmFormShell
 
class FmXFormShell
 
class FormViewPageWindowAdapter
 
class ObjectRemoveListener
 

Detailed Description

Definition at line 134 of file fmvwimp.hxx.

Constructor & Destructor Documentation

FmXFormView::FmXFormView ( FmFormView _pView)
protected

Definition at line 385 of file fmvwimp.cxx.

FmXFormView::~FmXFormView ( )
overrideprotectedvirtual

Definition at line 434 of file fmvwimp.cxx.

References cancelEvents(), DBG_ASSERT, and m_aPageWindowAdapters.

Member Function Documentation

void FmXFormView::Activate ( bool  bSync = false)
private
void FmXFormView::addWindow ( const SdrPageWindow rWindow)
private
void FmXFormView::AutoFocus ( )
private

the auto focus to the first (in terms of the tab order) control

Definition at line 772 of file fmvwimp.cxx.

References LINK, m_nAutoFocusEvent, Application::PostUserEvent(), and Application::RemoveUserEvent().

void FmXFormView::breakCreateFormObject ( )
void FmXFormView::cancelEvents ( )
private
static bool FmXFormView::createControlLabelPair ( OutputDevice const &  _rOutDev,
sal_Int32  _nXOffsetMM,
sal_Int32  _nYOffsetMM,
const css::uno::Reference< css::beans::XPropertySet > &  _rxField,
const css::uno::Reference< css::util::XNumberFormats > &  _rxNumberFormats,
sal_uInt16  _nControlObjectID,
const OUString &  _rFieldPostfix,
SdrInventor  _nInventor,
sal_uInt16  _nLabelObjectID,
SdrModel _rModel,
std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &  _rpLabel,
std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &  _rpControl 
)
staticprivate
bool FmXFormView::createControlLabelPair ( OutputDevice const &  _rOutDev,
sal_Int32  _nXOffsetMM,
sal_Int32  _nYOffsetMM,
const css::uno::Reference< css::beans::XPropertySet > &  _rxField,
const css::uno::Reference< css::util::XNumberFormats > &  _rxNumberFormats,
sal_uInt16  _nControlObjectID,
const OUString &  _rFieldPostfix,
std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &  _rpLabel,
std::unique_ptr< SdrUnoObj, SdrObjectFreeOp > &  _rpControl,
const css::uno::Reference< css::sdbc::XDataSource > &  _rxDataSource,
const OUString &  _rDataSourceName,
const OUString &  _rCommand,
const sal_Int32  _nCommandType 
)
private
void FmXFormView::Deactivate ( bool  bDeactivateController = true)
private
FmXFormView::DECL_LINK ( OnActivate  ,
void ,
void   
)
private
FmXFormView::DECL_LINK ( OnAutoFocus  ,
void ,
void   
)
private
FmXFormView::DECL_LINK ( OnDelayedErrorMessage  ,
void ,
void   
)
private
FmXFormView::DECL_LINK ( OnStartControlWizard  ,
void ,
void   
)
private
void FmXFormView::displayAsyncErrorMessage ( const css::sdb::SQLErrorEvent &  _rEvent)
private
void SAL_CALL FmXFormView::disposing ( const css::lang::EventObject &  Source)
overridevirtual

Definition at line 447 of file fmvwimp.cxx.

References m_pView, m_xWindow, and FmFormView::SetMoveOutside().

void SAL_CALL FmXFormView::elementInserted ( const css::container::ContainerEvent &  rEvent)
overridevirtual
void SAL_CALL FmXFormView::elementRemoved ( const css::container::ContainerEvent &  rEvent)
overridevirtual

Definition at line 511 of file fmvwimp.cxx.

void SAL_CALL FmXFormView::elementReplaced ( const css::container::ContainerEvent &  rEvent)
overridevirtual

Definition at line 505 of file fmvwimp.cxx.

References elementInserted().

PFormViewPageWindowAdapter FmXFormView::findWindow ( const css::uno::Reference< css::awt::XControlContainer > &  _rxCC) const

Definition at line 516 of file fmvwimp.cxx.

References i, and m_aPageWindowAdapters.

Referenced by addWindow(), elementInserted(), and resumeTabOrderUpdate().

void SAL_CALL FmXFormView::focusGained ( const css::awt::FocusEvent &  e)
overridevirtual

Definition at line 1892 of file fmvwimp.cxx.

References m_pView, m_xWindow, and FmFormView::SetMoveOutside().

void SAL_CALL FmXFormView::focusLost ( const css::awt::FocusEvent &  e)
overridevirtual

Definition at line 1900 of file fmvwimp.cxx.

References m_pView, m_xWindow, and FmFormView::SetMoveOutside().

void SAL_CALL FmXFormView::formActivated ( const css::lang::EventObject &  rEvent)
overridevirtual

Definition at line 462 of file fmvwimp.cxx.

References FmFormView::GetFormShell(), FmFormShell::GetImpl(), and m_pView.

void SAL_CALL FmXFormView::formDeactivated ( const css::lang::EventObject &  rEvent)
overridevirtual

Definition at line 469 of file fmvwimp.cxx.

References FmFormView::GetFormShell(), FmFormShell::GetImpl(), and m_pView.

Reference< XFormController > FmXFormView::getFormController ( const css::uno::Reference< css::form::XForm > &  _rxForm,
const OutputDevice _rDevice 
) const

Definition at line 879 of file fmvwimp.cxx.

References m_aPageWindowAdapters, and SAL_WARN.

FmFormShell * FmXFormView::GetFormShell ( ) const
private

Definition at line 767 of file fmvwimp.cxx.

References FmFormView::GetFormShell(), and m_pView.

Referenced by impl_getDocumentType(), restoreMarkList(), and startMarkListWatching().

FmFormView* FmXFormView::getView ( ) const
inline
bool FmXFormView::hasEverBeenActivated ( ) const
inline

Definition at line 212 of file fmvwimp.hxx.

References m_bFirstActivation.

DocumentType FmXFormView::impl_getDocumentType ( ) const
private
SdrObjectUniquePtr FmXFormView::implCreateFieldControl ( const svx::ODataAccessDescriptor _rColumnDescriptor)
private
SdrObjectUniquePtr FmXFormView::implCreateXFormsControl ( const svx::OXFormsDescriptor _rDesc)
private
bool FmXFormView::isFocusable ( const css::uno::Reference< css::awt::XControl > &  i_rControl)
static

Definition at line 781 of file fmvwimp.cxx.

References DBG_UNHANDLED_EXCEPTION, Exception, FM_PROP_CLASSID, and FM_PROP_ENABLED.

Referenced by lcl_firstFocussableControl().

void FmXFormView::notifyViewDying ( )
protected

Definition at line 426 of file fmvwimp.cxx.

References cancelEvents(), DBG_ASSERT, and m_pView.

void FmXFormView::ObjectRemovedInAliveMode ( const SdrObject pObject)
private
void FmXFormView::onCreatedFormObject ( FmFormObj const &  _rFormObject)
void FmXFormView::onFirstViewActivation ( const FmFormModel _pDocModel)
void FmXFormView::removeWindow ( const css::uno::Reference< css::awt::XControlContainer > &  _rxCC)
private

Definition at line 548 of file fmvwimp.cxx.

References i, and m_aPageWindowAdapters.

void FmXFormView::restoreMarkList ( SdrMarkList _rRestoredMarkList)
protected
void FmXFormView::resumeTabOrderUpdate ( )

resumes calls to activateTabOrder, and also does all pending calls which were collected since the last suspendTabOrderUpdate call.

Definition at line 600 of file fmvwimp.cxx.

References findWindow(), m_aNeedTabOrderUpdate, and m_isTabOrderUpdateSuspended.

void FmXFormView::saveMarkList ( )
protected
void FmXFormView::setHasBeenActivated ( )
inline

Definition at line 213 of file fmvwimp.hxx.

void FmXFormView::startMarkListWatching ( )
protected
void FmXFormView::stopMarkListWatching ( )
protected

Definition at line 1723 of file fmvwimp.cxx.

References m_pWatchStoredList.

void FmXFormView::suspendTabOrderUpdate ( )

suspends the calls to activateTabOrder, which normally happen whenever for any ControlContainer of the view, new controls are inserted.

Cannot be nested, i.e. you need to call resumeTabOrderUpdate before calling suspendTabOrderUpdate, again.

Definition at line 593 of file fmvwimp.cxx.

References m_isTabOrderUpdateSuspended.

Friends And Related Function Documentation

friend class FmFormShell
friend

Definition at line 140 of file fmvwimp.hxx.

friend class FmFormView
friend

Definition at line 139 of file fmvwimp.hxx.

friend class FmXFormShell
friend

Definition at line 141 of file fmvwimp.hxx.

friend class FormViewPageWindowAdapter
friend

Definition at line 142 of file fmvwimp.hxx.

Referenced by addWindow().

friend class ObjectRemoveListener
friend

Definition at line 143 of file fmvwimp.hxx.

Referenced by startMarkListWatching().

Member Data Documentation

css::sdb::SQLErrorEvent FmXFormView::m_aAsyncError
private

Definition at line 157 of file fmvwimp.hxx.

Referenced by displayAsyncErrorMessage().

SdrMarkList FmXFormView::m_aMark
private

Definition at line 165 of file fmvwimp.hxx.

Referenced by ObjectRemovedInAliveMode(), restoreMarkList(), and saveMarkList().

MapControlContainerToSetOfForms FmXFormView::m_aNeedTabOrderUpdate
private

Definition at line 162 of file fmvwimp.hxx.

Referenced by elementInserted(), and resumeTabOrderUpdate().

PageWindowAdapterList FmXFormView::m_aPageWindowAdapters
private

Definition at line 160 of file fmvwimp.hxx.

Referenced by addWindow(), findWindow(), getFormController(), removeWindow(), and ~FmXFormView().

bool FmXFormView::m_bFirstActivation
private

Definition at line 169 of file fmvwimp.hxx.

Referenced by hasEverBeenActivated().

bool FmXFormView::m_isTabOrderUpdateSuspended
private

Definition at line 170 of file fmvwimp.hxx.

Referenced by elementInserted(), resumeTabOrderUpdate(), and suspendTabOrderUpdate().

ImplSVEvent* FmXFormView::m_nActivationEvent
private

Definition at line 151 of file fmvwimp.hxx.

Referenced by Activate(), cancelEvents(), and Deactivate().

ImplSVEvent* FmXFormView::m_nAutoFocusEvent
private

Definition at line 153 of file fmvwimp.hxx.

Referenced by AutoFocus(), cancelEvents(), and onFirstViewActivation().

ImplSVEvent* FmXFormView::m_nControlWizardEvent
private

Definition at line 154 of file fmvwimp.hxx.

Referenced by breakCreateFormObject(), cancelEvents(), and onCreatedFormObject().

ImplSVEvent* FmXFormView::m_nErrorMessageEvent
private

Definition at line 152 of file fmvwimp.hxx.

Referenced by cancelEvents(), and displayAsyncErrorMessage().

FmFormObj* FmXFormView::m_pMarkedGrid
private

Definition at line 149 of file fmvwimp.hxx.

FmFormView* FmXFormView::m_pView
private
std::unique_ptr<ObjectRemoveListener> FmXFormView::m_pWatchStoredList
private

Definition at line 167 of file fmvwimp.hxx.

Referenced by startMarkListWatching(), and stopMarkListWatching().

css::uno::Reference< css::beans::XPropertySet > FmXFormView::m_xLastCreatedControlModel
private

Definition at line 147 of file fmvwimp.hxx.

Referenced by breakCreateFormObject(), and onCreatedFormObject().

css::uno::Reference< css::awt::XWindow> FmXFormView::m_xWindow
private

Definition at line 146 of file fmvwimp.hxx.

Referenced by disposing(), focusGained(), and focusLost().


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