office-gobmx/winaccessibility/inc/AccContainerEventListener.hxx
Michael Weghorn 6723203528 wina11y: Convert unomsaaevent.hxx constants to enum class UnoMSAAEvent
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>
2022-02-28 17:42:47 +01:00

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: */