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
 
FmFormObjm_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 136 of file fmvwimp.hxx.

Constructor & Destructor Documentation

FmXFormView::FmXFormView ( FmFormView _pView)
protected

Definition at line 394 of file fmvwimp.cxx.

FmXFormView::~FmXFormView ( )
overrideprotectedvirtual

Definition at line 443 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 781 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 456 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 520 of file fmvwimp.cxx.

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

Definition at line 514 of file fmvwimp.cxx.

References elementInserted().

PFormViewPageWindowAdapter FmXFormView::findWindow ( const css::uno::Reference< css::awt::XControlContainer > &  _rxCC) const
void SAL_CALL FmXFormView::focusGained ( const css::awt::FocusEvent &  e)
overridevirtual

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

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

void SAL_CALL FmXFormView::formActivated ( const css::lang::EventObject &  rEvent)
overridevirtual
void SAL_CALL FmXFormView::formDeactivated ( const css::lang::EventObject &  rEvent)
overridevirtual
Reference< XFormController > FmXFormView::getFormController ( const css::uno::Reference< css::form::XForm > &  _rxForm,
const OutputDevice _rDevice 
) const

Definition at line 888 of file fmvwimp.cxx.

References m_aPageWindowAdapters, and SAL_WARN.

FmFormShell * FmXFormView::GetFormShell ( ) const
private

Definition at line 776 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 214 of file fmvwimp.hxx.

References m_bFirstActivation.

Referenced by FmXFormShell::viewActivated_Lock().

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 790 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 435 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 557 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 609 of file fmvwimp.cxx.

References findWindow(), m_aNeedTabOrderUpdate, and m_isTabOrderUpdateSuspended.

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

Definition at line 215 of file fmvwimp.hxx.

Referenced by FmXFormShell::viewActivated_Lock().

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

Definition at line 1732 of file fmvwimp.cxx.

References m_pWatchStoredList.

Referenced by FmXFormShell::SetDesignMode_Lock().

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 602 of file fmvwimp.cxx.

References m_isTabOrderUpdateSuspended.

Friends And Related Function Documentation

friend class FmFormShell
friend

Definition at line 142 of file fmvwimp.hxx.

friend class FmFormView
friend

Definition at line 141 of file fmvwimp.hxx.

friend class FmXFormShell
friend

Definition at line 143 of file fmvwimp.hxx.

friend class FormViewPageWindowAdapter
friend

Definition at line 144 of file fmvwimp.hxx.

Referenced by addWindow().

friend class ObjectRemoveListener
friend

Definition at line 145 of file fmvwimp.hxx.

Referenced by startMarkListWatching().

Member Data Documentation

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

Definition at line 159 of file fmvwimp.hxx.

Referenced by displayAsyncErrorMessage().

SdrMarkList FmXFormView::m_aMark
private

Definition at line 167 of file fmvwimp.hxx.

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

MapControlContainerToSetOfForms FmXFormView::m_aNeedTabOrderUpdate
private

Definition at line 164 of file fmvwimp.hxx.

Referenced by elementInserted(), and resumeTabOrderUpdate().

PageWindowAdapterList FmXFormView::m_aPageWindowAdapters
private

Definition at line 162 of file fmvwimp.hxx.

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

bool FmXFormView::m_bFirstActivation
private

Definition at line 171 of file fmvwimp.hxx.

Referenced by hasEverBeenActivated().

bool FmXFormView::m_isTabOrderUpdateSuspended
private

Definition at line 172 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nActivationEvent
private

Definition at line 153 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nAutoFocusEvent
private

Definition at line 155 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nControlWizardEvent
private

Definition at line 156 of file fmvwimp.hxx.

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

ImplSVEvent* FmXFormView::m_nErrorMessageEvent
private

Definition at line 154 of file fmvwimp.hxx.

Referenced by cancelEvents(), and displayAsyncErrorMessage().

FmFormObj* FmXFormView::m_pMarkedGrid
private

Definition at line 151 of file fmvwimp.hxx.

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

Definition at line 169 of file fmvwimp.hxx.

Referenced by startMarkListWatching(), and stopMarkListWatching().

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

Definition at line 149 of file fmvwimp.hxx.

Referenced by breakCreateFormObject(), and onCreatedFormObject().

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

Definition at line 148 of file fmvwimp.hxx.

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


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