<p>Thisclassimplementsthreekindsoflisteners: <ol><li>Thepropertychangelistenerisnotuseddirectlybutexistsas convenienceforderivedclasses.Maybemovedtothoseclasses instead.</li> <li>Aswindowlisteneritwaitsforchangesofthewindowgeometryand forwardsthoseasviewforwarderchanges.</li> <li>Asfocuslisteneritkeepstrackofthefocustogivethisclassand derivedclassestheopportunitytosetandremovethefocusto/from shapes.</li> </ol> </p>
*/ class AccessibleDocumentViewBase
: public AccessibleContextBase, public AccessibleSelectionBase, public IAccessibleViewForwarderListener, public css::beans::XPropertyChangeListener, public css::awt::XWindowListener, public css::awt::XFocusListener, public css::accessibility::XAccessibleExtendedAttributes
{ public: //===== internal ========================================================
/** Create a new object. Note that the caller has to call the Initmethoddirectlyafterthisconstructorhasfinished. @parampSdWindow Thewindowwhosecontentistobemadeaccessible. @parampViewShell Theviewshellassociatedwiththegivenwindow. @paramrxController Thecontrollerfromwhichtogetthemodel. @paramrxParent Theaccessibleparentofthenewobject.Notethatthisparentdoes notnecessarilycorrespondwiththeparentofthegivenwindow.
*/
AccessibleDocumentViewBase (
::sd::Window* pSdWindow,
::sd::ViewShell* pViewShell,
css::uno::Reference<css::frame::XController> xController, const css::uno::Reference<css::accessibility::XAccessible>& rxParent);
virtual ~AccessibleDocumentViewBase() override;
/** Initialize a new object. Call this method directly after creating a newobject.Itfinishedtheinitializationbegunintheconstructor butwhichneedsafullycreatedobject.
*/ virtualvoid Init();
/** Define callback for listening to window child events of VCL. ListenforcreationordestructionofOLEobjects.
*/
DECL_LINK( WindowChildEventListener, VclWindowEvent&, void );
/** A view forwarder change is signalled for instance when any of the windoweventsisreceived.Thus,insteadofoverridingthefour windowResized...methodsitwillbesufficientinmostcasesjustto overridethismethod.
*/ virtualvoid ViewForwarderChanged() override;
/** This implementation returns either 1 or 0 depending on whether there isanactiveaccessibleOLEobjectornot.
*/ virtual sal_Int64 SAL_CALL
getAccessibleChildCount() override;
/** This implementation either returns the active accessible OLE object ifitexistsandthegivenindexis0orthrowsanexception.
*/ virtual css::uno::Reference<css::accessibility::XAccessible> SAL_CALL
getAccessibleChild (sal_Int64 nIndex) override;
// return the member maMutex; virtual ::osl::Mutex&
implGetMutex() override;
// return ourself as context in default case virtual css::uno::Reference< css::accessibility::XAccessibleContext >
implGetAccessibleContext() override;
// return sal_False in default case virtualbool
implIsSelected( sal_Int64 nAccessibleChildIndex ) override;
// return nothing in default case virtualvoid
implSelect( sal_Int64 nAccessibleChildIndex, bool bSelect ) override;
protected: /// The API window that is made accessible.
css::uno::Reference< css::awt::XWindow>
mxWindow;
/// The controller of the window in which this view is displayed.
css::uno::Reference< css::frame::XController>
mxController;
/// Model of the document.
css::uno::Reference < css::frame::XModel>
mxModel;
// Bundle of information that is passed down the shape tree.
AccessibleShapeTreeInfo maShapeTreeInfo;
/// The view forwarder passed to the children manager.
AccessibleViewForwarder maViewForwarder;
/** Accessible OLE object. Set or removed by the <member>SetAccessibleOLEObject</member>method.
*/
css::uno::Reference< css::accessibility::XAccessible>
mxAccessibleOLEObject;
Link<VclWindowEvent&,void> maWindowLink;
// This method is called from the component helper base class while // disposing. virtualvoid SAL_CALL disposing() override;
/** Create a name string. The current name is not modified and, therefore,noeventsaresent.Thismethodisusuallycalledonce bythe<member>getAccessibleName</member>methodofthebaseclass. @return Anamestring.
*/ virtual OUString
CreateAccessibleName () override;
/** This method is called when (after) the frame containing this documenthasbeenactivated.CanbeusedtosendFOCUSEDstate changesforthecurrentlyselectedelement.
/** This method is called when (before or after?) the frame containing thisdocumenthasbeendeactivated.CanbeusedtosendFOCUSED statechangesforthecurrentlyselectedelement.
/** Set or remove the currently active accessible OLE object. @paramxOLEObject Ifthisisavalidreferencethenachildeventissendthat informsthelistenersofanewchild.Iftherehasalreadybeen anactiveaccessibleOLEobjectthenthisisremovedfirstand appropriateeventsaresent.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.