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

#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
 
rtl::Reference< FormViewPageWindowAdapterfindWindow (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)
 

Private Types

typedef ::std::set< css::uno::Reference< css::form::XForm > > SetOfForms
 

Private Member Functions

FmFormShellGetFormShell () const
 
css::uno::Reference< css::awt::XWindow > GetParentWindow () const
 
 FmXFormView (FmFormView *_pView)
 
virtual ~FmXFormView () override
 
void saveMarkList ()
 
void restoreMarkList (SdrMarkList &_rRestoredMarkList)
 
void stopMarkListWatching ()
 
void startMarkListWatching ()
 
void notifyViewDying ()
 
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, SdrObjKind _nControlObjectID, std::u16string_view _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, SdrObjKind _nControlObjectID, std::u16string_view _rFieldPostfix, SdrInventor _nInventor, SdrObjKind _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
 
std::vector< rtl::Reference< FormViewPageWindowAdapter > > m_aPageWindowAdapters
 
std::map< css::uno::Reference< css::awt::XControlContainer >, SetOfFormsm_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 132 of file fmvwimp.hxx.

Member Typedef Documentation

typedef ::std::set< css::uno::Reference< css::form::XForm > > FmXFormView::SetOfForms
private

Definition at line 159 of file fmvwimp.hxx.

Constructor & Destructor Documentation

FmXFormView::FmXFormView ( FmFormView _pView)
private

Definition at line 386 of file fmvwimp.cxx.

FmXFormView::~FmXFormView ( )
overrideprivatevirtual

Definition at line 435 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 768 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,
SdrObjKind  _nControlObjectID,
std::u16string_view  _rFieldPostfix,
SdrInventor  _nInventor,
SdrObjKind  _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,
SdrObjKind  _nControlObjectID,
std::u16string_view  _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 448 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 512 of file fmvwimp.cxx.

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

Definition at line 506 of file fmvwimp.cxx.

References elementInserted().

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

Definition at line 517 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 1894 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 1902 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 463 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 470 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 875 of file fmvwimp.cxx.

References OutputDevice::GetOwnerWindow(), m_aPageWindowAdapters, and SAL_WARN.

FmFormShell * FmXFormView::GetFormShell ( ) const
private

Definition at line 763 of file fmvwimp.cxx.

References FmFormView::GetFormShell(), and m_pView.

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

Reference< XWindow > FmXFormView::GetParentWindow ( ) const
private
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 777 of file fmvwimp.cxx.

References DBG_UNHANDLED_EXCEPTION, Exception, FM_PROP_CLASSID, and FM_PROP_ENABLED.

Referenced by lcl_firstFocussableControl().

void FmXFormView::notifyViewDying ( )
private

Definition at line 427 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 549 of file fmvwimp.cxx.

References i, and m_aPageWindowAdapters.

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

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

Definition at line 596 of file fmvwimp.cxx.

References findWindow(), m_aNeedTabOrderUpdate, and m_isTabOrderUpdateSuspended.

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

Definition at line 213 of file fmvwimp.hxx.

void FmXFormView::startMarkListWatching ( )
private
void FmXFormView::stopMarkListWatching ( )
private

Definition at line 1725 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 590 of file fmvwimp.cxx.

References m_isTabOrderUpdateSuspended.

Friends And Related Function Documentation

friend class FmFormShell
friend

Definition at line 138 of file fmvwimp.hxx.

friend class FmFormView
friend

Definition at line 137 of file fmvwimp.hxx.

friend class FmXFormShell
friend

Definition at line 139 of file fmvwimp.hxx.

friend class FormViewPageWindowAdapter
friend

Definition at line 140 of file fmvwimp.hxx.

Referenced by addWindow().

friend class ObjectRemoveListener
friend

Definition at line 141 of file fmvwimp.hxx.

Referenced by startMarkListWatching().

Member Data Documentation

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

Definition at line 155 of file fmvwimp.hxx.

Referenced by displayAsyncErrorMessage().

SdrMarkList FmXFormView::m_aMark
private

Definition at line 164 of file fmvwimp.hxx.

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

std::map< css::uno::Reference< css::awt::XControlContainer >, SetOfForms > FmXFormView::m_aNeedTabOrderUpdate
private

Definition at line 161 of file fmvwimp.hxx.

Referenced by elementInserted(), and resumeTabOrderUpdate().

std::vector< rtl::Reference< FormViewPageWindowAdapter > > FmXFormView::m_aPageWindowAdapters
private

Definition at line 158 of file fmvwimp.hxx.

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

bool FmXFormView::m_bFirstActivation
private

Definition at line 168 of file fmvwimp.hxx.

Referenced by hasEverBeenActivated().

bool FmXFormView::m_isTabOrderUpdateSuspended
private

Definition at line 169 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nActivationEvent
private

Definition at line 149 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nAutoFocusEvent
private

Definition at line 151 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nControlWizardEvent
private

Definition at line 152 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nErrorMessageEvent
private

Definition at line 150 of file fmvwimp.hxx.

Referenced by cancelEvents(), and displayAsyncErrorMessage().

FmFormObj* FmXFormView::m_pMarkedGrid
private

Definition at line 147 of file fmvwimp.hxx.

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

Definition at line 166 of file fmvwimp.hxx.

Referenced by startMarkListWatching(), and stopMarkListWatching().

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

Definition at line 145 of file fmvwimp.hxx.

Referenced by breakCreateFormObject(), and onCreatedFormObject().

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

Definition at line 144 of file fmvwimp.hxx.

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


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