6723203528
Also drop the previous comments for the constants that add little value and are partially outdated. See the actual implementation to see how values are mapped to send out actual MSAA events, e.g. the previous comment // CARET_CHANGED --> EVENT_OBJECT_LOCATIONCHANGED was no longer correct by now, since that is by now mapped to `IA2_EVENT_TEXT_CARET_MOVED` in `AccObjectWinManager::NotifyAccEvent`. Change-Id: I38111ccb60c06f73ce53b18a6ca32e13dbd629b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130697 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
99 lines
4.1 KiB
C++
99 lines
4.1 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
enum class UnoMSAAEvent;
|
|
|
|
#include <stdio.h>
|
|
#include "AccEventListener.hxx"
|
|
#include <com/sun/star/accessibility/XAccessibleEventListener.hpp>
|
|
#include <com/sun/star/accessibility/XAccessible.hpp>
|
|
|
|
|
|
/**
|
|
* AccContainerEventListener is inherited from AccEventListener. It handles the events
|
|
* generated by container controls. The accessible roles are: CANVAS, COMBO_BOX, DOCUMENT,
|
|
* EMBEDDED_OBJECT, END_NOTE, FILLER, FOOTNOTE, FOOTER, GRAPHIC, HEADER, LAYERED_PANE,
|
|
* MENU_BAR, POPUP_MENU, OPTION_PANE, PAGE_TAB, PAGE_TAB_LIST, PANEL, SCROLL_PANE, SPLIT_PANE,
|
|
* STATUS_BAR, TABLE_CELL, TEXT_FRAME, TOOL_BAR, VIEW_PORT.
|
|
* It defines the procedure of specific event handling related with containsers and provides
|
|
* the detailed support for some related methods.
|
|
*/
|
|
class AccContainerEventListener: public AccEventListener
|
|
{
|
|
public:
|
|
AccContainerEventListener(css::accessibility::XAccessible* pAcc, AccObjectManagerAgent* Agent);
|
|
virtual ~AccContainerEventListener() override;
|
|
|
|
//AccessibleEventListener
|
|
virtual void SAL_CALL notifyEvent( const css::accessibility::AccessibleEventObject& aEvent ) override;
|
|
|
|
//for child changed event
|
|
virtual void HandleChildChangedEvent(
|
|
css::uno::Any oldValue, css::uno::Any newValue);
|
|
|
|
//for selection changed event
|
|
virtual void HandleSelectionChangedEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
|
|
//for all children changed event
|
|
virtual void HandleAllChildrenChangedEvent();
|
|
|
|
//for text changed event
|
|
virtual void HandleTextChangedEvent(
|
|
css::uno::Any oldValue, css::uno::Any newValue);
|
|
virtual void HandleStateChangedEvent(
|
|
css::uno::Any oldValue, css::uno::Any newValue) override;
|
|
|
|
//for value changed event
|
|
virtual void HandleValueChangedEvent(
|
|
css::uno::Any oldValue, css::uno::Any newValue);
|
|
|
|
//state changed
|
|
virtual void SetComponentState(short state, bool enable) override;
|
|
virtual void FireStatePropertyChange(short state, bool set) override;
|
|
virtual void FireStateFocusedChange(bool enable) override;
|
|
virtual bool IsEditable(css::uno::Reference<css::accessibility::XAccessibleContext> const & xContext);
|
|
|
|
// update all children's state
|
|
void UpdateAllChildrenState( css::accessibility::XAccessible* pXAccessible);
|
|
|
|
bool NotifyChildEvent(UnoMSAAEvent eWinEvent, const css::uno::Any& Value);
|
|
|
|
virtual void HandleSelectionChangedAddEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
virtual void HandleSelectionChangedRemoveEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
virtual void HandleSelectionChangedWithinEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
|
|
virtual void HandlePageChangedEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
|
|
virtual void HandleSectionChangedEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
virtual void HandleColumnChangedEvent(
|
|
const css::uno::Any &oldValue, const css::uno::Any &newValue);
|
|
|
|
//for name changed event
|
|
virtual void HandleNameChangedEvent(css::uno::Any name) override;
|
|
};
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|