migrating to the latest JUCE version
This commit is contained in:
@ -1,119 +1,119 @@
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2020 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
|
||||
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
|
||||
|
||||
End User License Agreement: www.juce.com/juce-6-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
/** An action that can be performed by an accessible UI element.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
enum class AccessibilityActionType
|
||||
{
|
||||
/** Represents a "press" action.
|
||||
|
||||
This will be called when the user "clicks" the UI element using an
|
||||
accessibility client.
|
||||
*/
|
||||
press,
|
||||
|
||||
/** Represents a "toggle" action.
|
||||
|
||||
This will be called when the user toggles the state of a UI element,
|
||||
for example a toggle button or the selection of a list item.
|
||||
*/
|
||||
toggle,
|
||||
|
||||
/** Indicates that the UI element has received focus.
|
||||
|
||||
This will be called when a UI element receives focus from an accessibility
|
||||
client, or keyboard focus from the application.
|
||||
*/
|
||||
focus,
|
||||
|
||||
/** Represents the user showing a contextual menu for a UI element.
|
||||
|
||||
This will be called for UI elements which expand and collapse to
|
||||
show contextual information or menus, or show a popup.
|
||||
*/
|
||||
showMenu
|
||||
};
|
||||
|
||||
/** A simple wrapper for building a collection of supported accessibility actions
|
||||
and corresponding callbacks for a UI element.
|
||||
|
||||
Pass one of these when constructing an `AccessibilityHandler` to enable users
|
||||
to interact with a UI element via the supported actions.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
class JUCE_API AccessibilityActions
|
||||
{
|
||||
public:
|
||||
/** Constructor.
|
||||
|
||||
Creates a default AccessibilityActions object with no action callbacks.
|
||||
*/
|
||||
AccessibilityActions() = default;
|
||||
|
||||
/** Adds an action.
|
||||
|
||||
When the user performs this action with an accessibility client
|
||||
`actionCallback` will be called.
|
||||
|
||||
Returns a reference to itself so that several calls can be chained.
|
||||
*/
|
||||
AccessibilityActions& addAction (AccessibilityActionType type,
|
||||
std::function<void()> actionCallback)
|
||||
{
|
||||
actionMap[type] = std::move (actionCallback);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/** Returns true if the specified action is supported. */
|
||||
bool contains (AccessibilityActionType type) const
|
||||
{
|
||||
return actionMap.find (type) != actionMap.end();
|
||||
}
|
||||
|
||||
/** If an action has been registered for the provided action type, invokes the
|
||||
action and returns true. Otherwise, returns false.
|
||||
*/
|
||||
bool invoke (AccessibilityActionType type) const
|
||||
{
|
||||
auto iter = actionMap.find (type);
|
||||
|
||||
if (iter == actionMap.end())
|
||||
return false;
|
||||
|
||||
iter->second();
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
std::map<AccessibilityActionType, std::function<void()>> actionMap;
|
||||
};
|
||||
|
||||
} // namespace juce
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
/** An action that can be performed by an accessible UI element.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
enum class AccessibilityActionType
|
||||
{
|
||||
/** Represents a "press" action.
|
||||
|
||||
This will be called when the user "clicks" the UI element using an
|
||||
accessibility client.
|
||||
*/
|
||||
press,
|
||||
|
||||
/** Represents a "toggle" action.
|
||||
|
||||
This will be called when the user toggles the state of a UI element,
|
||||
for example a toggle button or the selection of a list item.
|
||||
*/
|
||||
toggle,
|
||||
|
||||
/** Indicates that the UI element has received focus.
|
||||
|
||||
This will be called when a UI element receives focus from an accessibility
|
||||
client, or keyboard focus from the application.
|
||||
*/
|
||||
focus,
|
||||
|
||||
/** Represents the user showing a contextual menu for a UI element.
|
||||
|
||||
This will be called for UI elements which expand and collapse to
|
||||
show contextual information or menus, or show a popup.
|
||||
*/
|
||||
showMenu
|
||||
};
|
||||
|
||||
/** A simple wrapper for building a collection of supported accessibility actions
|
||||
and corresponding callbacks for a UI element.
|
||||
|
||||
Pass one of these when constructing an `AccessibilityHandler` to enable users
|
||||
to interact with a UI element via the supported actions.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
class JUCE_API AccessibilityActions
|
||||
{
|
||||
public:
|
||||
/** Constructor.
|
||||
|
||||
Creates a default AccessibilityActions object with no action callbacks.
|
||||
*/
|
||||
AccessibilityActions() = default;
|
||||
|
||||
/** Adds an action.
|
||||
|
||||
When the user performs this action with an accessibility client
|
||||
`actionCallback` will be called.
|
||||
|
||||
Returns a reference to itself so that several calls can be chained.
|
||||
*/
|
||||
AccessibilityActions& addAction (AccessibilityActionType type,
|
||||
std::function<void()> actionCallback)
|
||||
{
|
||||
actionMap[type] = std::move (actionCallback);
|
||||
return *this;
|
||||
}
|
||||
|
||||
/** Returns true if the specified action is supported. */
|
||||
bool contains (AccessibilityActionType type) const
|
||||
{
|
||||
return actionMap.find (type) != actionMap.end();
|
||||
}
|
||||
|
||||
/** If an action has been registered for the provided action type, invokes the
|
||||
action and returns true. Otherwise, returns false.
|
||||
*/
|
||||
bool invoke (AccessibilityActionType type) const
|
||||
{
|
||||
auto iter = actionMap.find (type);
|
||||
|
||||
if (iter == actionMap.end())
|
||||
return false;
|
||||
|
||||
iter->second();
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
std::map<AccessibilityActionType, std::function<void()>> actionMap;
|
||||
};
|
||||
|
||||
} // namespace juce
|
||||
|
@ -1,81 +1,81 @@
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2020 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
|
||||
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
|
||||
|
||||
End User License Agreement: www.juce.com/juce-6-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
/** A list of events that can be notified to any subscribed accessibility clients.
|
||||
|
||||
To post a notification, call `AccessibilityHandler::notifyAccessibilityEvent`
|
||||
on the associated handler with the appropriate `AccessibilityEvent` type and
|
||||
listening clients will be notified.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
enum class AccessibilityEvent
|
||||
{
|
||||
/** Indicates that the UI element's value has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityValueInterface`
|
||||
for the UI element that has changed.
|
||||
*/
|
||||
valueChanged,
|
||||
|
||||
/** Indicates that the title of the UI element has changed.
|
||||
|
||||
This should be called on the handler whose title has changed.
|
||||
*/
|
||||
titleChanged,
|
||||
|
||||
/** Indicates that the structure of the UI elements has changed in a
|
||||
significant way.
|
||||
|
||||
This should be called on the top-level handler whose structure has changed.
|
||||
*/
|
||||
structureChanged,
|
||||
|
||||
/** Indicates that the selection of a text element has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityTextInterface`
|
||||
for the text element that has changed.
|
||||
*/
|
||||
textSelectionChanged,
|
||||
|
||||
/** Indicates that the visible text of a text element has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityTextInterface`
|
||||
for the text element that has changed.
|
||||
*/
|
||||
textChanged,
|
||||
|
||||
/** Indicates that the selection of rows in a list or table has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityTableInterface`
|
||||
for the UI element that has changed.
|
||||
*/
|
||||
rowSelectionChanged
|
||||
};
|
||||
|
||||
}
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
/** A list of events that can be notified to any subscribed accessibility clients.
|
||||
|
||||
To post a notification, call `AccessibilityHandler::notifyAccessibilityEvent`
|
||||
on the associated handler with the appropriate `AccessibilityEvent` type and
|
||||
listening clients will be notified.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
enum class AccessibilityEvent
|
||||
{
|
||||
/** Indicates that the UI element's value has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityValueInterface`
|
||||
for the UI element that has changed.
|
||||
*/
|
||||
valueChanged,
|
||||
|
||||
/** Indicates that the title of the UI element has changed.
|
||||
|
||||
This should be called on the handler whose title has changed.
|
||||
*/
|
||||
titleChanged,
|
||||
|
||||
/** Indicates that the structure of the UI elements has changed in a
|
||||
significant way.
|
||||
|
||||
This should be called on the top-level handler whose structure has changed.
|
||||
*/
|
||||
structureChanged,
|
||||
|
||||
/** Indicates that the selection of a text element has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityTextInterface`
|
||||
for the text element that has changed.
|
||||
*/
|
||||
textSelectionChanged,
|
||||
|
||||
/** Indicates that the visible text of a text element has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityTextInterface`
|
||||
for the text element that has changed.
|
||||
*/
|
||||
textChanged,
|
||||
|
||||
/** Indicates that the selection of rows in a list or table has changed.
|
||||
|
||||
This should be called on the handler that implements `AccessibilityTableInterface`
|
||||
for the UI element that has changed.
|
||||
*/
|
||||
rowSelectionChanged
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,71 +1,71 @@
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2020 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
|
||||
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
|
||||
|
||||
End User License Agreement: www.juce.com/juce-6-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
/** The list of available roles for an AccessibilityHandler object.
|
||||
|
||||
When creating a custom AccessibilityHandler you should select the role that
|
||||
best describes the UI element being represented.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
enum class AccessibilityRole
|
||||
{
|
||||
button,
|
||||
toggleButton,
|
||||
radioButton,
|
||||
comboBox,
|
||||
image,
|
||||
slider,
|
||||
label,
|
||||
staticText,
|
||||
editableText,
|
||||
menuItem,
|
||||
menuBar,
|
||||
popupMenu,
|
||||
table,
|
||||
tableHeader,
|
||||
column,
|
||||
row,
|
||||
cell,
|
||||
hyperlink,
|
||||
list,
|
||||
listItem,
|
||||
tree,
|
||||
treeItem,
|
||||
progressBar,
|
||||
group,
|
||||
dialogWindow,
|
||||
window,
|
||||
scrollBar,
|
||||
tooltip,
|
||||
splashScreen,
|
||||
ignored,
|
||||
unspecified
|
||||
};
|
||||
|
||||
}
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
/** The list of available roles for an AccessibilityHandler object.
|
||||
|
||||
When creating a custom AccessibilityHandler you should select the role that
|
||||
best describes the UI element being represented.
|
||||
|
||||
@tags{Accessibility}
|
||||
*/
|
||||
enum class AccessibilityRole
|
||||
{
|
||||
button,
|
||||
toggleButton,
|
||||
radioButton,
|
||||
comboBox,
|
||||
image,
|
||||
slider,
|
||||
label,
|
||||
staticText,
|
||||
editableText,
|
||||
menuItem,
|
||||
menuBar,
|
||||
popupMenu,
|
||||
table,
|
||||
tableHeader,
|
||||
column,
|
||||
row,
|
||||
cell,
|
||||
hyperlink,
|
||||
list,
|
||||
listItem,
|
||||
tree,
|
||||
treeItem,
|
||||
progressBar,
|
||||
group,
|
||||
dialogWindow,
|
||||
window,
|
||||
scrollBar,
|
||||
tooltip,
|
||||
splashScreen,
|
||||
ignored,
|
||||
unspecified
|
||||
};
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user