1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Accessibility: Make createAccessibilityHandler() private in Component subclasses

This commit is contained in:
ed 2021-09-06 17:29:03 +01:00
parent dd08be6215
commit 90eb878d16
40 changed files with 69 additions and 101 deletions

View file

@ -470,8 +470,6 @@ protected:
void focusLost (FocusChangeType) override;
/** @internal */
void enablementChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -498,6 +496,8 @@ private:
bool triggerOnMouseDown = false;
bool generateTooltip = false;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void repeatTimerCallback();
bool keyStateChangedCallback();
void applicationCommandListChangeCallback();

View file

@ -97,11 +97,10 @@ public:
Rectangle<float> getDrawableBounds() const override;
/** @internal */
Path getOutlineAsPath() const override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
bool setImageInternal (const Image&);
//==============================================================================

View file

@ -98,8 +98,6 @@ public:
Path getOutlineAsPath() const override;
/** @internal */
bool replaceColour (Colour originalColour, Colour replacementColour) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -110,6 +108,7 @@ private:
Colour colour;
Justification justification;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void refreshBounds();
Rectangle<int> getTextArea (float width, float height) const;
AffineTransform getTextTransform (float width, float height) const;

View file

@ -252,8 +252,6 @@ public:
FilePreviewComponent* getPreviewComponent() const noexcept;
/** @internal */
DirectoryContentsDisplayComponent* getDisplayComponent() const noexcept;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
protected:
/** Returns a list of names and paths for the default places the user might want to look.
@ -285,6 +283,7 @@ private:
TimeSliceThread thread;
bool wasProcessActive;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void timerCallback() override;
void sendListenerChangeMessage();
bool isFileOrDirSuitable (const File&) const;

View file

@ -190,11 +190,6 @@ public:
repaint();
}
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return nullptr;
}
private:
//==============================================================================
FileListComponent& owner;
@ -205,6 +200,11 @@ private:
int index = 0;
bool highlighted = false, isDirectory = false;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
void updateIcon (const bool onlyUpdateIfCached)
{
if (icon.isNull())

View file

@ -52,14 +52,13 @@ public:
void paint (Graphics&) override;
/** @internal */
void timerCallback() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
File fileToLoad;
Image currentThumbnail;
String currentDetails;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void getThumbSize (int& w, int& h) const;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ImagePreviewComponent)

View file

@ -179,12 +179,12 @@ public:
(float) getHeight() / (float) jmax (1, image.getHeight())), false);
}
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
private:
Image image;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProxyComponent)

View file

@ -119,11 +119,8 @@ public:
ConcertinaPanel&, Component&) = 0;
};
//==============================================================================
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void resized() override;
class PanelHolder;

View file

@ -98,10 +98,10 @@ public:
void enablementChanged() override;
/** @internal */
void colourChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
String text;
Justification justification;

View file

@ -414,8 +414,6 @@ public:
void parentHierarchyChanged() override;
/** @internal */
void setVisible (bool) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -429,6 +427,7 @@ private:
std::unique_ptr<ScrollbarButton> upButton, downButton;
ListenerList<Listener> listeners;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void handleAsyncUpdate() override;
void updateThumbPosition();
void timerCallback() override;

View file

@ -195,8 +195,6 @@ public:
void mouseDrag (const MouseEvent&) override;
/** @internal */
void mouseUp (const MouseEvent&) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -223,6 +221,7 @@ private:
bool shouldShowDismissButton = true;
//==============================================================================
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void lookAndFeelChanged() override;
void componentMovedOrResized (Component&, bool wasMoved, bool wasResized) override;
void changeListenerCallback (ChangeBroadcaster*) override;

View file

@ -334,8 +334,6 @@ public:
void resized() override;
/** @internal */
void lookAndFeelChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
protected:
//==============================================================================
@ -364,6 +362,7 @@ private:
std::unique_ptr<BehindFrontTabComp> behindFrontTab;
std::unique_ptr<Button> extraTabsButton;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void showExtraItemsMenu();
void updateTabPositions (bool animate);

View file

@ -197,8 +197,6 @@ public:
void resized() override;
/** @internal */
void lookAndFeelChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
protected:
//==============================================================================
@ -219,6 +217,7 @@ private:
int tabDepth = 30, outlineThickness = 1, edgeIndent = 0;
struct ButtonBar;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void changeCallback (int newCurrentTabIndex, const String& newTabName);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TabbedComponent)

View file

@ -71,8 +71,6 @@ public:
/** @internal */
void lookAndFeelChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -83,6 +81,7 @@ private:
PopupMenu::Item item;
};
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void refresh();
void paint (Graphics&) override;
int getNumRows() override;

View file

@ -38,6 +38,7 @@ public:
const String& getName() const noexcept { return name; }
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
class ComponentHandler : public AccessibilityHandler
@ -70,7 +71,6 @@ public:
return std::make_unique<ComponentHandler> (*this);
}
private:
MenuBarComponent& owner;
const String name;
};

View file

@ -95,14 +95,13 @@ public:
void menuBarItemsChanged (MenuBarModel*) override;
/** @internal */
void menuCommandInvoked (MenuBarModel*, const ApplicationCommandTarget::InvocationInfo&) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
class AccessibleItemComponent;
//==============================================================================
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void timerCallback() override;
int getItemAt (Point<int>);

View file

@ -164,11 +164,6 @@ struct ItemComponent : public Component
}
}
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return item.isSeparator ? nullptr : std::make_unique<ItemAccessibilityHandler> (*this);
}
PopupMenu::Item item;
private:
@ -252,6 +247,11 @@ private:
ItemComponent& itemComponent;
};
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return item.isSeparator ? nullptr : std::make_unique<ItemAccessibilityHandler> (*this);
}
//==============================================================================
MenuWindow& parentWindow;
const PopupMenu::Options& options;

View file

@ -55,11 +55,8 @@ public:
static std::unique_ptr<Drawable> getSplashScreenLogo();
//==============================================================================
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void paint (Graphics&) override;
void timerCallback() override;
void parentSizeChanged() override;

View file

@ -419,8 +419,6 @@ public:
void valueChanged (Value&) override;
/** @internal */
void parentHierarchyChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
// These methods' bool parameters have changed: see their new method signatures.
JUCE_DEPRECATED (void clear (bool));
@ -447,6 +445,7 @@ private:
String textWhenNothingSelected, noChoicesMessage;
EditableState labelEditableState = editableUnknown;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
PopupMenu::Item* getItemForId (int) const noexcept;
PopupMenu::Item* getItemForIndex (int) const noexcept;
bool selectIfEnabled (int index);

View file

@ -68,10 +68,10 @@ public:
//==============================================================================
/** @internal */
void paint (Graphics&) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
Image image;
RectanglePlacement placement;

View file

@ -338,8 +338,6 @@ protected:
void valueChanged (Value&) override;
/** @internal */
void callChangeListeners();
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -358,6 +356,7 @@ private:
bool lossOfFocusDiscardsChanges = false;
bool leftOfOwnerComp = false;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
bool updateFromTextEditorContents (TextEditor&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Label)

View file

@ -464,12 +464,12 @@ public:
return Viewport::keyPressed (key);
}
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
private:
void timerCallback() override
{
stopTimer();

View file

@ -571,8 +571,6 @@ public:
/** @internal */
void startDragAndDrop (const MouseEvent&, const SparseSet<int>& rowsToDrag,
const var& dragDescription, bool allowDraggingToOtherWindows);
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -590,9 +588,10 @@ private:
int lastRowSelected = -1;
bool multipleSelection = false, alwaysFlipSelection = false, hasDoneInitialUpdate = false, selectOnMouseDown = true;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
bool hasAccessibleHeaderComponent() const;
void selectRowInternal (int rowNumber, bool dontScrollToShowThisRow,
bool deselectOthersFirst, bool isMouseClick);
bool hasAccessibleHeaderComponent() const;
#if JUCE_CATCH_DEPRECATED_CODE_MISUSE
// This method's bool parameter has changed: see the new method signature.

View file

@ -127,8 +127,6 @@ protected:
void visibilityChanged() override;
/** @internal */
void colourChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
double& progress;
@ -137,6 +135,7 @@ private:
String displayedMessage, currentMessage;
uint32 lastCallbackTime;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void timerCallback() override;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProgressBar)

View file

@ -991,14 +991,13 @@ public:
void mouseExit (const MouseEvent&) override;
/** @internal */
void mouseEnter (const MouseEvent&) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
JUCE_PUBLIC_IN_DLL_BUILD (class Pimpl)
std::unique_ptr<Pimpl> pimpl;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void init (SliderStyle, TextEntryBoxPosition);
#if JUCE_CATCH_DEPRECATED_CODE_MISUSE

View file

@ -416,8 +416,6 @@ public:
void mouseUp (const MouseEvent&) override;
/** @internal */
MouseCursor getMouseCursor() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
/** Can be overridden for more control over the pop-up menu behaviour. */
virtual void showColumnChooserMenu (int columnIdClicked);
@ -442,6 +440,7 @@ private:
int columnIdBeingResized = 0, columnIdBeingDragged = 0, initialColumnWidth = 0;
int columnIdUnderMouse = 0, draggingColumnOffset = 0, draggingColumnOriginalIndex = 0, lastDeliberateWidth = 0;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
ColumnInfo* getInfoForId (int columnId) const;
int visibleIndexToTotalIndex (int visibleIndex) const;
void sendColumnsChanged();

View file

@ -332,8 +332,6 @@ public:
void tableColumnDraggingChanged (TableHeaderComponent*, int) override;
/** @internal */
void resized() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -345,6 +343,7 @@ private:
int columnIdNowBeingDragged = 0;
bool autoSizeOptionsShown = true;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void updateColumnComponents() const;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TableListBox)

View file

@ -718,8 +718,6 @@ public:
void setTemporaryUnderlining (const Array<Range<int>>&) override;
/** @internal */
VirtualKeyboardType getKeyboardType() override { return keyboardType; }
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
protected:
//==============================================================================
@ -797,6 +795,7 @@ private:
ListenerList<Listener> listeners;
Array<Range<int>> underlinedSections;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void moveCaret (int newCaretPos);
void moveCaretTo (int newPosition, bool isSelecting);
void recreateCaret();

View file

@ -309,8 +309,6 @@ public:
/** @internal */
static ToolbarItemComponent* createItem (ToolbarItemFactory&, int itemId);
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
/** @internal */
static const char* const toolbarDragDescriptor;
private:
@ -324,6 +322,7 @@ private:
class Spacer;
class CustomisationDialog;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void showMissingItems();
void addItemInternal (ToolbarItemFactory& factory, int itemId, int insertIndex);

View file

@ -187,13 +187,14 @@ public:
void paintButton (Graphics&, bool isMouseOver, bool isMouseDown) override;
/** @internal */
void resized() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
friend class Toolbar;
class ItemDragAndDropOverlayComponent;
friend class ItemDragAndDropOverlayComponent;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
const int itemId;
ToolbarEditingMode mode;
Toolbar::ToolbarItemStyle toolbarStyle;

View file

@ -60,8 +60,6 @@ public:
//==============================================================================
/** @internal */
void resized() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
ToolbarItemFactory& factory;
@ -70,6 +68,7 @@ private:
OwnedArray<ToolbarItemComponent> items;
friend class Toolbar;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void replaceComponent (ToolbarItemComponent&);
void addComponent (int itemId, int index);

View file

@ -67,14 +67,6 @@ public:
}
}
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
if (hasCustomComponent() && customComponent->getAccessibilityHandler() != nullptr)
return nullptr;
return std::make_unique<ItemAccessibilityHandler> (*this);
}
void setMouseIsOverButton (bool isOver) { mouseIsOverButton = isOver; }
TreeViewItem& getRepresentedItem() const noexcept { return item; }
@ -224,7 +216,14 @@ private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ItemAccessibilityHandler)
};
//==============================================================================
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
if (hasCustomComponent() && customComponent->getAccessibilityHandler() != nullptr)
return nullptr;
return std::make_unique<ItemAccessibilityHandler> (*this);
}
bool hasCustomComponent() const noexcept { return customComponent.get() != nullptr; }
TreeViewItem& item;
@ -267,11 +266,6 @@ public:
void mouseMove (const MouseEvent& e) override { mouseMoveInternal (e.getEventRelativeTo (this)); }
void mouseExit (const MouseEvent& e) override { mouseExitInternal (e.getEventRelativeTo (this)); }
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
//==============================================================================
ItemComponent* getItemComponentAt (Point<int> p)
{
@ -359,6 +353,11 @@ public:
private:
//==============================================================================
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
void mouseDownInternal (const MouseEvent& e)
{
updateItemUnderMouse (e);
@ -674,12 +673,12 @@ public:
return Viewport::keyPressed (key);
}
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
private:
void timerCallback() override
{
stopTimer();

View file

@ -914,8 +914,6 @@ public:
void itemDragExit (const SourceDetails&) override;
/** @internal */
void itemDropped (const SourceDetails&) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
friend class TreeViewItem;
@ -928,6 +926,7 @@ private:
class TreeAccessibilityHandler;
struct InsertPoint;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void itemsChanged() noexcept;
void updateVisibleItems();
void updateButtonUnderMouse (const MouseEvent&);

View file

@ -500,8 +500,6 @@ protected:
int getDesktopWindowStyleFlags() const override;
/** @internal */
float getDesktopScaleFactor() const override { return desktopScale; }
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -524,6 +522,7 @@ private:
bool escapeKeyCancels = true;
float desktopScale = 1.0f;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void exitAlert (Button* button);
void updateLayout (bool onlyIncreaseSize);

View file

@ -164,8 +164,6 @@ public:
int getBorderSize() const noexcept;
/** @internal */
void lookAndFeelChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -179,6 +177,7 @@ private:
Time creationTime;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void refreshPath();
void timerCallback() override;

View file

@ -263,10 +263,10 @@ protected:
bool keyPressed (const KeyPress&) override;
/** @internal */
float getDesktopScaleFactor() const override { return desktopScale; }
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
float desktopScale = 1.0f;
bool escapeKeyTriggersCloseButton;

View file

@ -131,8 +131,6 @@ public:
//==============================================================================
/** @internal */
float getDesktopScaleFactor() const override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -144,6 +142,7 @@ private:
unsigned int lastCompChangeTime = 0, lastHideTime = 0;
bool reentrant = false;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void paint (Graphics&) override;
void mouseEnter (const MouseEvent&) override;
void timerCallback() override;

View file

@ -130,8 +130,6 @@ public:
//==============================================================================
/** @internal */
void addToDesktop (int windowStyleFlags, void* nativeWindowToAttachTo = nullptr) override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
protected:
//==============================================================================
@ -159,6 +157,7 @@ private:
bool useDropShadow = true, useNativeTitleBar = false, isCurrentlyActive = false;
std::unique_ptr<DropShadower> shadower;
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void setWindowActive (bool);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TopLevelWindow)

View file

@ -380,8 +380,6 @@ public:
bool perform (const InvocationInfo&) override;
/** @internal */
void lookAndFeelChanged() override;
/** @internal */
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
private:
//==============================================================================
@ -436,6 +434,7 @@ private:
int getGutterSize() const noexcept;
//==============================================================================
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
void insertText (const String&);
virtual void updateCaretPosition();
void updateScrollBars();

View file

@ -262,12 +262,12 @@ public:
}
}
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return nullptr;
return createIgnoredAccessibilityHandler (*this);
}
private:
KeyMappingEditorComponent& owner;
OwnedArray<ChangeKeyButton> keyChangeButtons;
const CommandID commandID;